Skip to content

Replace the requirements files with PEP 735 dependency groups - #3421

Merged
Pierre-Sassoulas merged 1 commit into
pylint-dev:mainfrom
Pierre-Sassoulas:dependency-groups
Oct 20, 2026
Merged

Pierre-Sassoulas merged 1 commit into
pylint-dev:mainfrom
Pierre-Sassoulas:dependency-groups

Conversation

@Pierre-Sassoulas

Copy link
Copy Markdown
Member

Type of Changes

Type
✓ 🔨 Refactoring

Description

pip supports --group since 25.1 and dependabot reads [dependency-groups] / include-group, so the four requirements files can move into pyproject.toml, following what pylint does:

  • test-min: what the PyPy job and the coverage job need (was requirements_minimal.txt minus the release tools)
  • test: test-min plus the third-party packages the brain tests import (was requirements_full.txt minus the tools below)
  • lint: black, pre-commit, pylint, ruff (was requirements_dev.txt)
  • dev: contributors-txt, tbump, towncrier, used when releasing
  • docs: sphinx and furo (was doc/requirements.txt)

@Pierre-Sassoulas Pierre-Sassoulas added Maintenance Discussion or action around maintaining astroid or the dev workflow Skip news 🔇 This change does not require a changelog entry labels Oct 20, 2026
@codspeed

codspeed Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 3 untouched benchmarks
⏩ 1 skipped benchmark1


Comparing Pierre-Sassoulas:dependency-groups (44a5086) with main (e6df53e)

Open in CodSpeed

Footnotes

  1. 1 benchmark was skipped, so the baseline result was used instead. If it was deleted from the codebase, click here and archive it to remove it from the performance reports. ↩

@codecov

codecov Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.96%. Comparing base (ee30b02) to head (44a5086).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #3421   +/-   ##
=======================================
  Coverage   90.96%   90.96%           
=======================================
  Files          93       93           
  Lines       11796    11800    +4     
  Branches     1941     1941           
=======================================
+ Hits        10730    10734    +4     
  Misses        747      747           
  Partials      319      319           
Flag Coverage Δ
linux 90.64% <ø> (+<0.01%) ⬆️
pypy 90.96% <ø> (+<0.01%) ⬆️
windows 90.80% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

pip supports ``--group`` since 25.1 and dependabot reads
``[dependency-groups]`` / ``include-group``, so the four requirements
files can move into ``pyproject.toml``, following what pylint does:

- ``test-min``: what the PyPy job and the coverage job need
  (was ``requirements_minimal.txt`` minus the release tools)
- ``test``: ``test-min`` plus the third-party packages the brain tests
  import (was ``requirements_full.txt`` minus the tools below)
- ``lint``: black, pre-commit, pylint, ruff (was ``requirements_dev.txt``)
- ``dev``: contributors-txt, tbump, towncrier, used when releasing
- ``docs``: sphinx and furo (was ``doc/requirements.txt``)

The ``setuptools<82`` pin and its explanation move along unchanged.
@Pierre-Sassoulas
Pierre-Sassoulas merged commit af39fd7 into pylint-dev:main Oct 20, 2026
37 checks passed
@Pierre-Sassoulas
Pierre-Sassoulas deleted the dependency-groups branch October 21, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintenance Discussion or action around maintaining astroid or the dev workflow Skip news 🔇 This change does not require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant