← Ко всем open source проектам

Ruff

astral-sh/ruff

Ruff — быстрый линтер и форматтер Python-кода, написанный на Rust и заменяющий сразу несколько привычных инструментов.

Форки 2,145
Автор astral-sh
Язык Rust
Лицензия MIT
Обновлено 2026-06-10

Что это такое

Ruff — инструмент для проверки и форматирования Python-кода. Он написан на Rust и известен высокой скоростью: проект позиционирует себя как замену Flake8 с большим набором плагинов, isort, части pyupgrade, pydocstyle и форматтера в стиле Black.

Репозиторий появился в 2022 году и стал частью новой волны Python-инструментов Astral. Его популярность объясняется не только скоростью, но и объединением задач: один инструмент закрывает правила, автоисправления, сортировку импортов и форматирование.

Что внутри репозитория

Внутри — Rust-ядро анализатора, правила, форматтер, кэширование, поддержка `pyproject.toml`, интеграции с редакторами и документация. Ruff умеет работать в монорепозиториях, поддерживает каскадные настройки и дает быстрый цикл обратной связи в локальной разработке и CI.

Минимальная настройка

Пример показывает базовую конфигурацию: выбрать длину строки, версию Python и набор правил, а затем запускать проверку и форматирование из одной команды.

Язык: Plain text
[tool.ruff]
line-length = 100
target-version = "py312"

[tool.ruff.lint]
select = ["E", "F", "I", "UP"]

Где полезен

Ruff полезен почти в любом Python-проекте: библиотеки, сервисы, data pipelines, notebooks, внутренние инструменты. Особенно заметен эффект в больших репозиториях и CI, где старые линтеры могут занимать существенное время.

Сильные стороны и ограничения

Ruff быстро закрывает много задач, но это не повод включать все правила подряд. При миграции с Flake8/Black/isort важно сравнить поведение, зафиксировать конфигурацию и прогнать автоисправления отдельным изменением.