Ruff используется для форматирования кода и проверки линтером. Настройки в ruff.toml.
- Установка:
pip install ruff. - Проверка соответствия формату, не изменяя файлы:
ruff format --check ., затемruff check .. - Форматирование:
ruff format . - Исправление замечаний линтера:
ruff check --fix .
Нарушения, которые линтер не исправляет сам, устраняются вручную по выводу ruff check.
Команда ruff format меняет только оформление. Смысл кода и логику она не проверяет.
После форматирования всё равно нужен ruff check.
E. Стиль PEP 8. W. Предупреждения стиля. F. Неиспользуемые импорты и переменные, конфликты имён. I. Порядок импортов в файле. B. Типичные источники ошибок и проблемные шаблоны (flake8-bugbear).
Сначала ruff check --fix .
Исправлять вручную, если:
- у правила нет автоисправления.
- замечание из F - нужно решить, как убрать импорт или переименовать.
- замечание из B - нужно править логику.
Что именно не так, смотрите в выводе линтера и по коду правила в каталоге. Полный перечень кодов: https://docs.astral.sh/ruff/rules/
В workflow Format and lint для pull request автоматически выполняются ruff format --check . и ruff check ..