バージョン管理の統合

pre-commit を使用します。 インストールしたら、リポジトリの .pre-commit-config.yaml に以下を追加します。

repos:
  # Using this mirror lets us use mypyc-compiled black, which is about 2x faster
  - repo: https://github.com/psf/black-pre-commit-mirror
    rev: 24.8.0
    hooks:
      - id: black
        # It is recommended to specify the latest version of Python
        # supported by your project here, or alternatively use
        # pre-commit's default_language_version, see
        # https://pre-commit.dokyumento.jp/#top_level-default_language_version
        language_version: python3.11

rev の値を Black の別のバージョンに切り替えてみてください。

rev で特定のコミットを使用したい場合は、指定されているリポジトリをミラーから https://github.com/psf/black に切り替える必要があります。フックは予想どおりに自動更新されないため、ブランチや他の変更可能な参照の使用はお勧めしません。 詳細はこちら

Jupyter Notebook

black のターゲットを Jupyter Notebook を含むように拡張する代替フック black-jupyter があります。このフックを使用するには、 .pre-commit-config.yaml のフックの id: blackid: black-jupyter に置き換えるだけです。

repos:
  # Using this mirror lets us use mypyc-compiled black, which is about 2x faster
  - repo: https://github.com/psf/black-pre-commit-mirror
    rev: 24.8.0
    hooks:
      - id: black-jupyter
        # It is recommended to specify the latest version of Python
        # supported by your project here, or alternatively use
        # pre-commit's default_language_version, see
        # https://pre-commit.dokyumento.jp/#top_level-default_language_version
        language_version: python3.11

メモ

black-jupyter フックはバージョン 21.8b0 で利用可能になりました。