Designing something awesome is fun. But there comes a time when you need to report and document what you did and how you did it. This is often one of the weak points of programs with a GUI. They can produce large tables and reports with data, but it is very hard to distinguish between data that you entered, data that was solved and data that was already there.

Reporting in DAVE is done differently:

What the Gui actually does

First of all it is good to remember that DAVE is not just the graphical user interface. DAVE is a framework (a set of connected tools) and the GUI is just one of them. Clicking or dragging something in the GUI creates python code. This python code is then fed to the python interpreter which executes (runs) it. If all goes well then the execution of the code changes the scene. The GUI then reads the updated scene and adjusts the view accordingly. Successfully executed code is shown in the history (bottom right)

If something goes wrong, for example because somebody entered an invalid name for a node, then running the python code will raise an exception (error). The output of the error is then shown in the bottom center (output) and the code that produced it is shown in the bottom left.

Bottom dock of the GUI

So the GUI is not DAVE. The GUI is just one way to easily work with it. Another way to run DAVE is via a notebook:

Jupyter Notebooks

Another way of interfacing with the API is via a jupyter notebook. Notebooks are a mix of python code, text, images and javascript plugins. They are designed to document what you did in python. The result can be exported to html, pdf or latex or can be copy-pasted into word or any other text-editor. A notebook looks as follows:

Jupyter notebook

In this way notebooks provide a good way to document the data that you are feeding into DAVE.

Having to write python code may sound scary, or exciting. Either way remember that you can use the GUI to generate the python code for you. Simply copy-pasting the code from the GUIs code-history to jupyter will work.

Setting up Jupyter Lab

As of version 1.3 the jupyter lab program is automatically installed when you install or update DAVE.

You can start Jupyter Lab by running:

jupyter lab "c:\data"

at the anaconda/miniconda/command prompt or using windows+R (start->run)

This should open a browser window similar to this:

You can change the “c:\data” to change the folder in which jupyter lab starts.

Register environment

If you have multiple environments like I do then you may need to register the DAVE environment before you can use it in jupyter lab.

Register the ipykernel such that it can be used from jupyter lab:

conda activate DAVE
python -m ipykernel install --user --name DAVE --display-name "Python (DAVE)"


A separate page is a available for notebooks here.

One Reply to “Reporting and Jupyter Lab”

Comments are closed.