À propos du projet
Ruff est un outil de linting et de formatage Python haute performance implémenté en Rust. Il vise à fournir une interface unifiée remplaçant plusieurs outils populaires, notamment Flake8, Black, isort, pydocstyle, pyupgrade et autoflake.
Les capacités clés incluent :
- Linter et Formateur : Fournit à la fois l'analyse de code (linting) et le formatage automatique du code.
- Ensemble de règles étendu : Supporte plus de 900 règles intégrées, incluant des réimplémentations natives de nombreux plugins Flake8 (par exemple, flake8-bugbear).
- Performance : Conçu pour une vitesse extrême, utilisant une mise en cache intégrée pour éviter de réanalyser les fichiers non modifiés.
- Correction automatique : Supporte le flag `--fix` pour corriger automatiquement des erreurs de linting spécifiques, comme la suppression des imports inutilisés.
- Intégration : Propose des extensions natives pour VS Code et supporte l'intégration en tant que hook pre-commit ou GitHub Action.
- Configuration : Compatible avec `pyproject.toml`, `ruff.toml` et `.ruff.toml` pour une configuration hiérarchique et en cascade.
- Compatibilité : Supporte Python 3.14 et offre une parité directe avec Black, isort et Flake8.