Sobre o projeto
Ruff é uma ferramenta de linting e formatação de Python de alta performance implementada em Rust. Seu objetivo é fornecer uma interface unificada que substitua diversas ferramentas populares, incluindo Flake8, Black, isort, pydocstyle, pyupgrade e autoflake.
As principais capacidades incluem:
- Linter e Formatador: Fornece tanto análise de código (linting) quanto formatação automática de código.
- Conjunto Extenso de Regras: Suporta mais de 900 regras integradas, incluindo reimplementações nativas de muitos plugins do Flake8 (ex: flake8-bugbear).
- Performance: Projetado para velocidade extrema, utilizando cache integrado para evitar a reanálise de arquivos não alterados.
- Correção Automática: Suporta a flag `--fix` para corrigir automaticamente erros específicos de linting, como a remoção de imports não utilizados.
- Integração: Oferece extensões oficiais para VS Code e suporta integração como pre-commit hook ou GitHub Action.
- Configuração: Compatível com `pyproject.toml`, `ruff.toml` e `.ruff.toml` para configuração hierárquica e em cascata.
- Compatibilidade: Suporta Python 3.14 e fornece paridade direta com Black, isort e Flake8.