The default python interpreter processes only Python source code. The interactive ipython interpreter enhances that core functionality by adding several "magic" functions that are not part of the Python language, but which provide additional support for interactive work. (Magic functions, which are not part of the Python language itself, are prefaced by the % character, e.g., %run my_file.py to run the code that is in the named file.) Often, however, it is useful to be able to combine source code, documentation, and the results of computations all together in one living document, typically referred to as a notebook.

Jupyter is a software system that supports the development and execution of computational notebooks — these are typically referred to as Jupyter notebooks. The Jupyter system consists of a front-end user interface, which usually runs within a web browser but is also available in a desktop application, as well as a computational kernel that runs in the back-end. In the simplest case, both the front-end and the back-end run on the same computer (which would typically be your own personal computer), but Jupyter can also be engineered to connect to a remote server that runs the back-end and communicates with your local browser. For example, if you have an allocation at the Texas Advanced Computing Center (TACC), you can run Jupyter notebooks on TACC machines by requesting access through the TACC Analysis Portal.

Different sorts of environments are able to serve Jupyter notebooks, including the JupyterLab interface that bundles notebooks, file browsers, and terminals. Various online cloud services such as Google Colab or Amazon SageMaker coordinate access to Jupyter notebooks on cloud computing resources.

Jupyter notebooks are organized around the concept of cells, which can be either code cells containing Python or IPython code to be executed, Markdown cells containing Markdown text that can serve as documentation or narrative, or output cells showing the results of code that has been run (including plots rendered by the code).

If you want to try out Jupyter a little bit before installing anything locally, you can work in the notebook below, presented within the JupyterLab interface. It is linked to a demo at the Try Jupyter page at the jupyter.org website. You can execute the code in the code cells, or modify the Markdown text as you see fit. In addition, you can explore some of the other notebooks on the site that are described within the notebook itself. (The JupyterLite system that powers the demo notebook below can be modified, but any changes that you make to the notebook will not persist across browser sessions, unless you save the notebook after making changes.)

 
©  |   Cornell University    |   Center for Advanced Computing    |   Copyright Statement    |   Inclusivity Statement