Develop and Build Documentation#

To build the documentation you’ll need Sphinx and a few other packages.

Setup documentation environment#

Use pip#

Alternatively, it is also possible to create a virtual environment and activate it with the following commands:

# create the environment
python -m venv .

# activate the environment
source bin/activate

In the environment, install the packages:

python -m pip install -r docs/requirements.txt

Hint

Building the documentation site requires a working nodejs installation, which can be installed with your package manager of choice, or directly from the NodeJS website.

Build the documentation#

Once you have installed the required packages, you can build the docs with:

cd docs/source
sphinx-build -T -E -b html -d ../build/doctrees -D language=en . ../build/html

After that, the generated HTML files will be available at build/html/index.html. You may view the docs in your browser by entering the following in the terminal: open build/html/index.html. Alternatively, you can start the built-in Python web server:

cd docs/build/html
python3 -m http.server -b 127.0,0.1

… and navigate to http://localhost:8000/.

You should also have a look at the Project Jupyter Documentation Guide.

Watch the documentation#

It is also possible to launch a web server which watches the sources and automatically rebuilds:

cd docs/source
sphinx-autobuild -T -E -b html -d ../build/doctrees -D language=en . ../build/html

… and navigate to http://localhost:8000/.

Cleaning notebook output for docs#

When using notebook source files to generate documentation, it’s good practice to strip notebook output and metadata with nbstripout before committing the notebook. For example, the following command will strip all output from a notebook:

nbstripout "docs/source/examples/Widget List.ipynb"