Ruff - The Fast Python Linter

Ruff - The Fast Python Linter

ruff
Releases85
Frequency1 week 2 hours
Last Release
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff) [![image](https://img.shields.io/pypi/v/ruff.svg)](https://pypi.python.org/pypi/ruff) [![image](https://img.shields.io/pypi/l/ruff.svg)](https://pypi.python.org/pypi/ruff) [![image](https://img.shields.io/pypi/pyversions/ruff.svg)](https://pypi.python.org/pypi/ruff) [![Actions status](https://github.com/charliermarsh/ruff/workflows/CI/badge.svg)](https://github.com/charliermarsh/ruff/actions) [**Discord**](https://discord.gg/c9MhzV8aU5) | [**Docs**](https://docs.astral.sh/ruff/) | [**Playground**](https://play.ruff.rs/) An extremely fast Python linter, written in Rust. ![Graph](https://user-images.githubusercontent.com/1309177/212613422-7faaf278-706b-4294-ad92-236ffcab3430.svg) Linting the CPython codebase from scratch. - ⚡️ 10-100x faster than existing linters - 🐍 Installable via `pip` - 🛠️ `pyproject.toml` support - 🤝 Python 3.12 compatibility - ⚖️ Drop-in parity with Flake8, isort, and Black - 📦 Built-in caching, to avoid re-analyzing unchanged files - 🔧 Autofix support, for automatic error correction (e.g., automatically remove unused imports) - 📏 Over [700 built-in rules](https://docs.astral.sh/ruff/rules/), with native re-implementations of popular Flake8 plugins, like flake8-bugbear - ⚖️ [Near-parity](https://beta.ruff.rs/docs/faq/#how-does-ruff-compare-to-flake8) with the built-in Flake8 rule set - ⌨️ First-party [editor integrations](https://docs.astral.sh/ruff/integrations/) for [VS Code](https://github.com/astral-sh/ruff-vscode) and [more](https://github.com/astral-sh/ruff-lsp) - 🌎 Monorepo-friendly, with [hierarchical and cascading configuration](https://docs.astral.sh/ruff/configuration/#pyprojecttoml-discovery) Ruff aims to be orders of magnitude faster than alternative tools while integrating more functionality behind a single, common interface. Ruff can be used to replace [Flake8](https://pypi.org/project/flake8/) (plus dozens of plugins), [isort](https://pypi.org/project/isort/), [pydocstyle](https://pypi.org/project/pydocstyle/), [yesqa](https://github.com/asottile/yesqa), [eradicate](https://pypi.org/project/eradicate/), [pyupgrade](https://pypi.org/project/pyupgrade/), and [autoflake](https://pypi.org/project/autoflake/), all while executing tens or hundreds of times faster than any individual tool. Ruff is extremely actively developed and used in major open-source projects like: - [pandas](https://github.com/pandas-dev/pandas) - [FastAPI](https://github.com/tiangolo/fastapi) - [Transformers (Hugging Face)](https://github.com/huggingface/transformers) - [Apache Airflow](https://github.com/apache/airflow) - [SciPy](https://github.com/scipy/scipy) ...and many more. Read the [launch blog post](https://notes.crmarsh.com/python-tooling-could-be-much-much-faster) or the most recent [project update](https://notes.crmarsh.com/ruff-the-first-200-releases). Ruff is backed by [Astral](https://astral.sh/). Read the [launch post](https://astral.sh/blog/announcing-astral-the-company-behind-ruff), or the original [project announcement](https://notes.crmarsh.com/python-tooling-could-be-much-much-faster).
Subscribe above to receive notifications when new versions are released.
VersionDate
Stability
Stability is determined by the version string and my be inaccurate.
0.11.9 Stable
0.11.8 Stable
0.11.7 Stable
0.11.6 Stable
0.11.5 Stable
0.11.4 Stable
0.11.3 Stable
0.11.2 Stable
0.11.1 Stable
0.11.0 Stable
0.10.0 Stable
0.9.10 Stable
0.9.9 Stable
0.9.8 Stable
0.9.7 Stable
0.9.6 Stable
0.9.5 Stable
0.9.4 Stable
0.9.3 Stable
0.9.2 Stable
0.9.1 Stable
0.9.0 Stable
0.8.6 Stable
0.8.5 Stable
0.8.4 Stable