2024 年でも使える Python 2 コードフォーマッター
Civilization IV の Mod 開発のため、Python 2 のコードを扱える自動フォーマッターを探していました。
結論を言うと Black を使うと良いです。
これ以外だと、まともなものは見つかりませんでした。
ただし、Black は初安定版リリースと同時に Python 2 を陳腐化させたので、ちょっと前のプレリリース版を使うほかないです。
click < 8.1
black[python2] == 21.12b0
上記制約でインストールすると正しく動作すると思われます(Click も少し古く指定する必要あり)。
Black 自体は Python 3 で動かします。この点は、Python 2 の動作環境に依存しないゆえに 2024 年でも使いやすくありがたいです。
python3 -m black --target-version py27 SRC ...
Civilization IV に付属する Python 2 コードがタブインデントな一方、こちらは Black1 なのでスペースになってしまいますが、そこの不統一感は諦めます。
Civilization IV にバンドルされている Python は 2.4 ですが、Black は Python 2.7 基準で動作するようなので、その点は注意です2。