-
Notifications
You must be signed in to change notification settings - Fork 6k
Implement PEP 735 Dependency Groups #4800
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Comments suppressed due to low confidence (3)
.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'
Bibo-Joshi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! Really nice seeing that PEP in action!
Closes #4795.
Also ran the standard vscode file formatter on pyproject.toml, so if you're wondering about that change, it's that.
Also works with
uv:uv sync --all-extras --all-groups