Use pre-commit. Once you
have it installed, add this to the
.pre-commit-config.yaml
in your repository:
repos:
- repo: https://github.com/psf/black
rev: 20.8b1 # Replace by any tag/version: https://github.com/psf/black/tags
hooks:
- id: black
language_version: python3 # Should be a command that runs python3.6+
Then run pre-commit install
and you're ready to go.
Avoid using args
in the hook. Instead, store necessary configuration in
pyproject.toml
so that editors and command-line usage of Black all behave consistently
for your project. See Black's own
pyproject.toml for an
example.
When using the --diff
flag with pre-commit
, you must also use the --check
flag.
When you want to run Black only on specific files in pre-commit, either use
pre-commit's own files
and exclude
or, when using Black's --include
, set
--force-exclude
to the negated regex of --include
.
If you're already using Python 3.7, switch the language_version
accordingly. Finally,
stable
is a branch that tracks the latest release on PyPI. If you'd rather run on
master, this is also an option.