a field-theory motivated approach to computer algebra

Cadabra in Jupyter


By virtue of the Cadabra kernel for Jupyter, it is possible to use Cadabra from a Jupyter notebook. This allows you to use Cadabra notation in a familiar environment, and make use of e.g. Jupyter widgets for visualisation, or other things which are currently not possible in the Cadabra notebook interface.

The Cadabra Cloud service makes use of Jupyter to provide you with an on-line service to run Cadabra; send an email to if you want to get access.


To obtain the Cadabra kernel for Jupyter, you need to either install it from Anaconda, or build it yourself. To install, ensure that the required channel is active, and update/install:

conda config --add channels conda-forge conda update --all conda install cadabra2-jupyter-kernel

If the above went well, you should now be able to start the Jupyter notebook as usual with

jupyter notebook

The 'New' button in the top-right of the screen should then give you the option of creating a new notebook with a Cadabra kernel.

Differences with Cadabra's own notebook

When you use Cadabra within Jupyter, most things will work as in Cadabra's own notebook interface. The main thing to keep in mind is that Jupyter notebooks (with extension .ipynb) and Cadabra notebooks (with extension .cnb) are not the same file format. You can read notebooks created in Jupyter into the Cadabra cadabra2-gtk client, but you cannot read Cadabra notebooks into Jupyter (at least not until a converter is written).

You can, however, make use of Cadabra packages inside the Jupyter notebook, so you can still do import something where something.cnb is a Cadabra notebook.

Copyright © 2001-2020 Kasper Peeters