Summary
The project currently uses pylint (.pylintrc) for linting. Replace it with
ruff, a significantly faster tool that covers linting
and formatting (replacing black/isort) in a single dependency.
Motivation
- Apache Airflow adopted
ruff as its primary Python quality tool ([tool.ruff] in
pyproject.toml)
- Ruff is 10–100× faster than pylint, enabling faster CI and pre-commit hooks
- Covers the same (and broader) rule set as pylint + isort + black in one config block
- Configuration lives in
pyproject.toml alongside other tool config
Proposed changes
- Add
pyproject.toml with [tool.ruff] linting and [tool.ruff.format] sections
- Remove
.pylintrc
- Update
Makefile lint target to invoke ruff check . and ruff format --check .
- Update
tox.ini / CI to use ruff
- Fix any new lint findings surfaced by ruff
References
Summary
The project currently uses
pylint(.pylintrc) for linting. Replace it withruff, a significantly faster tool that covers linting
and formatting (replacing
black/isort) in a single dependency.Motivation
ruffas its primary Python quality tool ([tool.ruff]inpyproject.toml)pyproject.tomlalongside other tool configProposed changes
pyproject.tomlwith[tool.ruff]linting and[tool.ruff.format]sections.pylintrcMakefilelinttarget to invokeruff check .andruff format --check .tox.ini/ CI to use ruffReferences
pyproject.tomlas a reference configuration