Follow-up to #1873 / #1875.
The lint, typing, and reuse tox environments currently declare their dev dependencies inline in tox.ini. Those inline deps could instead be defined as PEP 735 [dependency-groups] in pyproject.toml and referenced from tox, giving a single source of truth for dev dependencies.
A concrete motivation: flake8 is currently duplicated, declared both in the style dependency group (added in #1875) and in [testenv:lint].
This is a consolidation/tidiness change, not a correctness fix, so it is proposed separately from #1875. The exact grouping is open for discussion (for example, whether pre-commit belongs in the style group or in a group of its own).
Caveat
tox's dependency_groups key requires tox >= 4.22. CI upgrades tox, but contributors with an older local tox would be affected. The docs environment (which uses -rdocs/requirements.txt) does not convert as cleanly and can be left as-is.
Follow-up to #1873 / #1875.
The
lint,typing, andreusetox environments currently declare their dev dependencies inline intox.ini. Those inline deps could instead be defined as PEP 735[dependency-groups]inpyproject.tomland referenced from tox, giving a single source of truth for dev dependencies.A concrete motivation:
flake8is currently duplicated, declared both in thestyledependency group (added in #1875) and in[testenv:lint].This is a consolidation/tidiness change, not a correctness fix, so it is proposed separately from #1875. The exact grouping is open for discussion (for example, whether
pre-commitbelongs in thestylegroup or in a group of its own).Caveat
tox's
dependency_groupskey requires tox >= 4.22. CI upgrades tox, but contributors with an older local tox would be affected. Thedocsenvironment (which uses-rdocs/requirements.txt) does not convert as cleanly and can be left as-is.