Fork me on GitHub

Overview

Teaching: 10 min
Exercises: 0 min
Questions
  • What are Jupyter Notebooks?
  • What can Jupyter Notebooks be used for?
Objectives
  • Get an idea of the purpose of Jupyter.
  • See some inspirational Jupyter notebooks.

Jupyter Notebooks

Some history

  • In 2014, Fernando Pérez announced a spin-off project from IPython called Project Jupyter, moving the notebook and other language-agnostic parts of IPython to Jupyter
  • The name “Jupyter” derives from Julia+Python+R, but today Jupyter kernels exist for dozens of programming languages
  • Galileo’s publication in a pamphlet in 1610 in Sidereus Nuncius, one of the first notebooks!

What are Jupyter notebooks?

Common use cases

  • Experimenting with new ideas, testing new libraries/databases
  • As an interactive development environment for code, data analysis and visualization
  • Interactive work on HPC clusters
  • Sharing and explaining code to colleagues
  • Teaching (programming, experimental/theoretical science)
  • Learning from other notebooks
  • Keeping track of interactive sessions, like a digital lab notebook
  • Supplementary information with published articles
  • Slide presentations using Reveal.js

When not to use notebooks

  • Less useful for large codebases
  • More difficult to do automated testing on
  • Tricky when it comes to non-linear execution of cells, discipline is needed!

A case example

Let us have a look at the analysis published together with the discovery of gravitational waves. This page lists the available analyses and presents several options to browse them:

Since Microsoft Azure requires a login to run the notebooks live (which is still free), we can try running the “Quickview Notebook” on mybinder, here’s a direct link.

For further inspiration, head over to the Gallery of interesting Jupyter Notebooks

Key points

  • Jupyter is an open-source, interactive web tool allowing researchers to combine code, output, explanatory text and multimedia resources in a single document.