nbtoolbelt - Tools to Work with Jupyter Notebooks
validate: validate notebookshead: show head or tail of notebooksdump: dump notebook info and source on terminalstats: summarize notebooks with statisticsview: view notebook, including all embedded images, LaTeX, and HTML in a browsercat: concatenate multiple notebooksclean: clean notebooks by removing specified elementsrun: execute notebooks, with pre/post cleaningsplit: split notebooks into MarkDown, code, and rawpunch: punch holes into notebooks and fill them (for creating exercises)
Available as library functions and as configurable command-line scripts.
Installation
pip install nbtoolbelt
Documentation
Documentation is available on Read the Docs.
On the command line,
you can use the options -h or --help.
Usage
On the command line:
nbtb [-h] [options] tool [options] nb.ipynb ...
As library: see documentation
Testing
pip install nbtoolbelt[test]
nbtoolbelt comes with a set of automatic test cases for pytest.
Developing
Some useful commands, and where to run them:
-
In
nbtoolbelt/docs/,- clean build directory:
make clean - create html documentation tree:
make html - create pdf documentation:
make latexpdf - determine size of documentation:
wc `find . -name '*.rst'`
- clean build directory:
-
In
nbtoolbelt/test/,- run all test cases:
pytest .
- run all test cases:
-
In
nbtoolbelt/,- test package configuration:
python setup.py check -r -s - create source distribution and wheel:
python setup.py sdist bdist_wheel
- test package configuration:
-
In
nbtoolbelt/dist/- create digital signature:
gpg --detach-sign -a ... - upload to PyPI:
twine upload ...
- create digital signature:
-
In
nbtoolbelt/src/,- determine size of code:
wc `find . -name '*.py'`
- determine size of code:
Steps to add a feature:
-
Add issue.
-
Design interface.
-
Add (failing) test cases in
nbtoolbelt/test/. -
Add documentation in
nbtoolbelt/docs/.
-
-
Implement feature in
nbtoolbelt/src/nbtoolbelt/. -
Update
nbtoolbelt/src/nbtoolbelt/_version.py. -
Update
CHANGELOG.rst. -
Commit and push changes.
-
Close issue, indicating commit hash.
License
Copyright (c) 2017 - Eindhoven University of Technology, The Netherlands
This software is made available under the terms of the MIT License.
Resources
- Python: Python 3
- Jupyter
- Jupyter notebook format
- Documentation
- Includes a format validator based on JSON schemas, such as nbformat.v4.schema.json
- JSON Schema
- ./jq: a lightweight and flexible command-line JSON processor
- Python 3 Patterns, Recipes and Idioms
Metadata
Release files for nbtoolbelt 2026.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nbtoolbelt-2026.4.1.tar.gz | 38.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nbtoolbelt-2026.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 90.7 kB
Release files / nbtoolbelt-2026.4.1.tar.gz
| Download URL | nbtoolbelt-2026.4.1.tar.gz |
|---|---|
| Size | 38.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b92f7711442cb970099821a094654d16dfc71299840ff2b1adbcab7322b6060c
|
|
BLAKE2b-256 checksum How to use checksums |
b34d1b08a35812fed462c1629330970191705e67d0c6f3fff7ad9757d139e116
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / nbtoolbelt-2026.4.1-py3-none-any.whl
| Download URL | nbtoolbelt-2026.4.1-py3-none-any.whl |
|---|---|
| Size | 51.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff4ed0cdc98216843e675ba53fd850af9c51de3b1560966e6ab4b15a0a179ef4
|
|
BLAKE2b-256 checksum How to use checksums |
90821a90be22a5a6cf6ef5551f776e7738d1297eb938ed1492a8d561d3bedd9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|