Migrate requirements files to PEP 735 dependency groups#388
Migrate requirements files to PEP 735 dependency groups#388tpvasconcelos wants to merge 6 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
|
@copilot resolve the merge conflicts in this pull request |
# Conflicts: # requirements/tests.txt
Merge conflicts resolved in 51a14bd. The only true conflict was |
# Conflicts: # docs/reference/changelog.md
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #388 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 19 19
Lines 674 674
Branches 88 88
=========================================
Hits 674 674
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
Move all development dependencies from
requirements/*.txtfiles into PEP 735[dependency-groups]inpyproject.toml, makingpyproject.tomlthe single source of truth for project metadata and dev dependencies. This is the "Manage the Python project" item from #219.Changes:
pyproject.toml: new[dependency-groups]table withcicd_utils,tests,docs,typing, andlocal-devgroups. The-r foo.txtincludes from the old requirements files are expressed with{ include-group = "..." }, and all comments (incl. the kaleido pin TODO) are preserved.tox.ini: environments now use tox's nativedependency_groupssetting instead ofdeps = -r requirements/*.txt(hencerequires = tox>=4.22+tox-uv>=1.17). In the base[testenv]section, thetestsgroup is scoped with factor conditionals (pytest,tests,coverage: tests) so thatbuild-distsandpre-commit-*don't inherit test dependencies (verified locally:.tox/build-distsdoes not contain pytest).Makefile:make installnow runsuv pip install --editable . --group local-dev(the editable install used to live insidelocal-dev.txt)..readthedocs.yaml: uses Read the Docs' native uv support (added April 2026):method: uv, command: sync, groups: [docs]replaces the two pip-based install steps. The RTD build for this PR should validate this.MANIFEST.in: dropped therequirements/include;requirements/*.txtfiles deleted.Notes:
uv.lockfor reproducible dev/CI environments is a possible follow-up, tracked in Investigate full adoption ofuv#219.dependabotpip ecosystem config keeps working againstpyproject.toml(there was nothing version-pinned in the requirements files for it to bump anyway).uv pip install --dry-run -e . --group local-devresolves;tox -e pytestruns green;tox --notest -e typing,release-notes,docs-static,build-distsall build their envs with exactly the expected dependencies; all pre-commit hooks pass (incl.validate-pyproject,check-readthedocs, andcheck-manifest).Related issues
Related to #219.
PR check list
make initworkflow is unchanged)docs/reference/changelog.md.📚 Documentation preview 📚: https://ridgeplot--388.org.readthedocs.build/en/388/