-l, --line-length INTEGER How many characters per line to allow.
[default: 88]
- -t, --target-version [py27|py33|py34|py35|py36|py37|py38]
+ -t, --target-version [py27|py33|py34|py35|py36|py37|py38|py39]
Python versions that should be supported by
Black's output. [default: per-file auto-
detection]
-S, --skip-string-normalization
Don't normalize string quotes or prefixes.
+ -C, --skip-magic-trailing-comma
+ Don't use trailing commas as a reason to
+ split lines.
+
--check Don't write the files back, just return the
status. Return code 0 means nothing would
change. Return code 1 means some files
paths are excluded. Use forward slashes for
directories on all platforms (Windows, too).
Exclusions are calculated first, inclusions
- later. [default: /(\.eggs|\.git|\.hg|\.mypy
- _cache|\.nox|\.tox|\.venv|\.svn|_build|buck-
- out|build|dist)/]
+ later. [default: /(\.direnv|\.eggs|\.git|\.
+ hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_bu
+ ild|buck-out|build|dist)/]
--force-exclude TEXT Like --exclude, but files and directories
matching this regex will be excluded even
- when they are passed explicitly as arguments.
+ when they are passed explicitly as
+ arguments.
+
+ --stdin-filename TEXT The name of the file when passing it through
+ stdin. Useful to make sure Black will
+ respect --force-exclude option on some
+ editors that rely on using stdin.
-q, --quiet Don't emit non-error messages to stderr.
Errors are still emitted; silence those with
should be configured to neither warn about nor overwrite _Black_'s changes.
Actual details on _Black_ compatible configurations for various tools can be found in
-[compatible_configs](https://github.com/psf/black/blob/master/docs/compatible_configs.md).
+[compatible_configs](https://github.com/psf/black/blob/master/docs/compatible_configs.md#black-compatible-configurations).
### Migrating your code style without ruining git blame
### NOTE: This is a beta product
-_Black_ is already [successfully used](#used-by) by many projects, small and big. It
-also sports a decent test suite. However, it is still very new. Things will probably be
-wonky for a while. This is made explicit by the "Beta" trove classifier, as well as by
-the "b" in the version number. What this means for you is that **until the formatter
-becomes stable, you should expect some formatting to change in the future**. That being
-said, no drastic stylistic changes are planned, mostly responses to bug reports.
+_Black_ is already [successfully used](https://github.com/psf/black#used-by) by many
+projects, small and big. It also sports a decent test suite. However, it is still very
+new. Things will probably be wonky for a while. This is made explicit by the "Beta"
+trove classifier, as well as by the "b" in the version number. What this means for you
+is that **until the formatter becomes stable, you should expect some formatting to
+change in the future**. That being said, no drastic stylistic changes are planned,
+mostly responses to bug reports.
Also, as a temporary safety measure, _Black_ will check that the reformatted code still
produces a valid AST that is equivalent to the original. This slows it down. If you're
_Black_ is a PEP 8 compliant opinionated formatter. _Black_ reformats entire files in
place. It is not configurable. It doesn't take previous formatting into account. Your
main option of configuring _Black_ is that it doesn't reformat blocks that start with
-`# fmt: off` and end with `# fmt: on`. `# fmt: on/off` have to be on the same level of
-indentation. To learn more about _Black_'s opinions, to go
+`# fmt: off` and end with `# fmt: on`, or lines that ends with `# fmt: skip`. Pay
+attention that `# fmt: on/off` have to be on the same level of indentation. To learn
+more about _Black_'s opinions, to go
[the_black_code_style](https://github.com/psf/black/blob/master/docs/the_black_code_style.md).
Please refer to this document before submitting an issue. What seems like a bug might be
target-version = ['py37']
include = '\.pyi?$'
exclude = '''
-
-(
- /(
+# A regex preceded with ^/ will apply only to files and directories
+# in the root of the project.
+^/(
+ (
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.hg
```yaml
repos:
- repo: https://github.com/psf/black
- rev: 19.10b0 # Replace by any tag/version: https://github.com/psf/black/tags
+ 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+
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: psf/black@stable
+ with:
+ args: ". --check"
```
+### Inputs
+
+#### `black_args`
+
+**optional**: Black input arguments. Defaults to `. --check --diff`.
+
## Ignoring unmodified files
_Black_ remembers files it has already formatted, unless the `--diff` flag is used or
The following notable open-source projects trust _Black_ with enforcing a consistent
code style: pytest, tox, Pyramid, Django Channels, Hypothesis, attrs, SQLAlchemy,
Poetry, PyPA applications (Warehouse, Bandersnatch, Pipenv, virtualenv), pandas, Pillow,
-every Datadog Agent Integration, Home Assistant.
+every Datadog Agent Integration, Home Assistant, Zulip.
The following organizations use _Black_: Facebook, Dropbox, Mozilla, Quora.
- [Gregory P. Smith](mailto:greg@krypto.org)
- Gustavo Camargo
- hauntsaninja
+- [Hadi Alqattan](mailto:alqattanhadizaki@gmail.com)
- [Heaford](mailto:dan@heaford.com)
- [Hugo Barrera](mailto::hugo@barrera.io)
- Hugo van Kemenade