

Stylistic rules made obsolete by the use of an autoformatter, like Ruff supports all rules from the F category,Īnd a subset of the E category, omitting those Regardless of the rule's origin, Ruff re-implements every rule inīy default, Ruff enables Flake8's E and F rules.

Ruff supports over 500 lint rules, many of which are inspired by popular tools like Flake8, See ruff help for more on Ruff's top-level commands, or ruff help check for more on the Ruff check path/to/code/ -select F401 -select F403 -quiet Rule enablement and disablement, file discovery, logging level, and more: Some configuration options can be provided via the command-line, such as those related to # Unlike Flake8, default to a complexity level of 10. line-length = 88 # Allow unused variables when underscore-prefixed. # Exclude a variety of commonly ignored directories.

# Allow autofix for all enabled rules (when `-fix`) is provided. # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. Table of Contentsįor more, see the documentation. It was working till I intentionally introduced some errors. Only one downside so far: it's so fast I couldn't believe It as an actual commit hook, which is terrific. This is an enormous quality of life improvement for local dev. Ruff is ~150-200x faster than flake8 on my machine, scanning the whole repo takes ~0.2s instead of Running ruff against our entire codebase takes. Our largest module (dagster itself, 250k LOC) pylint takes about 2.5 minutes, parallelized across 4Ĭores on my M1. Why is Ruff a gamechanger? Primarily because it is nearly 1000x faster. Ruff is so fast that sometimes I add an intentional bug in the code just to confirm it's actually Ruff is extremely actively developed and used in major open-source projects like: Ruff can be used to replace Flake8 (plus dozens of plugins),Īll while executing tens or hundreds of times faster than any individual tool. Ruff aims to be orders of magnitude faster than alternative tools while integrating moreįunctionality behind a single, common interface.

