nbcommands
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.$ 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.
Versioning
nbcommands uses Semantic Versioning. For the available versions, see the tags on this repository.
License
This project is licensed under the Apache License, see the LICENSE file for details.