possible.
-## Installation and Usage
+## Installation and usage
### Installation
used).
-### NOTE: This is an early pre-release
+### NOTE: This is a beta product
-*Black* can already successfully format itself and the standard library.
+*Black* is already successfully used by several 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
-"Alpha" trove classifier, as well as by the "a" in the version number.
+"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**.
+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
If a data structure literal (tuple, list, set, dict) or a line of "from"
imports cannot fit in the allotted length, it's always split into one
-per line. This minimizes diffs as well as enables readers of code to
-find which commit introduced a particular entry. This also makes
-*Black* compatible with [isort](https://pypi.org/p/isort/). Use
+element per line. This minimizes diffs as well as enables readers of
+code to find which commit introduced a particular entry. This also
+makes *Black* compatible with [isort](https://pypi.org/p/isort/). Use
`multi_line_output=3`, `include_trailing_comma=True`,
`force_grid_wrap=0`, and `line_length=88` in your isort config.
and let *Black* handle the transformation.
-### Line Breaks & Binary Operators
+### Line breaks & binary operators
*Black* will break a line before a binary operator when splitting a block
of code over multiple lines. This is so that *Black* is compliant with the
1. Install `black`.
- $ pip install black
+```console
+$ pip install black
+```
2. Locate your `black` installation folder.
- On MacOS / Linux / BSD:
+ On macOS / Linux / BSD:
- $ which black
- /usr/local/bin/black # possible location
+```console
+$ which black
+/usr/local/bin/black # possible location
+```
On Windows:
- $ where black
- %LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location
+```console
+$ where black
+%LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe # possible location
+```
3. Open External tools in PyCharm with `File -> Settings -> Tools -> External Tools`.
**How to get Vim with Python 3.6?**
On Ubuntu 17.10 Vim comes with Python 3.6 by default.
-On macOS with HomeBrew run: `brew install vim --with-python3`.
+On macOS with Homebrew run: `brew install vim --with-python3`.
When building Vim from source, use:
`./configure --enable-python3interp=yes`. There's many guides online how
to do this.
## Change Log
-### 18.5a0 (unreleased)
+### 18.5b0
* call chains are now formatted according to the
[fluent interfaces](https://en.wikipedia.org/wiki/Fluent_interface)