Would the maintainers be open to migrating the linting and formatting toolchain from flake8/isort/yapf to Ruff?
The migration scope is well-defined:
- Replace
[tool.flake8], [tool.isort], and [tool.yapf] in pyproject.toml with a single [tool.ruff] section
- Replace the
flake8 + isort pre-commit hooks with a single Ruff hook
- All flake8 plugins currently in use (bugbear, comprehensions, isort, and pyupgrade equivalents via
UP rules) have direct Ruff implementations
- yapf's
column_limit = 99 and other style settings map cleanly to Ruff's formatter config
pyupgrade could either be kept as-is or absorbed into Ruff's UP ruleset — happy to defer to maintainer preference
The net result would be ~7 tools/plugins consolidated into one, faster CI, and a simpler pre-commit config — with no change to the rules enforced.
Happy to submit a PR if this direction is welcome. Just wanted to check alignment first.
Would the maintainers be open to migrating the linting and formatting toolchain from flake8/isort/yapf to Ruff?
The migration scope is well-defined:
[tool.flake8],[tool.isort], and[tool.yapf]inpyproject.tomlwith a single[tool.ruff]sectionflake8+isortpre-commit hooks with a single Ruff hookUPrules) have direct Ruff implementationscolumn_limit = 99and other style settings map cleanly to Ruff's formatter configpyupgradecould either be kept as-is or absorbed into Ruff'sUPruleset — happy to defer to maintainer preferenceThe net result would be ~7 tools/plugins consolidated into one, faster CI, and a simpler pre-commit config — with no change to the rules enforced.
Happy to submit a PR if this direction is welcome. Just wanted to check alignment first.