Apply black to all code cells in a Jupyter notebook.
The uncompromising code formatter, for Jupyter notebooks
black-nb applies black to Jupyter notebooks.
Much of the code is taken from the original black project and the behaviour is intentionally similar.
pip install black-nb
To apply black to all code cells in notebooks under the current directory:
To clear cell outputs in addition to reformatting:
black-nb --clear-output .
To check if notebooks pass black and additionally have no output (files will be unchanged):
black-nb --clear-output --check .
To reformat all
*.ipynb files below
./, excluding paths matching
black-nb --exclude '/(outputs|\.ipynb_checkpoints)/' .
Command Line Options
black-nb doesn't provide many options. You can list them by running
Usage: black-nb [OPTIONS] [SRC]... The uncompromising code formatter, for Jupyter notebooks. Options: -l, --line-length INTEGER How many characters per line to allow. [default: 88] --check Don't write the files back, just return the status. Return code 0 means nothing would change. Return code 1 means some files would be reformatted. Return code 123 means there was an internal error. --include TEXT A regular expression that matches files and directories that should be included on recursive searches. An empty value means all files are included regardless of the name. Use forward slashes for directories on all platforms (Windows, too). Exclusions are calculated first, inclusions later. [default: \.ipynb$] --exclude TEXT A regular expression that matches files and directories that should be excluded on recursive searches. An empty value means no paths are excluded. Use forward slashes for directories on all platforms (Windows, too). Exclusions are calculated first, inclusions later. [default: /( \.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|_build |buck-out|build|dist|\.ipynb_checkpoints)/] --extend-exclude TEXT Like --exclude, but adds additional files and directories on top of the excluded ones. (Useful if you simply want to add to the default) --force-exclude TEXT Like --exclude, but files and directories matching this regex will be excluded even 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 2>/dev/null. -v, --verbose Also emit messages to stderr about files that were not changed or were ignored due to --exclude=. --clear-output Clear cell output as part of formatting. --config FILE Read configuration from PATH. -h, --help Show this message and exit.
Copyright © 2019 Tom Catling, Liam Coatman.
black-nb is distributed under the terms of the MIT licence.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.