From 36755f59aac918da656be99e8893f6bc10624c5f Mon Sep 17 00:00:00 2001 From: ludwiglierhammer <73587842+ludwiglierhammer@users.noreply.github.com> Date: Mon, 3 Aug 2026 05:40:19 +0000 Subject: [PATCH 1/3] chore: accept new Cruft update --- .cruft.json | 4 +- .github/labeler.yml.rej | 11 ++ .github/requirements_ci.in.rej | 15 +++ .github/requirements_ci.txt | 7 +- .github/requirements_ci.txt.rej | 169 +++++++++++++++++++++++++ .github/workflows/bump-version.yml.rej | 19 +++ .github/workflows/publish-pypi.yml.rej | 16 +++ .github/workflows/tag-testpypi.yml.rej | 16 +++ AGENTS.md.rej | 70 ++++++++++ AI_POLICY.md | 3 +- AI_POLICY.md.rej | 14 ++ CONTRIBUTING.rst | 8 +- CONTRIBUTING.rst.rej | 13 ++ environment-docs.yml.rej | 10 ++ pyproject.toml.rej | 9 ++ 15 files changed, 372 insertions(+), 12 deletions(-) create mode 100644 .github/labeler.yml.rej create mode 100644 .github/requirements_ci.in.rej create mode 100644 .github/requirements_ci.txt.rej create mode 100644 .github/workflows/bump-version.yml.rej create mode 100644 .github/workflows/publish-pypi.yml.rej create mode 100644 .github/workflows/tag-testpypi.yml.rej create mode 100644 AGENTS.md.rej create mode 100644 AI_POLICY.md.rej create mode 100644 CONTRIBUTING.rst.rej create mode 100644 environment-docs.yml.rej create mode 100644 pyproject.toml.rej diff --git a/.cruft.json b/.cruft.json index 9c53f411..e7c1f92c 100755 --- a/.cruft.json +++ b/.cruft.json @@ -1,6 +1,6 @@ { "template": "https://github.com/Ouranosinc/cookiecutter-pypackage.git", - "commit": "3c1f362148b15e97a7a7d252f39f40d4175dfcb2", + "commit": "ca71222b12478c5123bb4f1d973ccbec53b965eb", "checkout": null, "context": { "cookiecutter": { @@ -35,7 +35,7 @@ ".github/workflows/workflow-warning.yml" ], "_template": "https://github.com/Ouranosinc/cookiecutter-pypackage.git", - "_commit": "3c1f362148b15e97a7a7d252f39f40d4175dfcb2" + "_commit": "ca71222b12478c5123bb4f1d973ccbec53b965eb" } }, "directory": null diff --git a/.github/labeler.yml.rej b/.github/labeler.yml.rej new file mode 100644 index 00000000..cf83f354 --- /dev/null +++ b/.github/labeler.yml.rej @@ -0,0 +1,11 @@ +diff a/.github/labeler.yml b/.github/labeler.yml (rejected hunks) +@@ -19,7 +19,8 @@ + # - '.github/workflows/*' + # - 'docs/Makefile' + # - 'tox.toml' +-# - 'CI/**/*' ++# - '.github/*.in' ++# - '.github/*.txt' + # - 'Makefile' + # label 'docs' all documentation-related steps and files + #'docs': diff --git a/.github/requirements_ci.in.rej b/.github/requirements_ci.in.rej new file mode 100644 index 00000000..87a8110d --- /dev/null +++ b/.github/requirements_ci.in.rej @@ -0,0 +1,15 @@ +diff a/.github/requirements_ci.in b/.github/requirements_ci.in (rejected hunks) +@@ -1,9 +1,9 @@ +-bump-my-version==1.3.0 +-deptry==0.24.0 ++bump-my-version==1.4.1 ++deptry==0.25.1 + exceptiongroup==1.3.1 + flit==3.12.0 + pip==26.1.2 + pydantic==2.12.5 +-pylint==4.0.1 ++pylint==4.0.6 + tox-gh==1.7.1 +-tox==4.52.0 ++tox==4.56.0 diff --git a/.github/requirements_ci.txt b/.github/requirements_ci.txt index b6c938ab..06c58cb9 100644 --- a/.github/requirements_ci.txt +++ b/.github/requirements_ci.txt @@ -31,10 +31,7 @@ cachetools==7.0.4 \ certifi==2024.7.4 \ --hash=sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b \ --hash=sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90 - # via - # httpcore - # httpx - # requests + # via requests charset-normalizer==3.3.2 \ --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \ @@ -184,7 +181,7 @@ filelock==3.25.0 \ flit==3.12.0 \ --hash=sha256:1c80f34dd96992e7758b40423d2809f48f640ca285d0b7821825e50745ec3740 \ --hash=sha256:2b4e7171dc22881fa6adc2dbf083e5ecc72520be3cd7587d2a803da94d6ef431 - # via -r requirements_ci.in + # via -r .github/requirements_ci.in flit-core==3.12.0 \ --hash=sha256:18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2 \ --hash=sha256:e7a0304069ea895172e3c7bb703292e992c5d1555dd1233ab7b5621b5b69e62c diff --git a/.github/requirements_ci.txt.rej b/.github/requirements_ci.txt.rej new file mode 100644 index 00000000..0dc4763f --- /dev/null +++ b/.github/requirements_ci.txt.rej @@ -0,0 +1,169 @@ +diff a/.github/requirements_ci.txt b/.github/requirements_ci.txt (rejected hunks) +@@ -2,7 +2,7 @@ + # This file is autogenerated by pip-compile with Python 3.10 + # by the following command: + # +-# pip-compile --generate-hashes --output-file=.github/requirements_ci.txt CI/requirements_ci.in ++# pip-compile --generate-hashes --output-file=.github/requirements_ci.txt .github/requirements_ci.in + # + annotated-types==0.7.0 \ + --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ +@@ -11,7 +11,7 @@ annotated-types==0.7.0 \ + anyio==4.13.0 \ + --hash=sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708 \ + --hash=sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc +- # via httpx ++ # via httpx2 + astroid==4.0.4 \ + --hash=sha256:52f39653876c7dec3e3afd4c2696920e05c83832b9737afc21928f2d2eb7a753 \ + --hash=sha256:986fed8bcf79fb82c78b18a53352a0b287a73817d6dbcfba3162da36667c49a0 +@@ -20,10 +20,10 @@ bracex==2.6 \ + --hash=sha256:0b0049264e7340b3ec782b5cb99beb325f36c3782a32e36e876452fd49a09952 \ + --hash=sha256:98f1347cd77e22ee8d967a30ad4e310b233f7754dbf31ff3fceb76145ba47dc7 + # via wcmatch +-bump-my-version==1.3.0 \ +- --hash=sha256:3cdaa54588d2443a29303b77e7539417187952c3d22f87bfdd32c0fe6af2f570 \ +- --hash=sha256:5780137a8d93378af3839798fcba01c7e6cb28dcc5aa5a7ab4d8507787f1995c +- # via -r requirements_ci.in ++bump-my-version==1.4.1 \ ++ --hash=sha256:b4ad672b4e8b9f560f36a9ae0aff80088727ce2b3e0f1b7ea00d3f75846b09dd \ ++ --hash=sha256:c434736066cd835adddbfa37dc18dfe522c7cf2d1836bedcb2ca2967d2015fb0 ++ # via -r .github/requirements_ci.in + cachetools==7.0.5 \ + --hash=sha256:0cd042c24377200c1dcd225f8b7b12b0ca53cc2c961b43757e774ebe190fd990 \ + --hash=sha256:46bc8ebefbe485407621d0a4264b23c080cedd913921bad7ac3ed2f26c183114 +@@ -138,24 +135,24 @@ colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via tox +-deptry==0.24.0 \ +- --hash=sha256:00ec34b968a13c03a5268ce0211f891ace31851d916415e0a748fae9596c00d5 \ +- --hash=sha256:03d375db3e56821803aeca665dbb4c2fd935024310350cc18e8d8b6421369d2b \ +- --hash=sha256:0fbe50a2122d79cec53fdfd73a7092c05f316555a1139bcbacf3432572675977 \ +- --hash=sha256:3a047e53b76c36737f8bb392bb326fb66c6af4bedafeaa4ad274c7ed82e91862 \ +- --hash=sha256:4267d74a600ac7fdd05a0d3e219c9386670db0d3bb316ae7b94c9b239d1187cb \ +- --hash=sha256:5152ffa478e62f9aea9df585ce49d758087fd202f6d92012216aa0ecad22c267 \ +- --hash=sha256:68d90735042c169e2a12846ac5af9e20d0ad1a5a7a894a9e4eb0bd8f3c655add \ +- --hash=sha256:6ae96785aaee5540c144306506f1480dcfa4d096094e6bd09dc8c9a9bfda1d46 \ +- --hash=sha256:6ddfedafafe5cbfce31a50d4ea99d7b9074edcd08b9b94350dc739e2fb6ed7f9 \ +- --hash=sha256:841bf35d62e1facc0c244b9430455705249cc93552ed4964d367befe9be6a313 \ +- --hash=sha256:852e88af2087e03cdf9ece6916f3f58b74191ab51cc8074897951bd496ee7dbb \ +- --hash=sha256:92bd8d331a5a6f8e6247436bc6fe384bcf86a8d69fe33442d195996fb9b20547 \ +- --hash=sha256:94b354848130d45e16d3a3039ae8177bce33828f62028c4ff8f2e1b04f7182ba \ +- --hash=sha256:a575880146bab671a62babb9825b85b4f1bda8aeaade4fcb59f9262caf91d6c7 \ +- --hash=sha256:dd22fa2dbbdf4b38061ca9504f2a6ce41ec14fa5c9fe9b0b763ccc1275efebd5 \ +- --hash=sha256:ea58709e5f3aa77c0737d8fb76166b7703201cf368fbbb14072ccda968b6703a +- # via -r requirements_ci.in ++deptry==0.25.1 \ ++ --hash=sha256:03c032c32492fde434736954fbcaff09c02bf207b0f793b77e9040300e34b344 \ ++ --hash=sha256:14bfcc28b4326ed8c6abb30691b19077d4ef8613cfba6c37ef5b1f471775bf6f \ ++ --hash=sha256:18d21b3545ab2bfec53f3f45c6f5f201d55f713323327f8d12674505469ae6b7 \ ++ --hash=sha256:30d64d4df1c08bc69de56cb0b4ec1f4cd9fa2e42582347d5b1eb25fd0e401745 \ ++ --hash=sha256:45c8cd982c85cd4faae573ddff6920de7eec735336db6973f26a765ae7950f7d \ ++ --hash=sha256:555f5f9a487899ec9bf301eecba1745e14d212c4b354f4d3a5fd691e907366d3 \ ++ --hash=sha256:58d39279828dbf4efc1abb40bf50a71b21499c36759bed5a8d8a3c0e3149b091 \ ++ --hash=sha256:6efffd8116fb9d2c45a251382ce4ce1c38dbb17179f581ec9231ed5390f7fc12 \ ++ --hash=sha256:80f31eb5c520651b102568dd91f738222b250a3e44c9e95d4941322109b8d40a \ ++ --hash=sha256:87bcd90f99a98bb059c7580bc315c3f87d97fe2db725530030bc974176834735 \ ++ --hash=sha256:a4dd1148db24a1ddacfa8b840836c6019c2f864fcb7579dd089fd217606338c8 \ ++ --hash=sha256:b59a560cb7dffb21832a98bb80d33d614cfb5630ea36ce21833eabf4eae3df99 \ ++ --hash=sha256:c67c666d916ef12013c0772e40d78be0f21577a495d8d99ec5fcb18c332d393d \ ++ --hash=sha256:df88952a2bab7517ef23cb304b979199b28449e5d9db2e9ba9bc27a286ac852b \ ++ --hash=sha256:e3fa3321078e11cd1ac3f10ce3ff0547731c53f9253b87c757a8749c76fe8fa9 \ ++ --hash=sha256:e6f7b8fa72932e51e86799b10dcd29381b2132dc799c790dca3b28ab08dffb28 ++ # via -r .github/requirements_ci.in + dill==0.3.9 \ + --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a \ + --hash=sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c +@@ -172,7 +169,7 @@ exceptiongroup==1.3.1 \ + --hash=sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219 \ + --hash=sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598 + # via +- # -r requirements_ci.in ++ # -r .github/requirements_ci.in + # anyio + filelock==3.25.2 \ + --hash=sha256:b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694 \ +@@ -192,21 +189,21 @@ flit-core==3.12.0 \ + h11==0.16.0 \ + --hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \ + --hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 +- # via httpcore +-httpcore==1.0.9 \ +- --hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \ +- --hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8 +- # via httpx +-httpx==0.28.1 \ +- --hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \ +- --hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad ++ # via httpcore2 ++httpcore2==2.3.0 \ ++ --hash=sha256:07327e251560960eea8e969d92d4c6a325feb13cca39e25340731336c3baf924 \ ++ --hash=sha256:477e9e334f74e5240dcac002e890580f36a57d40ff0fb14cc9655731d23b8415 ++ # via httpx2 ++httpx2==2.3.0 \ ++ --hash=sha256:227e7c41d95a76d4077a52640564132777215fc3394e07b66a3116c33d668fa9 \ ++ --hash=sha256:6f393663bdf6dbe7fe90118e3eb5b2bd024a675cae0390ac08cec9198812d8b7 + # via bump-my-version + idna==3.15 \ + --hash=sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8 \ + --hash=sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc + # via + # anyio +- # httpx ++ # httpx2 + # requests + isort==6.0.0 \ + --hash=sha256:567954102bb47bb12e0fae62606570faacddd441e45683968c8d1734fb1af892 \ +@@ -252,7 +249,7 @@ pydantic==2.12.5 \ + --hash=sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49 \ + --hash=sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d + # via +- # -r requirements_ci.in ++ # -r .github/requirements_ci.in + # bump-my-version + # pydantic-settings + pydantic-core==2.41.5 \ +@@ -386,10 +383,10 @@ pygments==2.20.0 \ + --hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \ + --hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 + # via rich +-pylint==4.0.1 \ +- --hash=sha256:06db6a1fda3cedbd7aee58f09d241e40e5f14b382fd035ed97be320f11728a84 \ +- --hash=sha256:6077ac21d01b7361eae6ed0f38d9024c02732fdc635d9e154d4fe6063af8ac56 +- # via -r requirements_ci.in ++pylint==4.0.6 \ ++ --hash=sha256:52f19191bee08bf103f9705ad1a0ece4aa5a0a4ef2bdcbd969375a1e6f6579d5 \ ++ --hash=sha256:d11a0e1fdb7b1cd46ec5d6fc78fee8b95f28695b2d6140e5809925f61e32ea54 ++ # via -r .github/requirements_ci.in + pyproject-api==1.10.0 \ + --hash=sha256:40c6f2d82eebdc4afee61c773ed208c04c19db4c4a60d97f8d7be3ebc0bbb330 \ + --hash=sha256:8757c41a79c0f4ab71b99abed52b97ecf66bd20b04fa59da43b5840bac105a09 +@@ -491,16 +488,22 @@ tomlkit==0.13.0 \ + # via + # bump-my-version + # pylint +-tox==4.52.0 \ +- --hash=sha256:6054abf5c8b61d58776fbec991f9bf0d34bb883862beb93d2fe55601ef3977c9 \ +- --hash=sha256:624d8ea4a8c6d5e8d168eedf0e318d736fb22e83ca83137d001ac65ffdec46fd ++tox==4.56.0 \ ++ --hash=sha256:538c472ccd7e7c7f5a5bcbb7f1268579941986d0eeaf7e644fc4a1004076bc05 \ ++ --hash=sha256:9712ed24bae3b9963fe56140db5e3f1a86eed18ddcc35fff11d314038381fd23 + # via +- # -r requirements_ci.in ++ # -r .github/requirements_ci.in + # tox-gh + tox-gh==1.7.1 \ + --hash=sha256:4f4871ee4091b41464f2df9ab1fcedb14a48accdecbb60d53297301a9d8984c6 \ + --hash=sha256:a82285b16a597516f9a24f20326b124ddc7924a8b70cb05a9192e1c53d7f701d +- # via -r requirements_ci.in ++ # via -r .github/requirements_ci.in ++truststore==0.10.4 \ ++ --hash=sha256:9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301 \ ++ --hash=sha256:adaeaecf1cbb5f4de3b1959b42d41f6fab57b2b1666adb59e89cb0b53361d981 ++ # via ++ # httpcore2 ++ # httpx2 + types-setuptools==75.8.0.20250110 \ + --hash=sha256:96f7ec8bbd6e0a54ea180d66ad68ad7a1d7954e7281a710ea2de75e355545271 \ + --hash=sha256:a9f12980bbf9bcdc23ecd80755789085bad6bfce4060c2275bc2b4ca9f2bc480 diff --git a/.github/workflows/bump-version.yml.rej b/.github/workflows/bump-version.yml.rej new file mode 100644 index 00000000..3f4b1a66 --- /dev/null +++ b/.github/workflows/bump-version.yml.rej @@ -0,0 +1,19 @@ +diff a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml (rejected hunks) +@@ -14,15 +14,14 @@ on: + - .cruft.json + - .editorconfig + - .github/**.yml ++ - .github/*.txt ++ - .github/.in + - .gitignore + - .pre-commit-config.yaml + - .yamllint.yaml + - .zenodo.json + - AUTHORS.rst + - CHANGELOG.rst +- - CI/**/*.in +- - CI/**/*.py +- - CI/**/*.txt + - CITATION.cff + - CODE_OF_CONDUCT.md + - CONTRIBUTING.rst diff --git a/.github/workflows/publish-pypi.yml.rej b/.github/workflows/publish-pypi.yml.rej new file mode 100644 index 00000000..a3436c5f --- /dev/null +++ b/.github/workflows/publish-pypi.yml.rej @@ -0,0 +1,16 @@ +diff a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml (rejected hunks) +@@ -24,7 +24,13 @@ jobs: + uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 + with: + disable-sudo: true +- egress-policy: audit ++ egress-policy: block ++ allowed-endpoints: > ++ files.pythonhosted.org:443 ++ github.com:443 ++ pypi.org:443 ++ ruf-repo-cdn.sigstore.dev:443 ++ upload.pypi.org:443 + + - name: Checkout Repository + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/tag-testpypi.yml.rej b/.github/workflows/tag-testpypi.yml.rej new file mode 100644 index 00000000..d38efff1 --- /dev/null +++ b/.github/workflows/tag-testpypi.yml.rej @@ -0,0 +1,16 @@ +diff a/.github/workflows/tag-testpypi.yml b/.github/workflows/tag-testpypi.yml (rejected hunks) +@@ -56,7 +56,13 @@ jobs: + uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 + with: + disable-sudo: true +- egress-policy: audit ++ egress-policy: block ++ allowed-endpoints: > ++ files.pythonhosted.org:443 ++ github.com:443 ++ pypi.org:443 ++ ruf-repo-cdn.sigstore.dev:443 ++ test.pypi.org:443 + + - name: Checkout Repository + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/AGENTS.md.rej b/AGENTS.md.rej new file mode 100644 index 00000000..0fdc528e --- /dev/null +++ b/AGENTS.md.rej @@ -0,0 +1,70 @@ +diff a/AGENTS.md b/AGENTS.md (rejected hunks) +@@ -4,28 +4,55 @@ Rules for AI coding agents working in this repository. + + ## General + +-- Follow existing code conventions and patterns +-- Do not modify files outside the scope of the current task +-- Prefer editing existing files over creating new ones +-- Do not add dependencies without explicit approval +-- Keep changes atomic -- one concern per commit +-- Ask for clarification when requirements are ambiguous +-- Do not generate PR descriptions or review comments on others' code ++- Follow existing code conventions and patterns. ++- Do not modify files outside the scope of the current task. ++- Prefer editing existing files over creating new ones. ++- Do not add dependencies without explicit approval. ++- Keep changes atomic -- one concern per commit. ++- Ask for clarification when requirements are ambiguous. ++- Do not generate PR descriptions or review comments on others' code. ++ ++## Code Style ++ ++- Follow the linting patterns provided via `$ make lint` in the `Makefile` alongside the configurations found in the top-level `pyproject.toml` and `.pre-commit-config.yaml` files. ++- All functions should be typed and new functions must have `numpydoc`-like docstrings. + + ## Setup + +-> Add your project's setup commands here (npm install, go build, make, etc.) ++The package can be installed in developer mode in Python using the `$ make develop` recipe. + + ## Testing + +-Write tests for new functionality. Run the full suite before submitting. ++- Write tests for new functionality. ++- Any `pytest` fixtures common to tests across multiple `test_*.py` files should be found within `conftest.py`. ++- Run the full suite before submitting. ++- Test coverage must not significantly drop between PRs and main. ++ ++## Restricted Paths ++ ++Do not modify: ++ ++- `.*` ++- `LICENSE` ++- `docs` ++- `tox.toml` ++ ++## Changelog ++ ++- Changes must be summarized in one or two sentences within the `CHANGELOG.rst` file. ++- New additions must be placed under the section labelled "(unreleased)". ++- Acceptable category types are all previously used categories found in `CHANGELOG.rst`. ++- Entries must end with the issue number and PR number appended to the end: "(:issue:`#`, :pull:`#`)". + + ## Commits + +-- Use clear, descriptive commit messages +-- One logical change per commit +-- Reference relevant issues when applicable +-- Include `Assisted-by: ` trailer on AI-assisted commits ++- Use clear, descriptive commit messages. ++- One logical change per commit. ++- Do not bundle unrelated changes. ++- Reference relevant issues when applicable. ++- Never push directly to main. ++- Always use a PR branch and get human approval before merging. ++- Include `Assisted-by: ` trailer on AI-assisted commits. + + ## Review + diff --git a/AI_POLICY.md b/AI_POLICY.md index f9cc811e..60b45a25 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -53,7 +53,8 @@ AI-generated contributions must be compatible with this project's license. Contr ## Enforcement -Maintainers may close AI-generated PRs that do not meet these standards without detailed feedback. +- Maintainers may close AI-generated PRs that do not meet these standards at their sole discretion without detailed feedback. +- Repeated low-quality AI submissions may result in the contributor being asked to stop using AI tools. ## Policy Evolution diff --git a/AI_POLICY.md.rej b/AI_POLICY.md.rej new file mode 100644 index 00000000..28c51bbc --- /dev/null +++ b/AI_POLICY.md.rej @@ -0,0 +1,14 @@ +diff a/AI_POLICY.md b/AI_POLICY.md (rejected hunks) +@@ -4,6 +4,12 @@ + + You are responsible for every line of code you submit, regardless of how it was produced. If you use AI tools, review and verify all output before committing. + ++## Pull Requests ++ ++- Pull Requests descriptions must be drafted by a human and adhere to the template selected on creation. ++- Summaries of changes posted by AI are not accepted in Pull Requests. ++- AI-generated responses to reviewer comments are not accepted in Pull Requests. ++ + ## AI Tool Usage + + AI tools are permitted. Standard review process applies to all contributions. diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index e95cd042..2e283309 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -189,15 +189,15 @@ Before you submit a pull request, check that it meets these guidelines: #. If the pull request adds functionality, either update the documentation or create a new notebook that demonstrates the feature. Library-defining features should also be listed in ``README.rst``. -#. The pull request should work for all currently supported Python versions. Check the `pyproject.toml` or `tox.ini` files for the list of supported versions. +#. The pull request should work for all currently supported Python versions. Check the `pyproject.toml` or `tox.toml` files for the list of supported versions. #. If you haven't already, ensure that you have read and agreed to the `Developer Certificate of Origin (DCO) `_, and that you have signed off on your commits using: - .. code-block:: bash +.. code-block:: bash - git commit -s/--signoff + git commit -s/--signoff - This will add a `Signed-off-by:` line to your commit message, which indicates that you agree to the DCO. +This will add a `Signed-off-by:` line to your commit message, which indicates that you agree to the DCO. AI Assistance Notice -------------------- diff --git a/CONTRIBUTING.rst.rej b/CONTRIBUTING.rst.rej new file mode 100644 index 00000000..9478c477 --- /dev/null +++ b/CONTRIBUTING.rst.rej @@ -0,0 +1,13 @@ +diff a/CONTRIBUTING.rst b/CONTRIBUTING.rst (rejected hunks) +@@ -290,9 +290,9 @@ Translations + + If you would like to contribute to the French translation of the documentation, you can do so by running the following command: + +- .. code-block:: console ++.. code-block:: console + +- make initialize-translations ++ make initialize-translations + + This will create or update the French translation files in the `docs/locales/fr/LC_MESSAGES` directory. You can then edit the `.po` files in this directory to provide translations for the documentation. + diff --git a/environment-docs.yml.rej b/environment-docs.yml.rej new file mode 100644 index 00000000..5a3ba800 --- /dev/null +++ b/environment-docs.yml.rej @@ -0,0 +1,10 @@ +diff a/environment-docs.yml b/environment-docs.yml (rejected hunks) +@@ -6,7 +6,7 @@ dependencies: + - python >=3.12,<3.13 + # Docs + - click >=8.3.1 +- - sphinx >=8.2 ++ - sphinx >=8.2.0 + - sphinx-autobuild >=2024.4.16 + - sphinx-click + - sphinx-codeautolink >=0.16.2 diff --git a/pyproject.toml.rej b/pyproject.toml.rej new file mode 100644 index 00000000..8ff705f2 --- /dev/null +++ b/pyproject.toml.rej @@ -0,0 +1,9 @@ +diff a/pyproject.toml b/pyproject.toml (rejected hunks) +@@ -216,7 +216,6 @@ exclude = [ + ".readthedocs.yml", + ".yamllint.yaml", + ".zizmor.yml", +- "CI/requirements_ci.*", + "docs/_*", + "docs/apidoc/modules.rst", + "docs/apidoc/cdm_reader_mapper*.rst" From a6b92a820ceffdb0dd08786c3faea9ba99bed309 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 05:40:47 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/publish-pypi.yml.rej | 2 +- .github/workflows/tag-testpypi.yml.rej | 2 +- AGENTS.md.rej | 20 ++++++++++---------- AI_POLICY.md.rej | 6 +++--- CONTRIBUTING.rst.rej | 10 +++++----- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/publish-pypi.yml.rej b/.github/workflows/publish-pypi.yml.rej index a3436c5f..e6f42445 100644 --- a/.github/workflows/publish-pypi.yml.rej +++ b/.github/workflows/publish-pypi.yml.rej @@ -11,6 +11,6 @@ diff a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml ( + pypi.org:443 + ruf-repo-cdn.sigstore.dev:443 + upload.pypi.org:443 - + - name: Checkout Repository uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/tag-testpypi.yml.rej b/.github/workflows/tag-testpypi.yml.rej index d38efff1..5b0139e9 100644 --- a/.github/workflows/tag-testpypi.yml.rej +++ b/.github/workflows/tag-testpypi.yml.rej @@ -11,6 +11,6 @@ diff a/.github/workflows/tag-testpypi.yml b/.github/workflows/tag-testpypi.yml ( + pypi.org:443 + ruf-repo-cdn.sigstore.dev:443 + test.pypi.org:443 - + - name: Checkout Repository uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/AGENTS.md.rej b/AGENTS.md.rej index 0fdc528e..f29066cb 100644 --- a/AGENTS.md.rej +++ b/AGENTS.md.rej @@ -1,8 +1,8 @@ diff a/AGENTS.md b/AGENTS.md (rejected hunks) @@ -4,28 +4,55 @@ Rules for AI coding agents working in this repository. - + ## General - + -- Follow existing code conventions and patterns -- Do not modify files outside the scope of the current task -- Prefer editing existing files over creating new ones @@ -22,14 +22,14 @@ diff a/AGENTS.md b/AGENTS.md (rejected hunks) + +- Follow the linting patterns provided via `$ make lint` in the `Makefile` alongside the configurations found in the top-level `pyproject.toml` and `.pre-commit-config.yaml` files. +- All functions should be typed and new functions must have `numpydoc`-like docstrings. - + ## Setup - + -> Add your project's setup commands here (npm install, go build, make, etc.) +The package can be installed in developer mode in Python using the `$ make develop` recipe. - + ## Testing - + -Write tests for new functionality. Run the full suite before submitting. +- Write tests for new functionality. +- Any `pytest` fixtures common to tests across multiple `test_*.py` files should be found within `conftest.py`. @@ -51,9 +51,9 @@ diff a/AGENTS.md b/AGENTS.md (rejected hunks) +- New additions must be placed under the section labelled "(unreleased)". +- Acceptable category types are all previously used categories found in `CHANGELOG.rst`. +- Entries must end with the issue number and PR number appended to the end: "(:issue:`#`, :pull:`#`)". - + ## Commits - + -- Use clear, descriptive commit messages -- One logical change per commit -- Reference relevant issues when applicable @@ -65,6 +65,6 @@ diff a/AGENTS.md b/AGENTS.md (rejected hunks) +- Never push directly to main. +- Always use a PR branch and get human approval before merging. +- Include `Assisted-by: ` trailer on AI-assisted commits. - + ## Review - + diff --git a/AI_POLICY.md.rej b/AI_POLICY.md.rej index 28c51bbc..a496eee3 100644 --- a/AI_POLICY.md.rej +++ b/AI_POLICY.md.rej @@ -1,8 +1,8 @@ diff a/AI_POLICY.md b/AI_POLICY.md (rejected hunks) @@ -4,6 +4,12 @@ - + You are responsible for every line of code you submit, regardless of how it was produced. If you use AI tools, review and verify all output before committing. - + +## Pull Requests + +- Pull Requests descriptions must be drafted by a human and adhere to the template selected on creation. @@ -10,5 +10,5 @@ diff a/AI_POLICY.md b/AI_POLICY.md (rejected hunks) +- AI-generated responses to reviewer comments are not accepted in Pull Requests. + ## AI Tool Usage - + AI tools are permitted. Standard review process applies to all contributions. diff --git a/CONTRIBUTING.rst.rej b/CONTRIBUTING.rst.rej index 9478c477..62263af8 100644 --- a/CONTRIBUTING.rst.rej +++ b/CONTRIBUTING.rst.rej @@ -1,13 +1,13 @@ diff a/CONTRIBUTING.rst b/CONTRIBUTING.rst (rejected hunks) @@ -290,9 +290,9 @@ Translations - + If you would like to contribute to the French translation of the documentation, you can do so by running the following command: - + - .. code-block:: console +.. code-block:: console - + - make initialize-translations + make initialize-translations - + This will create or update the French translation files in the `docs/locales/fr/LC_MESSAGES` directory. You can then edit the `.po` files in this directory to provide translations for the documentation. - + From 1dbbc1eefb525833531c2e8460d5694782a19fcb Mon Sep 17 00:00:00 2001 From: Ludwig Lierhammer Date: Mon, 3 Aug 2026 10:10:47 +0200 Subject: [PATCH 3/3] resolve rejected files --- .github/labeler.yml | 3 +- .github/labeler.yml.rej | 11 -- .github/requirements_ci.in.rej | 15 --- .github/requirements_ci.txt | 16 +-- .github/requirements_ci.txt.rej | 169 ------------------------- .github/workflows/bump-version.yml | 1 - .github/workflows/bump-version.yml.rej | 19 --- .github/workflows/publish-pypi.yml.rej | 16 --- .github/workflows/tag-testpypi.yml.rej | 16 --- AGENTS.md | 31 ++--- AGENTS.md.rej | 70 ---------- AI_POLICY.md | 5 +- AI_POLICY.md.rej | 14 -- CONTRIBUTING.rst.rej | 13 -- environment-docs.yml.rej | 10 -- pyproject.toml.rej | 9 -- 16 files changed, 29 insertions(+), 389 deletions(-) delete mode 100644 .github/labeler.yml.rej delete mode 100644 .github/requirements_ci.in.rej delete mode 100644 .github/requirements_ci.txt.rej delete mode 100644 .github/workflows/bump-version.yml.rej delete mode 100644 .github/workflows/publish-pypi.yml.rej delete mode 100644 .github/workflows/tag-testpypi.yml.rej delete mode 100644 AGENTS.md.rej delete mode 100644 AI_POLICY.md.rej delete mode 100644 CONTRIBUTING.rst.rej delete mode 100644 environment-docs.yml.rej delete mode 100644 pyproject.toml.rej diff --git a/.github/labeler.yml b/.github/labeler.yml index b1d529ce..f7f018ed 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -19,7 +19,8 @@ - '.github/workflows/*' - 'docs/Makefile' - 'tox.toml' - - 'CI/**/*' + - '.github/*.in' + - '.github/*.txt' - 'Makefile' 'docs': diff --git a/.github/labeler.yml.rej b/.github/labeler.yml.rej deleted file mode 100644 index cf83f354..00000000 --- a/.github/labeler.yml.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/.github/labeler.yml b/.github/labeler.yml (rejected hunks) -@@ -19,7 +19,8 @@ - # - '.github/workflows/*' - # - 'docs/Makefile' - # - 'tox.toml' --# - 'CI/**/*' -+# - '.github/*.in' -+# - '.github/*.txt' - # - 'Makefile' - # label 'docs' all documentation-related steps and files - #'docs': diff --git a/.github/requirements_ci.in.rej b/.github/requirements_ci.in.rej deleted file mode 100644 index 87a8110d..00000000 --- a/.github/requirements_ci.in.rej +++ /dev/null @@ -1,15 +0,0 @@ -diff a/.github/requirements_ci.in b/.github/requirements_ci.in (rejected hunks) -@@ -1,9 +1,9 @@ --bump-my-version==1.3.0 --deptry==0.24.0 -+bump-my-version==1.4.1 -+deptry==0.25.1 - exceptiongroup==1.3.1 - flit==3.12.0 - pip==26.1.2 - pydantic==2.12.5 --pylint==4.0.1 -+pylint==4.0.6 - tox-gh==1.7.1 --tox==4.52.0 -+tox==4.56.0 diff --git a/.github/requirements_ci.txt b/.github/requirements_ci.txt index 06c58cb9..dc91b689 100644 --- a/.github/requirements_ci.txt +++ b/.github/requirements_ci.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --generate-hashes --output-file=CI/requirements_ci.txt CI/requirements_ci.in +# pip-compile --generate-hashes --output-file=.github/requirements_ci.txt .github/requirements_ci.in # annotated-types==0.7.0 \ --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ @@ -23,7 +23,7 @@ bracex==2.4 \ bump-my-version==1.4.1 \ --hash=sha256:b4ad672b4e8b9f560f36a9ae0aff80088727ce2b3e0f1b7ea00d3f75846b09dd \ --hash=sha256:c434736066cd835adddbfa37dc18dfe522c7cf2d1836bedcb2ca2967d2015fb0 - # via -r requirements_ci.in + # via -r .github/requirements_ci.in cachetools==7.0.4 \ --hash=sha256:0c8bb1b9ec8194fa4d764accfde602dfe52f70d0f311e62792d4c3f8c051b1e9 \ --hash=sha256:7042c0e4eea87812f04744ce6ee9ed3de457875eb1f82d8a206c46d6e48b6734 @@ -152,7 +152,7 @@ deptry==0.25.1 \ --hash=sha256:df88952a2bab7517ef23cb304b979199b28449e5d9db2e9ba9bc27a286ac852b \ --hash=sha256:e3fa3321078e11cd1ac3f10ce3ff0547731c53f9253b87c757a8749c76fe8fa9 \ --hash=sha256:e6f7b8fa72932e51e86799b10dcd29381b2132dc799c790dca3b28ab08dffb28 - # via -r requirements_ci.in + # via -r .github/requirements_ci.in dill==0.3.8 \ --hash=sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca \ --hash=sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7 @@ -169,7 +169,7 @@ exceptiongroup==1.3.1 \ --hash=sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219 \ --hash=sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598 # via - # -r requirements_ci.in + # -r .github/requirements_ci.in # anyio filelock==3.25.0 \ --hash=sha256:5ccf8069f7948f494968fc0713c10e5c182a9c9d9eef3a636307a20c2490f047 \ @@ -253,7 +253,7 @@ pydantic==2.13.4 \ --hash=sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba \ --hash=sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6 # via - # -r requirements_ci.in + # -r .github/requirements_ci.in # bump-my-version # pydantic-settings pydantic-core==2.46.4 \ @@ -509,7 +509,7 @@ pygments==2.20.0 \ pylint==4.0.6 \ --hash=sha256:52f19191bee08bf103f9705ad1a0ece4aa5a0a4ef2bdcbd969375a1e6f6579d5 \ --hash=sha256:d11a0e1fdb7b1cd46ec5d6fc78fee8b95f28695b2d6140e5809925f61e32ea54 - # via -r requirements_ci.in + # via -r .github/requirements_ci.in pyproject-api==1.10.0 \ --hash=sha256:40c6f2d82eebdc4afee61c773ed208c04c19db4c4a60d97f8d7be3ebc0bbb330 \ --hash=sha256:8757c41a79c0f4ab71b99abed52b97ecf66bd20b04fa59da43b5840bac105a09 @@ -615,12 +615,12 @@ tox==4.58.0 \ --hash=sha256:ab0b126a04dd56bc18e6d216386db09335247f2289b54cf534deb5c4ae3a8d2e \ --hash=sha256:dcae21f5f015f3a67658e35644cce0d1aa0dedcd06f3927f95d84e1717f6cea5 # via - # -r requirements_ci.in + # -r .github/requirements_ci.in # tox-gh tox-gh==1.8.0 \ --hash=sha256:19c151525e6ed383b2fd23f8f3a35301ee12f3438c19ac7062f81c30958626ad \ --hash=sha256:c29a109dc4c1a51bc472b4989bd7063ac9be07bf0c16a2b0fcbe57f16757e397 - # via -r requirements_ci.in + # via -r .github/requirements_ci.in truststore==0.10.4 \ --hash=sha256:9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301 \ --hash=sha256:9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301 \ diff --git a/.github/requirements_ci.txt.rej b/.github/requirements_ci.txt.rej deleted file mode 100644 index 0dc4763f..00000000 --- a/.github/requirements_ci.txt.rej +++ /dev/null @@ -1,169 +0,0 @@ -diff a/.github/requirements_ci.txt b/.github/requirements_ci.txt (rejected hunks) -@@ -2,7 +2,7 @@ - # This file is autogenerated by pip-compile with Python 3.10 - # by the following command: - # --# pip-compile --generate-hashes --output-file=.github/requirements_ci.txt CI/requirements_ci.in -+# pip-compile --generate-hashes --output-file=.github/requirements_ci.txt .github/requirements_ci.in - # - annotated-types==0.7.0 \ - --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ -@@ -11,7 +11,7 @@ annotated-types==0.7.0 \ - anyio==4.13.0 \ - --hash=sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708 \ - --hash=sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc -- # via httpx -+ # via httpx2 - astroid==4.0.4 \ - --hash=sha256:52f39653876c7dec3e3afd4c2696920e05c83832b9737afc21928f2d2eb7a753 \ - --hash=sha256:986fed8bcf79fb82c78b18a53352a0b287a73817d6dbcfba3162da36667c49a0 -@@ -20,10 +20,10 @@ bracex==2.6 \ - --hash=sha256:0b0049264e7340b3ec782b5cb99beb325f36c3782a32e36e876452fd49a09952 \ - --hash=sha256:98f1347cd77e22ee8d967a30ad4e310b233f7754dbf31ff3fceb76145ba47dc7 - # via wcmatch --bump-my-version==1.3.0 \ -- --hash=sha256:3cdaa54588d2443a29303b77e7539417187952c3d22f87bfdd32c0fe6af2f570 \ -- --hash=sha256:5780137a8d93378af3839798fcba01c7e6cb28dcc5aa5a7ab4d8507787f1995c -- # via -r requirements_ci.in -+bump-my-version==1.4.1 \ -+ --hash=sha256:b4ad672b4e8b9f560f36a9ae0aff80088727ce2b3e0f1b7ea00d3f75846b09dd \ -+ --hash=sha256:c434736066cd835adddbfa37dc18dfe522c7cf2d1836bedcb2ca2967d2015fb0 -+ # via -r .github/requirements_ci.in - cachetools==7.0.5 \ - --hash=sha256:0cd042c24377200c1dcd225f8b7b12b0ca53cc2c961b43757e774ebe190fd990 \ - --hash=sha256:46bc8ebefbe485407621d0a4264b23c080cedd913921bad7ac3ed2f26c183114 -@@ -138,24 +135,24 @@ colorama==0.4.6 \ - --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ - --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 - # via tox --deptry==0.24.0 \ -- --hash=sha256:00ec34b968a13c03a5268ce0211f891ace31851d916415e0a748fae9596c00d5 \ -- --hash=sha256:03d375db3e56821803aeca665dbb4c2fd935024310350cc18e8d8b6421369d2b \ -- --hash=sha256:0fbe50a2122d79cec53fdfd73a7092c05f316555a1139bcbacf3432572675977 \ -- --hash=sha256:3a047e53b76c36737f8bb392bb326fb66c6af4bedafeaa4ad274c7ed82e91862 \ -- --hash=sha256:4267d74a600ac7fdd05a0d3e219c9386670db0d3bb316ae7b94c9b239d1187cb \ -- --hash=sha256:5152ffa478e62f9aea9df585ce49d758087fd202f6d92012216aa0ecad22c267 \ -- --hash=sha256:68d90735042c169e2a12846ac5af9e20d0ad1a5a7a894a9e4eb0bd8f3c655add \ -- --hash=sha256:6ae96785aaee5540c144306506f1480dcfa4d096094e6bd09dc8c9a9bfda1d46 \ -- --hash=sha256:6ddfedafafe5cbfce31a50d4ea99d7b9074edcd08b9b94350dc739e2fb6ed7f9 \ -- --hash=sha256:841bf35d62e1facc0c244b9430455705249cc93552ed4964d367befe9be6a313 \ -- --hash=sha256:852e88af2087e03cdf9ece6916f3f58b74191ab51cc8074897951bd496ee7dbb \ -- --hash=sha256:92bd8d331a5a6f8e6247436bc6fe384bcf86a8d69fe33442d195996fb9b20547 \ -- --hash=sha256:94b354848130d45e16d3a3039ae8177bce33828f62028c4ff8f2e1b04f7182ba \ -- --hash=sha256:a575880146bab671a62babb9825b85b4f1bda8aeaade4fcb59f9262caf91d6c7 \ -- --hash=sha256:dd22fa2dbbdf4b38061ca9504f2a6ce41ec14fa5c9fe9b0b763ccc1275efebd5 \ -- --hash=sha256:ea58709e5f3aa77c0737d8fb76166b7703201cf368fbbb14072ccda968b6703a -- # via -r requirements_ci.in -+deptry==0.25.1 \ -+ --hash=sha256:03c032c32492fde434736954fbcaff09c02bf207b0f793b77e9040300e34b344 \ -+ --hash=sha256:14bfcc28b4326ed8c6abb30691b19077d4ef8613cfba6c37ef5b1f471775bf6f \ -+ --hash=sha256:18d21b3545ab2bfec53f3f45c6f5f201d55f713323327f8d12674505469ae6b7 \ -+ --hash=sha256:30d64d4df1c08bc69de56cb0b4ec1f4cd9fa2e42582347d5b1eb25fd0e401745 \ -+ --hash=sha256:45c8cd982c85cd4faae573ddff6920de7eec735336db6973f26a765ae7950f7d \ -+ --hash=sha256:555f5f9a487899ec9bf301eecba1745e14d212c4b354f4d3a5fd691e907366d3 \ -+ --hash=sha256:58d39279828dbf4efc1abb40bf50a71b21499c36759bed5a8d8a3c0e3149b091 \ -+ --hash=sha256:6efffd8116fb9d2c45a251382ce4ce1c38dbb17179f581ec9231ed5390f7fc12 \ -+ --hash=sha256:80f31eb5c520651b102568dd91f738222b250a3e44c9e95d4941322109b8d40a \ -+ --hash=sha256:87bcd90f99a98bb059c7580bc315c3f87d97fe2db725530030bc974176834735 \ -+ --hash=sha256:a4dd1148db24a1ddacfa8b840836c6019c2f864fcb7579dd089fd217606338c8 \ -+ --hash=sha256:b59a560cb7dffb21832a98bb80d33d614cfb5630ea36ce21833eabf4eae3df99 \ -+ --hash=sha256:c67c666d916ef12013c0772e40d78be0f21577a495d8d99ec5fcb18c332d393d \ -+ --hash=sha256:df88952a2bab7517ef23cb304b979199b28449e5d9db2e9ba9bc27a286ac852b \ -+ --hash=sha256:e3fa3321078e11cd1ac3f10ce3ff0547731c53f9253b87c757a8749c76fe8fa9 \ -+ --hash=sha256:e6f7b8fa72932e51e86799b10dcd29381b2132dc799c790dca3b28ab08dffb28 -+ # via -r .github/requirements_ci.in - dill==0.3.9 \ - --hash=sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a \ - --hash=sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c -@@ -172,7 +169,7 @@ exceptiongroup==1.3.1 \ - --hash=sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219 \ - --hash=sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598 - # via -- # -r requirements_ci.in -+ # -r .github/requirements_ci.in - # anyio - filelock==3.25.2 \ - --hash=sha256:b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694 \ -@@ -192,21 +189,21 @@ flit-core==3.12.0 \ - h11==0.16.0 \ - --hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \ - --hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86 -- # via httpcore --httpcore==1.0.9 \ -- --hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \ -- --hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8 -- # via httpx --httpx==0.28.1 \ -- --hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \ -- --hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad -+ # via httpcore2 -+httpcore2==2.3.0 \ -+ --hash=sha256:07327e251560960eea8e969d92d4c6a325feb13cca39e25340731336c3baf924 \ -+ --hash=sha256:477e9e334f74e5240dcac002e890580f36a57d40ff0fb14cc9655731d23b8415 -+ # via httpx2 -+httpx2==2.3.0 \ -+ --hash=sha256:227e7c41d95a76d4077a52640564132777215fc3394e07b66a3116c33d668fa9 \ -+ --hash=sha256:6f393663bdf6dbe7fe90118e3eb5b2bd024a675cae0390ac08cec9198812d8b7 - # via bump-my-version - idna==3.15 \ - --hash=sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8 \ - --hash=sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc - # via - # anyio -- # httpx -+ # httpx2 - # requests - isort==6.0.0 \ - --hash=sha256:567954102bb47bb12e0fae62606570faacddd441e45683968c8d1734fb1af892 \ -@@ -252,7 +249,7 @@ pydantic==2.12.5 \ - --hash=sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49 \ - --hash=sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d - # via -- # -r requirements_ci.in -+ # -r .github/requirements_ci.in - # bump-my-version - # pydantic-settings - pydantic-core==2.41.5 \ -@@ -386,10 +383,10 @@ pygments==2.20.0 \ - --hash=sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f \ - --hash=sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176 - # via rich --pylint==4.0.1 \ -- --hash=sha256:06db6a1fda3cedbd7aee58f09d241e40e5f14b382fd035ed97be320f11728a84 \ -- --hash=sha256:6077ac21d01b7361eae6ed0f38d9024c02732fdc635d9e154d4fe6063af8ac56 -- # via -r requirements_ci.in -+pylint==4.0.6 \ -+ --hash=sha256:52f19191bee08bf103f9705ad1a0ece4aa5a0a4ef2bdcbd969375a1e6f6579d5 \ -+ --hash=sha256:d11a0e1fdb7b1cd46ec5d6fc78fee8b95f28695b2d6140e5809925f61e32ea54 -+ # via -r .github/requirements_ci.in - pyproject-api==1.10.0 \ - --hash=sha256:40c6f2d82eebdc4afee61c773ed208c04c19db4c4a60d97f8d7be3ebc0bbb330 \ - --hash=sha256:8757c41a79c0f4ab71b99abed52b97ecf66bd20b04fa59da43b5840bac105a09 -@@ -491,16 +488,22 @@ tomlkit==0.13.0 \ - # via - # bump-my-version - # pylint --tox==4.52.0 \ -- --hash=sha256:6054abf5c8b61d58776fbec991f9bf0d34bb883862beb93d2fe55601ef3977c9 \ -- --hash=sha256:624d8ea4a8c6d5e8d168eedf0e318d736fb22e83ca83137d001ac65ffdec46fd -+tox==4.56.0 \ -+ --hash=sha256:538c472ccd7e7c7f5a5bcbb7f1268579941986d0eeaf7e644fc4a1004076bc05 \ -+ --hash=sha256:9712ed24bae3b9963fe56140db5e3f1a86eed18ddcc35fff11d314038381fd23 - # via -- # -r requirements_ci.in -+ # -r .github/requirements_ci.in - # tox-gh - tox-gh==1.7.1 \ - --hash=sha256:4f4871ee4091b41464f2df9ab1fcedb14a48accdecbb60d53297301a9d8984c6 \ - --hash=sha256:a82285b16a597516f9a24f20326b124ddc7924a8b70cb05a9192e1c53d7f701d -- # via -r requirements_ci.in -+ # via -r .github/requirements_ci.in -+truststore==0.10.4 \ -+ --hash=sha256:9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301 \ -+ --hash=sha256:adaeaecf1cbb5f4de3b1959b42d41f6fab57b2b1666adb59e89cb0b53361d981 -+ # via -+ # httpcore2 -+ # httpx2 - types-setuptools==75.8.0.20250110 \ - --hash=sha256:96f7ec8bbd6e0a54ea180d66ad68ad7a1d7954e7281a710ea2de75e355545271 \ - --hash=sha256:a9f12980bbf9bcdc23ecd80755789085bad6bfce4060c2275bc2b4ca9f2bc480 diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml index d43e2a5a..809aebb4 100644 --- a/.github/workflows/bump-version.yml +++ b/.github/workflows/bump-version.yml @@ -34,7 +34,6 @@ on: - tests/**.py - tox.toml - src/cdm_reader_mapper/__init__.py - workflow_dispatch: permissions: contents: read diff --git a/.github/workflows/bump-version.yml.rej b/.github/workflows/bump-version.yml.rej deleted file mode 100644 index 3f4b1a66..00000000 --- a/.github/workflows/bump-version.yml.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml (rejected hunks) -@@ -14,15 +14,14 @@ on: - - .cruft.json - - .editorconfig - - .github/**.yml -+ - .github/*.txt -+ - .github/.in - - .gitignore - - .pre-commit-config.yaml - - .yamllint.yaml - - .zenodo.json - - AUTHORS.rst - - CHANGELOG.rst -- - CI/**/*.in -- - CI/**/*.py -- - CI/**/*.txt - - CITATION.cff - - CODE_OF_CONDUCT.md - - CONTRIBUTING.rst diff --git a/.github/workflows/publish-pypi.yml.rej b/.github/workflows/publish-pypi.yml.rej deleted file mode 100644 index e6f42445..00000000 --- a/.github/workflows/publish-pypi.yml.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml (rejected hunks) -@@ -24,7 +24,13 @@ jobs: - uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 - with: - disable-sudo: true -- egress-policy: audit -+ egress-policy: block -+ allowed-endpoints: > -+ files.pythonhosted.org:443 -+ github.com:443 -+ pypi.org:443 -+ ruf-repo-cdn.sigstore.dev:443 -+ upload.pypi.org:443 - - - name: Checkout Repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/.github/workflows/tag-testpypi.yml.rej b/.github/workflows/tag-testpypi.yml.rej deleted file mode 100644 index 5b0139e9..00000000 --- a/.github/workflows/tag-testpypi.yml.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/.github/workflows/tag-testpypi.yml b/.github/workflows/tag-testpypi.yml (rejected hunks) -@@ -56,7 +56,13 @@ jobs: - uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4 - with: - disable-sudo: true -- egress-policy: audit -+ egress-policy: block -+ allowed-endpoints: > -+ files.pythonhosted.org:443 -+ github.com:443 -+ pypi.org:443 -+ ruf-repo-cdn.sigstore.dev:443 -+ test.pypi.org:443 - - - name: Checkout Repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 diff --git a/AGENTS.md b/AGENTS.md index 7d08de51..a733d0a7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,13 +4,13 @@ Rules for AI coding agents working in this repository. ## General -- Follow existing code conventions and patterns -- Do not modify files outside the scope of the current task -- Prefer editing existing files over creating new ones -- Do not add dependencies without explicit approval -- Keep changes atomic -- one concern per commit -- Ask for clarification when requirements are ambiguous -- Do not generate PR descriptions or review comments on others' code +- Follow existing code conventions and patterns. +- Do not modify files outside the scope of the current task. +- Prefer editing existing files over creating new ones. +- Do not add dependencies without explicit approval. +- Keep changes atomic -- one concern per commit. +- Ask for clarification when requirements are ambiguous. +- Do not generate PR descriptions or review comments on others' code. ## Code Style @@ -33,6 +33,7 @@ The package can be installed in developer mode in Python using the `$ make devel Do not modify: - `.*` +- `LICENSE` - `.github` - `docs` - `tox.toml` @@ -41,18 +42,18 @@ Do not modify: - Changes must be summarized in one or two sentences within the `CHANGELOG.rst` file. - New additions must be placed under the section labelled "(unreleased)". -- Acceptable category types are all previously categories found in `CHANGELOG.rst` +- Acceptable category types are all previously categories found in `CHANGELOG.rst`. - Entries must end with the issue number and PR number appended to the end: "(:issue:`#`, :pull:`#`)". ## Commits -- Use clear, descriptive commit messages -- One logical change per commit -- Do not bundle unrelated changes -- Reference relevant issues when applicable -- Never push directly to main -- Always use a PR branch and get human approval before merging -- Include `Assisted-by: ` trailer on AI-assisted commits +- Use clear, descriptive commit messages. +- One logical change per commit. +- Do not bundle unrelated changes. +- Reference relevant issues when applicable. +- Never push directly to main. +- Always use a PR branch and get human approval before merging. +- Include `Assisted-by: ` trailer on AI-assisted commits. ## Review diff --git a/AGENTS.md.rej b/AGENTS.md.rej deleted file mode 100644 index f29066cb..00000000 --- a/AGENTS.md.rej +++ /dev/null @@ -1,70 +0,0 @@ -diff a/AGENTS.md b/AGENTS.md (rejected hunks) -@@ -4,28 +4,55 @@ Rules for AI coding agents working in this repository. - - ## General - --- Follow existing code conventions and patterns --- Do not modify files outside the scope of the current task --- Prefer editing existing files over creating new ones --- Do not add dependencies without explicit approval --- Keep changes atomic -- one concern per commit --- Ask for clarification when requirements are ambiguous --- Do not generate PR descriptions or review comments on others' code -+- Follow existing code conventions and patterns. -+- Do not modify files outside the scope of the current task. -+- Prefer editing existing files over creating new ones. -+- Do not add dependencies without explicit approval. -+- Keep changes atomic -- one concern per commit. -+- Ask for clarification when requirements are ambiguous. -+- Do not generate PR descriptions or review comments on others' code. -+ -+## Code Style -+ -+- Follow the linting patterns provided via `$ make lint` in the `Makefile` alongside the configurations found in the top-level `pyproject.toml` and `.pre-commit-config.yaml` files. -+- All functions should be typed and new functions must have `numpydoc`-like docstrings. - - ## Setup - --> Add your project's setup commands here (npm install, go build, make, etc.) -+The package can be installed in developer mode in Python using the `$ make develop` recipe. - - ## Testing - --Write tests for new functionality. Run the full suite before submitting. -+- Write tests for new functionality. -+- Any `pytest` fixtures common to tests across multiple `test_*.py` files should be found within `conftest.py`. -+- Run the full suite before submitting. -+- Test coverage must not significantly drop between PRs and main. -+ -+## Restricted Paths -+ -+Do not modify: -+ -+- `.*` -+- `LICENSE` -+- `docs` -+- `tox.toml` -+ -+## Changelog -+ -+- Changes must be summarized in one or two sentences within the `CHANGELOG.rst` file. -+- New additions must be placed under the section labelled "(unreleased)". -+- Acceptable category types are all previously used categories found in `CHANGELOG.rst`. -+- Entries must end with the issue number and PR number appended to the end: "(:issue:`#`, :pull:`#`)". - - ## Commits - --- Use clear, descriptive commit messages --- One logical change per commit --- Reference relevant issues when applicable --- Include `Assisted-by: ` trailer on AI-assisted commits -+- Use clear, descriptive commit messages. -+- One logical change per commit. -+- Do not bundle unrelated changes. -+- Reference relevant issues when applicable. -+- Never push directly to main. -+- Always use a PR branch and get human approval before merging. -+- Include `Assisted-by: ` trailer on AI-assisted commits. - - ## Review - diff --git a/AI_POLICY.md b/AI_POLICY.md index 60b45a25..8ff116f7 100644 --- a/AI_POLICY.md +++ b/AI_POLICY.md @@ -6,8 +6,9 @@ You are responsible for every line of code you submit, regardless of how it was ## Pull Requests -Pull Requests descriptions must be drafted by a human and adhere to the template selected on creation. -Summaries of changes posted by AI are not accepted in Pull Requests. +- Pull Requests descriptions must be drafted by a human and adhere to the template selected on creation. +- Summaries of changes posted by AI are not accepted in Pull Requests. +- AI-generated responses to reviewer comments are not accepted in Pull Requests. ## AI Tool Usage diff --git a/AI_POLICY.md.rej b/AI_POLICY.md.rej deleted file mode 100644 index a496eee3..00000000 --- a/AI_POLICY.md.rej +++ /dev/null @@ -1,14 +0,0 @@ -diff a/AI_POLICY.md b/AI_POLICY.md (rejected hunks) -@@ -4,6 +4,12 @@ - - You are responsible for every line of code you submit, regardless of how it was produced. If you use AI tools, review and verify all output before committing. - -+## Pull Requests -+ -+- Pull Requests descriptions must be drafted by a human and adhere to the template selected on creation. -+- Summaries of changes posted by AI are not accepted in Pull Requests. -+- AI-generated responses to reviewer comments are not accepted in Pull Requests. -+ - ## AI Tool Usage - - AI tools are permitted. Standard review process applies to all contributions. diff --git a/CONTRIBUTING.rst.rej b/CONTRIBUTING.rst.rej deleted file mode 100644 index 62263af8..00000000 --- a/CONTRIBUTING.rst.rej +++ /dev/null @@ -1,13 +0,0 @@ -diff a/CONTRIBUTING.rst b/CONTRIBUTING.rst (rejected hunks) -@@ -290,9 +290,9 @@ Translations - - If you would like to contribute to the French translation of the documentation, you can do so by running the following command: - -- .. code-block:: console -+.. code-block:: console - -- make initialize-translations -+ make initialize-translations - - This will create or update the French translation files in the `docs/locales/fr/LC_MESSAGES` directory. You can then edit the `.po` files in this directory to provide translations for the documentation. - diff --git a/environment-docs.yml.rej b/environment-docs.yml.rej deleted file mode 100644 index 5a3ba800..00000000 --- a/environment-docs.yml.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/environment-docs.yml b/environment-docs.yml (rejected hunks) -@@ -6,7 +6,7 @@ dependencies: - - python >=3.12,<3.13 - # Docs - - click >=8.3.1 -- - sphinx >=8.2 -+ - sphinx >=8.2.0 - - sphinx-autobuild >=2024.4.16 - - sphinx-click - - sphinx-codeautolink >=0.16.2 diff --git a/pyproject.toml.rej b/pyproject.toml.rej deleted file mode 100644 index 8ff705f2..00000000 --- a/pyproject.toml.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/pyproject.toml b/pyproject.toml (rejected hunks) -@@ -216,7 +216,6 @@ exclude = [ - ".readthedocs.yml", - ".yamllint.yaml", - ".zizmor.yml", -- "CI/requirements_ci.*", - "docs/_*", - "docs/apidoc/modules.rst", - "docs/apidoc/cdm_reader_mapper*.rst"