Об этом проекте
Ruff — это высокопроизводительный инструмент для линтинга и форматирования Python, реализованный на Rust. Его цель — предоставить единый интерфейс, который заменит несколько популярных инструментов, включая Flake8, Black, isort, pydocstyle, pyupgrade и autoflake.
Ключевые возможности включают:
- Линтер и форматировщик: обеспечивает как анализ кода (линтинг), так и автоматическое форматирование кода.
- Обширный набор правил: поддерживает более 900 встроенных правил, включая нативные переработки многих плагинов Flake8 (например, flake8-bugbear).
- Производительность: разработан для экстремальной скорости с использованием встроенного кэширования, чтобы избежать повторного анализа неизмененных файлов.
- Автоматическое исправление: поддерживает флаг `--fix` для автоматического исправления определенных ошибок линтинга, таких как удаление неиспользуемых импортов.
- Интеграция: предлагает официальные расширения для VS Code и поддерживает интеграцию в качестве pre-commit hook или GitHub Action.
- Конфигурация: совместим с `pyproject.toml`, `ruff.toml` и `.ruff.toml` для иерархической и каскадной настройки.
- Совместимость: поддерживает Python 3.14 и обеспечивает полную совместимость с Black, isort и Flake8.