nbcommands — Unix commands for Jupyter notebooks¶
nbcommands bring the goodness of Unix commands to Jupyter notebooks.
Installation¶
You can simply use pip to install nbcommands:
$ pip install nbcommands
or conda:
$ conda install -c conda-forge nbcommands
Usage¶
nbcommands installs the following commands which let you interact with your Jupyter notebooks without spinning up a notebook server.
nbtouch¶
Update the access and modification times of each Jupyter notebook to the current time, or create empty notebook files where none exist:
$ nbtouch notebook1.ipynb notebook2.ipynb

nbgrep¶
Search for a pattern in Jupyter notebooks:
$ nbgrep "os" notebook1.ipynb notebook2.ipynb
$ nbgrep "os" directory/

nbhead¶
Print the first 5 cells of a Jupyter notebook to standard output:
$ nbhead notebook1.ipynb

Note
You can also specify the number of cells you want to print using the -n
option.
nbtail¶
Print the last 5 cells of a Jupyter notebook to standard output:
$ nbtail notebook2.ipynb

Note
You can also specify the number of cells you want to print using the -n
option.
nbcat¶
Concatenate Jupyter notebooks to standard output:
$ nbcat notebook1.ipynb notebook2.ipynb

Note
You can create a new notebook by concatenating multiple notebooks using the -o
option.
nbless¶
Print a Jupyter notebook using a pager program:
$ nbless notebook1.ipynb

And some non-Unix goodness,
nbblack¶
Blacken Jupyter notebooks:
$ nbblack notebook1.ipynb notebook2.ipynb

—
Planned enhancements:
nbstrip
: Strip outputs from Jupyter notebooks.nbdiff
: Find the diff between two Jupyter notebooks.nbecho
: Add a code cell to a Jupyter notebook.nbedit
: Interactively edit a Jupyter notebook.nbtime
: Run and time a Jupyter notebook.nbwc
: Print word count for a Jupyter notebook.
Versioning¶
nbcommands uses Semantic Versioning. For the available versions, see the tags on the GitHub repository.
License¶
This project is licensed under the Apache License, see the LICENSE file for details.