nbcommands bring the goodness of Unix commands to Jupyter notebooks.
You can simply use pip to install nbcommands:
$ pip install nbcommands
or conda:
$ conda install -c conda-forge nbcommands
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.$ 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.$ nbhead -n 10 notebook1.ipynb
-
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.$ nbtail -n 10 notebook2.ipynb
-
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.$ nbcat notebook1.ipynb notebook2.ipynb -o notebook3.ipynb
-
nbless
: Print a Jupyter notebook using a pager program.$ nbless notebook1.ipynb
And some non-Unix goodness,
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.
nbcommands uses Semantic Versioning. For the available versions, see the tags on this repository.
This project is licensed under the Apache License, see the LICENSE file for details.