Pull Request Overview
This PR implements PEP 735 dependency groups, removes legacy requirement files, and updates CI/docs workflows to use pip’s --group installs.
- Define
tests,docs, andalldependency groups inpyproject.toml - Remove
requirements-*.txtfiles and switch workflows from-rinstalls to--groupflags - Reformat array syntax and lint settings in
pyproject.tomlfor consistency
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file| File | Description |
|---|---|
| requirements-unit-tests.txt | Removed legacy test requirements file |
| requirements-dev-all.txt | Removed legacy dev-all requirements file |
| pyproject.toml | Added [dependency-groups], collapsed arrays, updated optional-dependencies |
| docs/requirements-docs.txt | Removed legacy docs requirements file |
| .readthedocs.yml | Updated RTD install step—now only pip install . |
| .github/workflows/unit_tests.yml | Switched to pip install . --group tests, removed old installs |
| .github/workflows/test_official.yml | Switched to pip install .[all] --group tests |
| .github/workflows/docs-linkcheck.yml | Switched to pip install .[all] --group all |
| .github/workflows/docs-admonitions.yml | Switched to pip install . --group all |
| .github/workflows/chango.yml | Switched to pip install . --group docs |
| .github/CONTRIBUTING.rst | Updated contributor setup to use --group all |
.readthedocs.yml:20
- The ReadTheDocs config no longer installs documentation dependencies. You should add an install argument to include the
docsgroup (e.g.,args: ["--group", "docs"]) so Sphinx requirements are pulled in.
- method: pip
path: .
.github/workflows/unit_tests.yml:41
- [nitpick] The
testsdependency group already includespytest-xdist, so this extra installation is redundant and can be removed.
python -W ignore -m pip install pytest-xdist
.github/workflows/docs-admonitions.yml:34
- With the old requirements files removed, the cache no longer tracks dependency changes. Consider adding
cache-dependency-path: 'pyproject.toml'(or similar) to ensure the cache is invalidated when dependencies are updated.
- cache-dependency-path: '**/requirements*.txt'
Merged
2 tasks