【ラフ】
Ruff とは?
最終更新:
💡 Pythonの検査と整形を、一つのツールで
Rustで実装されたPythonのリンターとコードフォーマッター。ruff checkで選択したルールに沿ってコードを検査し、ruff formatで見た目を整える。既存ツールからの移行では、対応するルールや設定、整形結果の違いを確認する。
📌 このページのポイント
RuffはFlake8やBlackを全部置き換えるの?
checkとformatはどう違う?
ruff checkは未使用のimportなど、選んだルールに沿って問題を調べる。ruff formatはインデントや改行などを整えるよ。Blackのスタイルとの互換性を目指しているが、意図した違いもある。両者を交互に使う前提にはしないんだ。
formatだけでimportの順番もそろう?
設定はどこに書くの?
pyproject.tomlなら共通設定をtool.ruff、検査設定をtool.ruff.lint、整形設定をtool.ruff.formatに書くよ。ruff.tomlや.ruff.tomlも使える。移行ではルールコードだけでなく、有効な項目や設定の意味も比べよう。
自動修正なら全部任せていい?
ruff check --fixは、通常は安全とされる修正を適用するよ。unsafeな修正は処理の意味が変わる場合があり、別の指定が必要。すべての違反に修正が用意されているわけでもない。差分を確認して、必要なテストを行おう。
📖 おまけ:英語の意味
「Ruff」 = Pythonの検査・整形ツールの名称
💬 公式文書ではPythonのリンターとコードフォーマッターとして紹介されているよ。検査をするcheckと、整形をするformatを使い分ける名前として覚えるといいね。