Nb Mypy is a facility to automatically run mypy on Jupyter notebook cells as they are executed, whilst retaining information about the execution history.
- Nb Mypy relies on the packages mypy and astor, but those should be automatically installed.
- Nb Mypy can be installed like:
python3 -m pip install nb_mypyOnce installed, you can load it via %load_ext nb_mypy in a cell of a Jupyter notebook using the IPython kernel.
The package can also be installed from source, using pip:
python3 -m pip install .In Jupyter notebooks where you want to apply
automatic type checking,
you can load this extension to do type checking by executing
(in a code cell) the line magic %load_ext nb_mypy.
With the line magic %nb_mypy you can modify the behaviour of Nb Mypy
Here are the ways to use the line magic %nb_mypy
%nb_mypy -v: show version%nb_mypy: show the current state%nb_mypy On: enable automatic type checking%nb_mypy Off: disable automatic type checking%nb_mypy DebugOn: enable debug mode%nb_mypy DebugOff: disable debug mode%nb_mypy mypy-options[OPTIONS]: Provide extra options to mypy (for example --strict)
This package is an iPython extension, thus it can be loaded automatically by adding the following line to your iPython configuration file.
c.InteractiveShellApp.extensions = ['nb_mypy']The configuration file can (probably) be found at ~/.ipython/profile_default/ipython_config.py or created by executing ipython profile create.
To add options, for instance, always have strict type checking on, you can add the following.
c.InteractiveShellApp.exec_lines = ['%nb_mypy mypy-options --strict']For examples, see the Jupyter notebook Nb_Mypy.ipynb.