Tools/astral-sh/ruff

Ruff

Extremely fast Python linter and formatter, written in Rust

50.5k ★+140/wkestablishedRustMIT License →new release 0.17.4

The Lens

By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.

Updated Oct 2026

Ruff replaces flake8, Black, isort, pyupgrade and autoflake with one Rust binary that lints and formats Python so fast you stop noticing it ran. A linter flags bugs and sloppy code before review; a formatter rewrites everything into one style. MIT licensed, no paid tier, no account.

Nothing to host: install with pip or uv, add one block to pyproject.toml, add one CI step. The work is upgrades. Version 0.16 in July grew the default rule set from 59 rules to 413, and 0.17 in October trimmed it and moved the default target to Python 3.11. It overlaps much of Pylint but isn't a drop-in replacement.

Solo and small teams: free, install it and delete the old tools. Medium and large teams: still free, but pin the version and budget an afternoon per minor release. Biome and Oxlint do this job for JavaScript.

The catch: no plugin system, so custom flake8 plugins have nowhere to go. And Astral now belongs to OpenAI, a deal announced in March 2026. The paid pyx registry is winding down while Ruff releases still land almost weekly. MIT keeps a fork on the table.

Free vs Self-Hosted vs Paid

fully free

Free: Everything. MIT licensed, no paid tier, no account, no gated rules. Ruff stands in for Flake8 (plus dozens of plugins), Black, isort, pydocstyle, pyupgrade and autoflake, all of which were free too, so the savings are CI minutes and one config file instead of five, not license fees.

Self-hosted: Nothing to host. A single binary from pip, uv, conda-forge or the standalone installer, and since 0.17 the macOS and Windows executables are code-signed. It runs inside your existing CI job. The cost is upgrade time: 0.16 (2026-07-23) expanded the default rule set from 59 to 413 rules, and 0.17 (2026-10-09) changed defaults again, including a Python 3.11 default target and removal of the legacy ruff-lsp server.

Paid: None. No Ruff cloud, Pro tier or seat license. Astral's only commercial product was pyx, a hosted Python package registry; it no longer accepts signups and is being wound down after OpenAI acquired Astral (deal announced 2026-03-19). There is nothing to buy.

Free at every team size. MIT licensed with nothing to buy; the only cost is triaging new default rules when you upgrade.

What to do by team size

Solo
free; install it and delete flake8, Black and isort
Small team
free; one pyproject.toml block and one CI step
Medium team
free; budget an afternoon per minor release to triage new default rules
Large team
free; pin the version so an upgrade does not change what fails in CI
Self-hosting ops:trivial

Get tools like this every Wednesday

One featured tool, three on the radar. No fluff.

Similar Tools

Score
91/100 · A+
Adoption30/30
Maintenance25/25
Community11/20
License15/15
Analysis10/10

A low score is not a verdict on quality. Young and niche tools start low by design. How we calculate scores

Trust Signals

High adoption: 47,111 starsActive community: 2,010 forksPermissive license (MIT)

About

Stars
50,475
Forks
2,593

Explore Further

More tools in the directory