Ruff v0.16.0リリース、デフォルトルール数が59から413に大幅増加
原題: Ruff v0.16.0 – Significant new updates – 413 default rules up from 59
なぜ重要か
デフォルトルールが7倍以上に増加したことで、設定コスト不要で高品質なコード検査が実現し、PythonエコシステムにおけるRuffの採用障壁がさらに低下する。
Pythonリンター・フォーマッターのRuffがv0.16.0をリリースした。最大の変更点はデフォルトで有効なルール数が従来の59から413へ大幅に増加したことで、設定不要で構文エラーや即時ランタイムエラーを含む多くの問題を検出できるようになった。Markdownファイル内のPythonコードブロックのフォーマット機能も新たに安定版として提供される。
Astralは2026年7月23日、Rustで記述されたPythonリンター・フォーマッターのRuff v0.16.0を公開した。
■ デフォルトルールの大幅拡張
最大の変更点は、デフォルトで有効なルール数が59から413に増加したことだ。Ruffのデフォルトルールセットが最後に変更されたv0.1.0以降、総ルール数は708から968へ増加していたが、その多くはデフォルトで無効のままだった。今回の変更により、構文エラーや即時ランタイムエラーを含む重大な問題を設定なしで検出できるようになる。新たに有効化されたルールには、人気プラグインのflake8-bugbear(Bカテゴリ)、pyupgrade(UPカテゴリ)、および独自のRUFカテゴリのルールが含まれる。旧デフォルト設定に戻したい場合は、設定ファイルで `select = ["E4", "E7", "E9", "F"]` を指定することで対応できる。
■ Markdownコードブロックのフォーマット対応
v0.16では、Markdownファイル内に埋め込まれたPythonコードブロックのフォーマットが安定版機能として提供される。`python`、`py`、`python3`、`py3`、`pyi`、`pycon`のinfo文字列を持つフェンスコードブロックが対象となる。`pyi`はスタブファイル形式、`pycon`はREPLセッション形式でフォーマットされる。また、Quartoノートブック(`.qmd`)も、波括弧形式(例:` ```{python} `)の言語指定を認識することで対応可能だ。フォーマットを抑制する場合は、コードブロック内の`fmt: off`/`fmt: on`コメントやHTMLコメントを使用できる。
■ 新しい抑制コメント機能
v0.15で導入された`ruff: disable`/`ruff: enable`によるレンジ抑制に加え、v0.16では`ruff: ignore`による同一行での診断抑制が追加された。
Ruff v0.16.0はPyPIからインストール可能で、`uv tool install ruff@latest`でも導入できる。