Ruff とは
Ruff は非常に高速な Python リンタ兼フォーマッタです。uv を作った Astral が Rust で書きました。800 を超える組み込みルールと、人気プラグインのネイティブ再実装により、ruff バイナリ 1 つが Flake8、isort、Black、pyupgrade、autoflake と数十のプラグインを置き換え、しかも 10〜100 倍速く動きます。FastAPI、Pandas、Hugging Face などに採用され、現代の Python エコシステムの標準的なリンタになりました。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
⚡ Ruff の主な機能
🏎️ 10〜100 倍速い
従来のツールが数分かかる規模のコードベースを、数ミリ秒で検査します。保存のたび、CI のたびに走らせても平気な速さです。
🧰 ひとつのツールに 800 以上のルール
Flake8、isort、pyupgrade、pydocstyle、eradicate などを再実装しています。pyproject.toml の設定 1 つが、プラグインの山を置き換えます。
🖤 そのまま置き換えられるフォーマッタ
ruff format は Black 互換のフォーマッタです。同じスタイルで桁違いに速く、別のツールを入れる必要もありません。
🔧 自動修正
数百のルールが自動修正に対応しています。未使用の import、古い構文、import の並べ替えも ruff check --fix で終わりです。
🐍 バージョンを意識した動作
3.7 以降のどの Python も対象にでき、バージョンごとにルールの挙動が変わります。モノレポ向けの階層的な設定と、ファイル単位の上書きにも対応。
🔌 エディタとの連携
言語サーバー(ruff server)を内蔵しており、同じバイナリから VS Code、Zed、Neovim、Helix と一級の連携ができます。
🏆 apt で入れるべき理由
- システム全体にひとつ、pip 不要: どのプロジェクト、venv、CI ジョブ、ユーザーでも同じバイナリ。プロジェクトごとの導入を揃える手間がありません
- Docker / CI イメージに最適: ベースイメージにリポジトリを焼き込めば、どのパイプラインも自動的に最新の ruff になります
- ツールチェイン不要: Rust も cargo も pip も要りません。8 アーキテクチャ分のビルド済みバイナリを、署名付き apt リポジトリで
- 自動更新: ruff はリリース頻度が高く、
apt upgradeが追いかけてくれるのでルールが古びません - uv と組み合わせて: Astral のパッケージマネージャもここで配布しています。現代的な Python ツールチェインを、ひとつのリポジトリから
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。Ruff は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: Ruff をインストールする
sudo apt install -y ruffapt install -y ruff🚀 最初の起動
プロジェクトを静的解析して整形する:
ruff check . # 静的解析
ruff check --fix . # 静的解析と自動修正
ruff format . # 整形(Black 互換)📦 パッケージのビルドリポジトリ
Debian パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 📂 ruff-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- uv - Astral による非常に高速な Python パッケージマネージャ。ruff の相棒です
- Zed - ruff を一級で統合した高速なエディタ
- just - lint / format / test の流れをまとめるコマンドランナー