Skip to content

Conversation

@pronovic
Copy link
Owner

I've been working with the Ruff toolchain for the last year or so at Enveritas. While I would prefer to have a toolchain that is entirely written in Python for use with Python code, the reality is 1) Ruff is a lot faster and 2) it's got a lot of momentum in the community.

The performance improvements don't make that much of a difference here, but there's a huge speedup for cedar-backup3, to the point where it's now practical again to lint the test suite — it was just too slow to be usable before. All by itself, that's worth the switch. Plus, there are a lot more linting rules available for Ruff. The Pylint rules are a subset of what Ruff offers, and I can pull in everything with one tool rather than integrating other tools alongside Pylint.

This PR includes only the framework changes necessary to migrate to the new linter. The actual fixes are in a follow-on PR. In this PR, every failing rule is explicitly excluded in pyproject.toml, under the label Exclusions of specific rules that we want to work toward being compliant with.

This work was prototyped in apologies PR #71.

@pronovic pronovic mentioned this pull request Aug 25, 2025
@pronovic pronovic merged commit 0fa02d3 into main Aug 25, 2025
16 checks passed
@pronovic pronovic deleted the ruff-linter branch August 25, 2025 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants