概要
Pythonプロジェクトのフォーマッターにisortとblackを使う場合、両者にはフォーマットルールが異なる部分があるので、isort側でblackと競合しないように設定する必要がある。
これまでは、blackの公式ドキュメントに紹介されているisortの設定をコピーして、pyproject.tomlやtox.iniに貼り付けていた。
github.com
ところが、最近、isortの設定にprofile
というオプショングループのようなものがあり、black互換用のprofileも提供されていることを知った。
従って、以下のように1行設定するだけで、black互換の各種オプションをコピペするのと同じ効果が得られる。
※ 具体的に設定されるオプション値もドキュメントに記載されている。
profile = black
この書き方の方が保守性が高そうだなと思った。
知ったきっかけ
FastAPIってフォーマッターは何を使っているのかな?と気になって、リポジトリを眺めていたら、pyproject.tomlに
[tool.isort] profile = "black"
とあったので、このオプションなんだろう?と思って調べてみた。
github.com