nbcommands — Unix commands for Jupyter notebooks

Documentation Status https://img.shields.io/pypi/v/nbcommands.svg https://img.shields.io/pypi/pyversions/nbcommands.svg https://img.shields.io/badge/code%20style-black-000000.svg

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
_images/nbtouch.gif

nbgrep

Search for a pattern in Jupyter notebooks:

$ nbgrep "os" notebook1.ipynb notebook2.ipynb
$ nbgrep "os" directory/
_images/nbgrep.gif

nbhead

Print the first 5 cells of a Jupyter notebook to standard output:

$ nbhead notebook1.ipynb
_images/nbhead.gif

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
_images/nbtail.gif

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
_images/nbcat.gif

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
_images/nbless.gif

And some non-Unix goodness,

nbblack

Blacken Jupyter notebooks:

$ nbblack notebook1.ipynb notebook2.ipynb
_images/nbblack.gif

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.