This notebook is part of the nbsphinx documentation: https://nbsphinx.readthedocs.io/.

Configuring the Kernels

Kernel Name

If we have multiple kernels installed, we can choose to override the kernel saved in the notebook using nbsphinx_kernel_name:

nbsphinx_kernel_name = 'python-upstream-dev'

which uses the kernel named python-upstream-dev instead of the kernel name stored in the notebook.

Kernel Arguments

We can also pass options to the kernel by setting nbsphinx_execute_arguments in conf.py. These work the same way as ipython_kernel_config.py. For example, using

nbsphinx_execute_arguments = [
    "--InlineBackend.rc=figure.dpi=96",
]

to set plot options is the same as writing:

c.InlineBackend.rc = {'figure.dpi': 96}

in ipython_kernel_config.py or using:

%config InlineBackend.rc={'figure.dpi': 96}

at the top of a notebook:

In [ ]:
get_ipython().config.InlineBackend.rc

Environment Variables

The contents of os.environ after the execution of conf.py will be passed as environment variables to the kernel. As an example, MY_DUMMY_VARIABLE has been set in conf.py like this:

import os
os.environ['MY_DUMMY_VARIABLE'] = 'Hello from conf.py!'

... and it can be checked in the notebook like this:

In [ ]:
import os
os.environ['MY_DUMMY_VARIABLE']

This is useful if we want to edit PYTHONPATH in order to compile the documentation without installing the project:

import os

src = os.path.abspath('../src')
os.environ['PYTHONPATH'] = src

If you are using https://mybinder.org/ and you want to define environment variables, you should create a file .binder/start in your repository (see Binder docs) containing definitions like this:

#!/bin/bash
export MY_DUMMY_VARIABLE="Hello from .binder/start!"
exec "[email protected]"