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).

Collections containing this project

Showing collections based on your access.

This project is not in any collections you can view.