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 (plus dozens of plugins), Black, isort, pydocstyle, pyupgrade, autoflake, and more, all while executing tens or hundreds of times faster than any individual tool.
This is free and open source software.
Key Features
- 10-100x faster than existing linters (like Flake8) and formatters (like Black).
- Installable via pip.
- pyproject.toml support.
- Python 3.13 compatibility.
- Drop-in parity with Flake8, isort, and Black.
- Built-in caching, to avoid re-analyzing unchanged files.
- Fix support, for automatic error correction (e.g., automatically remove unused imports).
- Over 800 built-in rules, with native re-implementations of popular Flake8 plugins, like flake8-bugbear
- First-party editor integrations for VS Code and more.
- Monorepo-friendly, with hierarchical and cascading configuration.
Website: github.com/astral-sh/ruff
Support:
Developer: Charles Marsh
License: MIT License
Ruff is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Python Linters | |
|---|---|
| Ruff | Extremely fast Python linter and code formatter |
| ty | Fast Python type checker |
| Mypy | Static type checker for Python |
| Bandit | Find security issues in Python code |
| Pylint | Static code analyser |
| wemake-python-styleguide | Flake8 plugin |
| pycodestyle | Check Python code against style conventions in PEP 8 |
| Pyflakes | Checks Python source files for errors |
| Vulture | Find dead code |
| Pyrefly | Fast type checker and language server |
| Flake8 | Wrapper around PyFlakes and pycodestyle |
| Beartype | Near-real-time hybrid runtime-static type-checker |
| Radon | Computes various metrics from Python code |
| Pyright | Full-featured, standards-compliant static type checker |
| cython-lint | Lint Cython files |
| basedpyright | Fork of pyright |
| Refurb | Modernize Python codebases |
| Pylama | Code audit tool for Python |
| Prospector | Brings together the functionality of other Python analysis tools |
| deptry | Check for dependency issues |
| Fixit | Highly configurable linting framework |
| Pyroma | Rates how well a Python project compiles |
| pydoclint | Python docstring linter |
| YALA | Yet Another Linter Aggregator |
Read our verdict in the software roundup.
| Python Code Formatters | |
|---|---|
| Ruff | Extremely fast Python linter and code formatter |
| YAPF | Python formatter based on clang-format |
| Black | Uncompromising Python code formatter |
| isort | Python utility and library to sort imports |
| autopep8 | Formats Python code to conform to the PEP 8 style guide |
| Darker | Apply black reformatting to Python files |
| Pyink | Python code formatter |
| blue | Somewhat less uncompromising code formatter than black |
| μsort | Sorts import statements |
| eradicate | Remove commented-out code from Python files |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

