What are Jupyter Notebooks?
Jupyter is an open-source software for interactive computing for a variety of programming languages like Python, Julia, R, Ruby, Haskell, Javascript, Scala, and many others.
Jupyter Notebooks have become popular among researchers and data scientists because of several convenient characteristics:
- Allows for the combination of a narrative, code, and the results of computations in one place
- Easy to use intuitive interface
- Flexibility on supporting multiple programming languages
- Integration with cloud computing environments
Such characteristics permit to effortlessly reproduce the workflow of most researchers and data scientists: the description of a research problem and methods in prose, plus the code to run the analysis and models to analyze datasets, and the presentation of results in tables and charts. You can even export your computational Notebook into PDF, Markdown, HTML, and others easy to share formats.
Jupyter Notebooks evolved from a project called IPython, which was created by the Colombian Berkeley Professor Fernando Pérez, who at the time was a graduate student in Physics at CU Boulder. Here you can watch a Fernando’s presentation about his journey creating Jupyter Notebooks.
Although nowadays Jupyter is the most widely used IDE for scientific computing and data science worldwide, the idea of computational notebooks predates Project Jupyter. The first computational notebooks, today named Wolfram Notebooks, were introduced by Stephen Wolfram for the Wolfram Mathematica programming language. The issue was that Wolfram Mathematica and Wolfram Notebooks are a closed-sources proprietary software, i.e., you have to pay for it.
Fortunately, today we have access to Jupyter Notebooks for free, which is developed and maintained primarily by a large community of users from all over the world.
Recommended path for learing
-
Introductory article: Introduction to Jupyter Notebooks - set-up, user-guide, and best practices
-
30 minutes video: Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough
Video courses
- Jupyter Notebook Tutorial - 2020
- JupyterLab: The Next Generation Jupyter Web Interface
- Closing the gap between Jupyter and academic publishing
Online tutorials
Papers
- Jupyter Notebooks—a publishing format for reproducible computational workflows
- Using the Jupyter Notebook as a Tool for Open Science:An Empirical Study
- Why Jupyter is data scientists’ computational notebook of choice
- The Jupyter/IPython architecture: a unified view of computational research, from interactive exploration to communication and publication