astral-sh/ruff

Published on Oct 14, 2026
★ 50.4k Rust MIT

Why Python developers replaced Flake8 and Black with Ruff

Your Python CI pipeline spends five minutes running slow linters.

Chaining multiple legacy Python linters creates severe local and CI latency.

Running Flake8, Black, and isort separately forces Python to reparse your abstract syntax tree multiple times, slowing down every git commit.

github.com/astral-sh/ruff · Blazing-fast Python tooling

Ruff executes 100 times faster by compiling directly to native Rust.

Written from scratch in Rust, Ruff processes abstract syntax trees in parallel, linting hundreds of thousands of lines in fractions of a second.

Execution speed benchmark: CPython codebase linting time

A single unified binary replaces five separate Python development tools.

Instead of maintaining separate dependencies and config files, Ruff consolidates linting, import sorting, and code formatting into one tool.

Consolidation: Drop-in replacement for Flake8 and Black

Automatically autofix hundreds of lint violations in a single command.

With the fix flag, Ruff automatically restructures imports, removes unused variables, and modernizes syntax across your entire project instantly.

Instant code autofix: Zero manual cleanup overhead

Over 35,000 stars on GitHub. Open-source under MIT license.

Adopted by major projects like FastAPI, Hugging Face, and Pandas, Ruff has become the undisputed gold standard for modern Python development.

astral-sh/ruff · MIT license