Version control integration¶
Use pre-commit. Once you
have it installed, add this to the
.pre-commit-config.yaml
in your repository:
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: 25.1.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.com/#top_level-default_language_version
language_version: python3.11
Feel free to switch out the rev
value to a different version of Black.
Note if you’d like to use a specific commit in rev
, you’ll need to swap the repo
specified from the mirror to https://github.com/psf/black. We discourage the use of
branches or other mutable refs since the hook won’t auto update as you may
expect.
Jupyter Notebooks¶
There is an alternate hook black-jupyter
that expands the targets of black
to
include Jupyter Notebooks. To use this hook, simply replace the hook’s id: black
with
id: black-jupyter
in the .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: 25.1.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.com/#top_level-default_language_version
language_version: python3.11
Note
The black-jupyter
hook became available in version 21.8b0.