Command line tool to maintain a repository of Jupyter notebooks.
nbpages is a command line tool for publishing a collection of Jupyter notebooks to Github Pages. This project was inspired by the tools included with the Python Data Science Handbook by Jake Vanderplas.
pip install nbpages
To upgrade a previously installed version to the latest version
pip install nbpages --upgrade
The first step in publishing a collection of notebooks on Github Pages is to
create a repository on Github.com.
Github Pages are enabled under the settings tab for the repository. Scroll down to the Github Pages heading and select
master branch
for the source. This is also a good time to select a theme for the published collection.
nbpages
requires a local copy of the repository that can be created by cloning the remote repository.
Then from the command line, navigate to the top level directory of the local repository and issue the command
nbpages --setup
Directories named notebooks
and templates
will be created if they do not already exist. A configuration file
config
will be created inside the directory using data read from the .git
. Jinja templates README.md.jinja
and
notebook_header.jinja
willed created if they don’t already exist. These templates can be edited as required
using data fields defined in config
.
Notebooks are maintained within the notebooks
directory. Thare are organized into a chapter/section heirarchy
using a filename prefix. Filenames have an nn.mm-
prefix wherenn
refers to the chapter number or, if a letter, to
an Appendix. The digits mm
refers to the section number. Section 00
is reserved to hold the chapter title and
any introductory material. The notebooks must also have the usual .ipynb
suffix.
Following setup, the normal use of nbpages
is to execute the command line
nbpages
from the top level directory of the notebook repository. Normally this command would be between completing edits or additions to the notebooks and prior to a github commit. The command will
To help achieve a consistent style over a collection of notebooks, use the command
nbpages --lint
to locate some forms of notebook ‘lint’. A current list of additional features can be found
nbpages --help