alex/ruff
active
significant_divergence
Selected Prefer this fork if you want a more experimental, type-analysis-heavy codebase and are willing to trade upstream parity for deeper semantic tooling. Stick with upstream Ruff if you primarily need a stable, fast linter/formatter with the broadest compatibility and lowest maintenance risk.
Prefer upstream Ruff unless you specifically need this fork’s branding or distribution setup. It has no visible feature additions and is 145 commits behind, so the adopter tradeoff is freshness for near-zero differentiation.
Siddiqi64/ruff
stale
significant_divergence
Prefer upstream Ruff unless you specifically need this fork's older `ty` experimentation or benchmark artifacts. For normal linting/formatting use, the fork is too stale and too far from current upstream to be a safe default.
Ghelfi/ruff
slowing
significant_divergence
Choose this fork if you care about the `ty`-style typing engine work and are comfortable with major divergence. Choose upstream Ruff if you want the stable, broadly adopted linter/formatter with minimal surprises.
jsh9/muff
slowing
significant_divergence
Prefer this fork if you want a Ruff-derived codebase that is moving toward type-aware analysis and IDE features. Prefer upstream Ruff if you need the most stable, current, drop-in lint/format tool with the broadest compatibility and lowest upgrade risk.
astronomer/ruff
slowing
significant_divergence
Prefer this fork if your goal is Python type-checking and IDE-style analysis built on Ruff’s foundations. Prefer upstream Ruff if you mainly need a stable, current linter/formatter with minimal divergence and easier maintenance.
jarlungoodoo73/ruff
stale
significant_divergence
Choose this fork only if you want the experimental type-checker/LSP direction and can tolerate being far behind upstream. For most adopters who just want Ruff's fast linter/formatter, upstream is the safer choice.
chammika/ruff
stale
significant_divergence
Choose this fork only if you specifically want the experimental type-checker/IDE branch and are willing to own a large maintenance burden. If you want current Ruff linting and formatting, upstream is the better choice.
Boshen/ruff
stale
significant_divergence
Prefer this fork only if you explicitly want the experimental `ty`/IDE direction and are prepared to maintain a long-lived divergence. For ordinary Ruff adoption, upstream is the better choice because this fork is stale and far behind current maintenance.
JacobCoffee/ruff
stale
significant_divergence
Choose this fork only if you want the experimental type-checker/IDE work and are prepared to own maintenance. For anyone adopting Ruff for production linting or formatting, upstream is the better choice because this fork is materially stale and far more divergent.