astral-sh/ruff

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 18 minutes ago
Added to GitGenius on February 12th, 2025
Created on August 9th, 2022
Open Issues & Pull Requests: 2,142 (+0)
Number of forks: 2,360
Total Stargazers: 49,301 (+1)
Total Subscribers: 117 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.9 hours
Mean response time: 53.7 days
90th percentile: 189.1 days
Tracked items: 4,542

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 62% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 5% of issues opened in the past year have been closed. Three people close 58% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,485
New in 7 days: 16
Closed in 7 days: 5
Avg open age: 462 days
Stale 30+ days: 1,361
Stale 90+ days: 1,216

Recent activity

Opened in 7 days: 16
Closed in 7 days: 4
Comments in 7 days: 16
Events in 7 days: 39

Top labels

  • bug (1,316)
  • rule (1,198)
  • question (720)
  • needs-decision (524)
  • help wanted (388)
  • fixes (386)
  • ty (345)
  • formatter (248)

Detailed Description

Ruff is an extremely fast Python linter and code formatter written in Rust, designed to replace multiple existing Python tooling solutions with a single unified interface. According to the README, it achieves 10-100x faster performance than existing linters like Flake8 and formatters like Black. The tool is installable via pip and supports Python 3.14, with drop-in compatibility for Flake8, isort, and Black. Ruff includes over 900 built-in rules with native re-implementations of popular Flake8 plugins such as flake8-bugbear, and it can be used to replace Flake8, Black, isort, pydocstyle, pyupgrade, autoflake, and other tools while executing tens or hundreds of times faster than any individual tool.

The repository is actively maintained by Astral, the company behind the uv package manager.

Ruff is used by major open-source projects including Apache Airflow, Apache Superset, FastAPI, Hugging Face, Pandas, and SciPy. The tool supports configuration through pyproject.toml, ruff.toml, or .ruff.toml files with hierarchical and cascading configuration for monorepo-friendly setups. It includes built-in caching to avoid re-analyzing unchanged files and provides automatic fix support for error correction, such as removing unused imports. First-party editor integrations are available for VS Code and other editors, and Ruff can be used as a pre-commit hook, GitHub Action, or invoked directly via uvx.

By default, Ruff enables Flake8's F rules along with a subset of E rules, omitting stylistic rules that overlap with formatters. A preview mode is available to opt into the latest lint rules, formatter style changes, and interface updates. The repository is classified across multiple domains including tooling, error detection, performance optimization, static analysis, formatting, code quality, type checking, and development efficiency.