About this project
Ruff is a high-performance Python linting and formatting tool implemented in Rust. It aims to provide a unified interface that replaces several popular tools, including Flake8, Black, isort, pydocstyle, pyupgrade, and autoflake.
Key capabilities include:
- Linter and Formatter: Provides both code analysis (linting) and automatic code formatting.
- Extensive Rule Set: Supports over 900 built-in rules, including native re-implementations of many Flake8 plugins (e.g., flake8-bugbear).
- Performance: Designed for extreme speed, utilizing built-in caching to avoid re-analyzing unchanged files.
- Automatic Fixing: Supports the `--fix` flag to automatically correct specific linting errors, such as removing unused imports.
- Integration: Offers first-party extensions for VS Code and supports integration as a pre-commit hook or GitHub Action.
- Configuration: Compatible with `pyproject.toml`, `ruff.toml`, and `.ruff.toml` for hierarchical and cascading configuration.
- Compatibility: Supports Python 3.14 and provides drop-in parity with Black, isort, and Flake8.