build: replace Flake8, FlakeHeaven and isort with ruff #2548
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of changes
FlakeHeaven only supports Flake8 versions below 5.x, and flake8 itself is still fairly limited in its configurability.
Ruff implements most of the features of isort, Flake8 and FlakeHeaven. It does not provide a baseline feature like FlakeHeaven, but it does have a feature for adding
# noqa:
directives to the code base, which was used after file specific ignores were configured for some errors.Ruff also has a fix feature which can be used to fix some errors, so this change also adds Ruff to the pre-commit config so that it can be triggered with
pre-commit.ci autofix
.Checklist
the same change.
so maintainers can fix minor issues and keep your PR up to date.