possible.
Try it out now using the [Black Playground](https://black.now.sh).
+Watch the [PyCon 2019 talk](https://youtu.be/esZLCuWs_2Y) to learn more.
---
-h, --help Show this message and exit.
```
+There is no official blackd client tool (yet!). You can test that blackd is
+working using `curl`:
+
+```
+blackd --bind-port 9090 & # or let blackd choose a port
+curl -s -XPOST "localhost:9090" -d "print('valid')"
+```
+
### Protocol
`blackd` only accepts `POST` requests at the `/` path. The body of the request
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`
+behave consistently for your project. See *Black*'s own [pyproject.toml](/pyproject.toml)
for an example.
If you're already using Python 3.7, switch the `language_version`
`file-mode` is an int flag that determines whether the file was formatted as 3.6+ only,
as .pyi, and whether string normalization was omitted.
+To override the location of these files on macOS or Linux, set the environment variable
+`XDG_CACHE_HOME` to your preferred location. For example, if you want to put the cache in
+the directory you're running *Black* from, set `XDG_CACHE_HOME=.cache`. *Black* will then
+write the above files to `.cache/black/<version>/`.
## Used by
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, Pipenv, virtualenv).
+attrs, SQLAlchemy, Poetry, PyPA applications (Warehouse, Pipenv, virtualenv),
+every Datadog Agent Integration.
Are we missing anyone? Let us know.
### 19.5b0
-* don't crash when run on a Windows machine with more than 61 cores (#838)
+* added `black -c` as a way to format code passed from the command line
+ (#761)
+
+* --safe now works with Python 2 code (#840)
-* remove unnecessary parentheses around `yield` expressions (#834)
+* fixed grammar selection for Python 2-specific code (#765)
-* add parentheses around long tuples in unpacking assignments (#832)
+* fixed feature detection for trailing commas in function definitions
+ and call sites (#763)
-* don't produce invalid code for `from` ... `import` blocks with comments
+* *Black* can now format async generators (#593)
+
+* *Black* no longer crashes on Windows machines with more than 61 cores
+ (#838)
+
+* *Black* no longer crashes on standalone comments prepended with
+ a backslash (#767)
+
+* *Black* no longer crashes on `from` ... `import` blocks with comments
(#829)
-* fix grammar selection (#765)
+* removed unnecessary parentheses around `yield` expressions (#834)
-* fix feature detection for trailing commas in function definitions and
- call sites (#763)
+* added parentheses around long tuples in unpacking assignments (#832)
-* add `black -c` as a way to format code passed from the command line (#761)
+* fixed bug that led *Black* format some code with a line length target
+ of 1 (#762)
+
+* *Black* no longer introduces quotes in f-string subexpressions on string
+ boundaries (#863)
-* fix bug that led *Black* format some code with a line length target of 1
- (#762)
### 19.3b0
* `blackd` now supports CORS (#622)
+
### 18.9b0
* numeric literals are now formatted by *Black* (#452, #461, #464, #469):
Multiple contributions by:
* [Anthony Sottile](mailto:asottile@umich.edu)
* [Artem Malyshev](mailto:proofit404@gmail.com)
+* [Benjamin Woodruff](mailto:github@benjam.info)
* [Christian Heimes](mailto:christian@python.org)
* [Daniel M. Capella](mailto:polycitizen@gmail.com)
* [Eli Treuherz](mailto:eli@treuherz.com)
* hauntsaninja
* Hugo van Kemenade
* [Ivan Katanić](mailto:ivan.katanic@gmail.com)
+* [Jason Fried](mailto:me@jasonfried.info)
* [Jonas Obrist](mailto:ojiidotch@gmail.com)
* [Luka Sterbic](mailto:luka.sterbic@gmail.com)
* [Miguel Gaiowski](mailto:miggaiowski@gmail.com)