Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.


Overview

Project Jupyter Granger & Perez, 2021 is a project and community whose goal is to “develop open-source software, open-standards, and services for interactive computing across dozens of programming languages”. Jupyter consists of four main components: Jupyter Notebooks, Jupyter Kernels, Jupyter Lab, and Jupyter Hub. Jupyter can be executed locally and remotely.

  1. Jupyter Notebooks

  2. Jupyter Kernels

  3. Jupyter Lab

  4. Jupyter Hub

  5. Executing Jupyter

Prerequisites

ConceptsImportanceNotes
Installing and Running Python: Python in JupyterHelpful
  • Time to learn: 10 minutes


Jupyter Notebooks

The Jupyter Notebook software Thomas et al., 2016 is an open-source web application that allows you to create and share Jupyter Notebooks (*.ipynb files). Jupyter Notebooks contain executable code, LaTeX equations, visualizations (e.g., plots, pictures), and narrative text. The code does not have to just be Python, other languages such as Julia or R are supported as well.

Jupyter Notebooks are celebrated for their interactive output that allows movement between code, code output, explanations, and more code - similar to how scientists think and solve problems. Jupyter Notebooks can be thought of as a living, runnable publication and make for a great presentation platform.

Jupyter Kernels

Software engines and their environments (e.g., conda environments) that execute the code contained in Jupyter Notebooks.

Jupyter Lab

A popular web application on which users can create and write their Jupyter Notebooks, as well as explore data, install software, etc.

You can find more information on running Jupyter Lab here.

Jupyter Hub

A web-based platform that authenticates users and launches Jupyter Lab applications for users on remote systems.

Executing Jupyter

Local Execution Model

You can launch JupyterLab from a terminal; it will open up in a web browser. The application will then be running in that web browser. When you open a notebook, Jupyter opens a kernel which can be tied to a specific coding language.

To launch the JupyterLab interface in your browser, follow the instructions in Installing and Running Python: Python in Jupyter.

Local Execution Model

Remote Execution Model

In the remote execution model, you start out in the browser, then navigate to a specific URL that points to a JupyterHub. On JupyterHub, you authenticate on the remote system, and then JupyterLab is launched and redirected back to your browser. The interface appears the same as if you were running Jupyter locally.

Remote Execution Model

Summary

Jupyter consists of four main components:

  • Jupyter Notebooks (the “*.ipynb” files),

  • Jupyter Kernels (the work environment),

  • Jupyter Lab (a popular web application and interface for local execution),

  • and Jupyter Hub (an application and launcher for remote execution).

What’s next?

References
  1. Granger, B. E., & Perez, F. (2021). Jupyter: Thinking and Storytelling With Code and Data. Computing in Science & Engineering, 23(2), 7–14. 10.1109/mcse.2021.3059263
  2. Thomas, K., Benjamin, R.-K., Fernando, P., Brian, G., Matthias, B., Jonathan, F., Kyle, K., Jessica, H., Jason, G., Sylvain, C., Paul, I., Damián, A., Safia, A., Carol, W., & Team, J. D. (2016). Jupyter Notebooks – a publishing format for reproducible computational workflows. In Positioning and Power in Academic Publishing: Players, Agents and Agendas. IOS Press. 10.3233/978-1-61499-649-1-87