To run Jupyter Notebooks locally, an installation of Jupyter is needed. Consider running Jupyter in a virtualenv in order to properly manage dependencies.

$ pip3 install jupyter matplotlib

Certain notebooks hosted in the Home Assistant notebooks repository require access to a running Home Assistant instance or parts of a Home Assistant installation. If you want to run those notebooks, install Home Assistant with $ pip3 install homeassistant as well.

Run Jupyter from the command line.

$ jupyter notebook
[I 17:22:18.081 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 17:22:18.921 NotebookApp] Serving notebooks from local directory: /home/fabaff/home-assistant
[I 17:22:18.921 NotebookApp] 0 active kernels 
[I 17:22:18.921 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 17:22:18.922 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

Open http://localhost:8888/ in your browser. Press “New” -> “Python3” to open a new notebook.

You will get an empty notebook with one cell. Cells can contain code or text. To get the output of a cell you need to execute them with “Cell” -> “Run Cells” from the menu or by pressing the Play icon.

The downloadable version of this notebook is available in the Home Assistant notebooks repository.

As you can see is the Jupyter notebook workflow is very similar to working directly with a Python shell. One advantage of notebooks is that you can go back and forth between cells as you please and save your work.