Jupyter Notebook

Jupyter Notebook (open source code), which began as the iPython Notebook project, is a development environment for writing and executing Python code. Jupyter Notebook is often used for exploratory data analysis and visualization.

Jupyter Notebook project logo.

Project Jupyter is the top-level project name for all of the subprojects under development, which includes Jupyter Notebook. Jupyter Notebooks can also run code for other programming languages such as Julia and R.

How does Jupyter Notebook work?

The key piece of Jupyter Notebook infrastructure is a web application that runs locally for creating and sharing documents that contain embedded code and execution results.

Screenshot of Jupyter Notebook running in the browser and server in terminal.

Jupyter Notebook is an implementation of the text editors and IDEs concept. Learn how these parts fit together in the development environments chapter or view all topics.

How are IPython Notebook and Jupyter Notebook related?

IPython Notebook was the original project that proved that there was great demand among data scientists and programmers for an interactive, repeatable development environment. Jupyter Notebook became the new official name for the overall project during The Big Split after the IPython Notebook project matured into distinct submodules such as the interactive shell, notebook document format and user interface widgets tools. However, the IPython Notebook name sticks around as the Python backend for Jupyter Notebook which is seriously confusing if you are searching the internet and come across both current and old articles that use all of these names interchangeably.

Jupyter Notebook beginner tutorials

Jupyter Notebook's powerful analysis and visualization environment can be intimidating even for experienced developers that are new to the tool. The following tutorials will explain the basics so you can quickly figure out your own productive workflow.

  • Jupyter Notebook for Beginners: A Tutorial is a great place to start if you have never before used the tool. The guide covers installation, terminology, the user interface and how to publish your notebooks to the web. Screenshots walk you through some of the more confusing bits as you are getting up and running.

  • First Python Notebook is a free guide on analyzing data with Python and Jupyter Notebook. It covers many "Hello, World!"-style examples in both data analysis topics and more general software development areas like Git, GitHub and Markdown.

  • IPython Or Jupyter? covers the evolution of the Notebook concept from its origins in the IPython Notebook implementation through the IPython and Jupyter split that happened in 2015 that separated IPython Notebook into logical subprojects. The post kicks off with some fun lesser-known historical context on other data science notebook projects such as MATLAB and Mathematica to set the stage for IPython and Jupyter's creation.

  • How to use Jupyter Notebooks in 2020 (Part 1: The data science landscape) is a high-level overview post that starts a series on Jupyter Notebooks. This first post covers why a tool like Jupyter Notebook is needed in the broader landscape of data science. Part 2 examines the growth of the Jupyter ecosystem and the jump from exploratory analysis notebooks to production notebooks.

  • Jupyter Notebook Best Practices contains tips for beginners such as learning shortcuts and properly documenting the analysis you work on.

  • How to Version Control Jupyter Notebooks explains how Jupyter Notebooks are stored in JSON, the issues with that format for source control and how to get around the problem.

Example Notebooks

Example Notebooks are easy to fire up and see how other people are working. These resources are highly recommended after you read a couple of tutorials and play around with the tool.

Intermediate to advanced Jupyter Notebook tutorials

Once you get the hang of the basics there are a slew of ways to connect your notebooks to third party APIs and use more advanced Python libraries with your code. These walkthroughs cover a range of topics from niche tricks to common but advanced situations like advanced interactive visualizations.

What do you want to build Jupyter Notebook?

I want to learn how to code a Python web application using a framework.

I want to know about working with data in Python.

I've built a Python web app, now how do I deploy it?

Matt Makai 2012-2022