-![Black Logo](https://raw.githubusercontent.com/ambv/black/master/docs/_static/logo2-readme.png)
+![Black Logo](https://raw.githubusercontent.com/python/black/master/docs/_static/logo2-readme.png)
<h2 align="center">The Uncompromising Code Formatter</h2>
<p align="center">
-<a href="https://travis-ci.org/ambv/black"><img alt="Build Status" src="https://travis-ci.org/ambv/black.svg?branch=master"></a>
+<a href="https://travis-ci.org/python/black"><img alt="Build Status" src="https://travis-ci.org/python/black.svg?branch=master"></a>
<a href="https://black.readthedocs.io/en/stable/?badge=stable"><img alt="Documentation Status" src="https://readthedocs.org/projects/black/badge/?version=stable"></a>
-<a href="https://coveralls.io/github/ambv/black?branch=master"><img alt="Coverage Status" src="https://coveralls.io/repos/github/ambv/black/badge.svg?branch=master"></a>
-<a href="https://github.com/ambv/black/blob/master/LICENSE"><img alt="License: MIT" src="https://black.readthedocs.io/en/stable/_static/license.svg"></a>
+<a href="https://coveralls.io/github/python/black?branch=master"><img alt="Coverage Status" src="https://coveralls.io/repos/github/python/black/badge.svg?branch=master"></a>
+<a href="https://github.com/python/black/blob/master/LICENSE"><img alt="License: MIT" src="https://black.readthedocs.io/en/stable/_static/license.svg"></a>
<a href="https://pypi.org/project/black/"><img alt="PyPI" src="https://black.readthedocs.io/en/stable/_static/pypi.svg"></a>
<a href="https://pepy.tech/project/black"><img alt="Downloads" src="https://pepy.tech/badge/black"></a>
-<a href="https://github.com/ambv/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
+<a href="https://github.com/python/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
</p>
> “Any color you like.”
black [OPTIONS] [SRC]...
Options:
+ -c, --code TEXT Format the code passed in as a string.
-l, --line-length INTEGER How many characters per line to allow.
[default: 88]
-t, --target-version [py27|py33|py34|py35|py36|py37|py38]
Python versions that should be supported by
Black's output. [default: per-file auto-
detection]
+ --py36 Allow using Python 3.6-only syntax on all
+ input files. This will put trailing commas
+ in function signatures and calls also after
+ *args and **kwargs. Deprecated; use
+ --target-version instead. [default: per-file
+ auto-detection]
--pyi Format all input files like typing stubs
regardless of file extension (useful when
piping source on standard input).
Having one kind of quotes everywhere reduces reader distraction.
It will also enable a future version of *Black* to merge consecutive
string literals that ended up on the same line (see
-[#26](https://github.com/ambv/black/issues/26) for details).
+[#26](https://github.com/python/black/issues/26) for details).
Why settle on double quotes? They anticipate apostrophes in English
text. They match the docstring standard described in [PEP 257](https://www.python.org/dev/peps/pep-0257/#what-is-a-docstring).
```toml
[tool.black]
line-length = 88
-target_version = ['py37']
+target-version = ['py37']
include = '\.pyi?$'
exclude = '''
3. Open External tools in PyCharm/IntelliJ IDEA
On macOS:
-
+
```PyCharm -> Preferences -> Tools -> External Tools```
On Windows / Linux / BSD:
-
+
```File -> Settings -> Tools -> External Tools```
4. Click the + icon to add a new external tool with the following values:
- Working directory: `$ProjectFileDir$`
- Uncheck "Auto-save edited files to trigger the watcher"
+
+
+### Wing IDE
+
+Wing supports black via the OS Commands tool, as explained in the Wing documentation on [pep8 formatting](https://wingware.com/doc/edit/pep8). The detailed procedure is:
+
+1. Install `black`.
+
+```console
+$ pip install black
+```
+
+2. Make sure it runs from the command line, e.g.
+
+```console
+$ black --help
+```
+
+3. In Wing IDE, activate the **OS Commands** panel and define the command **black** to execute black on the currently selected file:
+
+- Use the Tools -> OS Commands menu selection
+- click on **+** in **OS Commands** -> New: Command line..
+ - Title: black
+ - Command Line: black %s
+ - I/O Encoding: Use Default
+ - Key Binding: F1
+ - [x] Raise OS Commands when executed
+ - [x] Auto-save files before execution
+ - [x] Line mode
+
+4. Select a file in the editor and press **F1** , or whatever key binding you selected in step 3, to reformat the file.
+
### Vim
Commands and shortcuts:
To install with [vim-plug](https://github.com/junegunn/vim-plug):
```
-Plug 'ambv/black'
+Plug 'python/black'
```
or with [Vundle](https://github.com/VundleVim/Vundle.vim):
```
-Plugin 'ambv/black'
+Plugin 'python/black'
```
-or you can copy the plugin from [plugin/black.vim](https://github.com/ambv/black/tree/master/plugin/black.vim).
+or you can copy the plugin from [plugin/black.vim](https://github.com/python/black/tree/master/plugin/black.vim).
Let me know if this requires any changes to work with Vim 8's builtin
`packadd`, or Pathogen, and so on.
`.pre-commit-config.yaml` in your repository:
```yaml
repos:
-- repo: https://github.com/ambv/black
+- repo: https://github.com/python/black
rev: stable
hooks:
- id: black
Use the badge in your project's README.md:
```markdown
-[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
```
Using the badge in README.rst:
```
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
- :target: https://github.com/ambv/black
+ :target: https://github.com/python/black
```
-Looks like this: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
+Looks like this: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
## License
## Change Log
+### 19.5b0
+
+* don't crash when run on a Windows machine with more than 61 cores (#838)
+
+* remove unnecessary parentheses around `yield` expressions (#834)
+
+* add parentheses around long tuples in unpacking assignments (#832)
+
+* don't produce invalid code for `from` ... `import` blocks with comments
+ (#829)
+
+* fix grammar selection (#765)
+
+* fix feature detection for trailing commas in function definitions and
+ call sites (#763)
+
+* add `black -c` as a way to format code passed from the command line (#761)
+
+* fix bug that led *Black* format some code with a line length target of 1
+ (#762)
+
### 19.3b0
* new option `--target-version` to control which Python versions
*Black*-formatted code should target (#618)
-* removed `--py36` (use `--target-version=py36` instead) (#724)
+* deprecated `--py36` (use `--target-version=py36` instead) (#724)
* *Black* no longer normalizes numeric literals to include `_` separators (#696)
* *Black* now properly formats multiple files in parallel on
Windows (#632)
+* *Black* now creates cache files atomically which allows it to be used
+ in parallel pipelines (like `xargs -P8`) (#673)
+
+* *Black* now correctly indents comments in files that were previously
+ formatted with tabs (#262)
+
* `blackd` now supports CORS (#622)
### 18.9b0