finds.dev← search

// the find

astral-sh/ruff

★ 50,005 · Rust · MIT · updated Oct 2026

An extremely fast Python linter and code formatter, written in Rust.

Ruff is a Python linter and formatter written in Rust that replaces Flake8, Black, isort, pyupgrade, and a dozen plugins with one binary. It's for any Python project, from a solo script to a monorepo at the Airflow/pandas scale, where lint time on save or in CI is actually noticeable.

The single-binary distribution means no virtualenv dependency hell for your lint tooling, which is a real problem Flake8 plugin stacks have. Rule coverage is wide (900+ rules) and most of them are direct Rust reimplementations rather than wrappers, so behavior tracks the original tools closely instead of drifting. Hierarchical pyproject.toml/ruff.toml config resolution handles monorepos without per-package duplication. The `--fix` autofix path covers most of the ruleset, not just a handful of trivial rules.

Some flake8 plugins are reimplemented rather than wrapped, so edge-case parity with the original tool isn't guaranteed — check the FAQ comparison tables before assuming a 1:1 swap for anything non-trivial. The formatter intentionally mimics Black but isn't a drop-in for projects with heavy custom Black config; migration can produce diff noise. It's now commercially backed by Astral (also behind uv and ty), which is good for funding but means roadmap priorities aren't purely community-driven. Preview-mode rules change behavior release to release, so pinning a version matters more here than with slower-moving linters.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →