HOME

TheInfoList



OR:

Project Jupyter (pronounced "Jupiter") is a project to develop
open-source software Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
,
open standards An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
, and services for
interactive computing In computer science, interactive computing refers to software which accepts input from the user as it runs. Interactive software includes commonly used programs, such as word processors or spreadsheet applications. By comparison, non-interactiv ...
across multiple
programming languages A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features ...
. It was spun off from
IPython IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and his ...
in 2014 by Fernando Pérez and Brian Granger. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R. Its name and logo are an homage to
Galileo Galileo di Vincenzo Bonaiuti de' Galilei (15 February 1564 – 8 January 1642), commonly referred to as Galileo Galilei ( , , ) or mononymously as Galileo, was an Italian astronomer, physicist and engineer, sometimes described as a poly ...
's discovery of the
moons of Jupiter There are 97 Natural satellite, moons of Jupiter with confirmed orbits . This number does not include a number of meter-sized moonlets thought to be shed from the inner moons, nor hundreds of possible kilometer-sized outer irregular moons that ...
, as documented in notebooks attributed to Galileo. Jupyter is financially sponsored by the Jupyter Foundation.


History

The first version of Notebooks for IPython was released in 2011 by a team including Fernando Pérez, Brian Granger, and Min Ragan-Kelley. In 2014, Pérez announced a spin-off project from IPython called Project Jupyter. IPython continues to exist as a Python
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses Science Biology * Seashell, a hard outer layer of a marine ani ...
and a kernel for Jupyter, while the
notebook A notebook (also known as a notepad, writing pad, drawing pad, or legal pad) is a book or stack of paper pages that are often ruled and used for purposes such as note-taking, journaling or other writing, drawing, or scrapbooking and more. ...
and other language-agnostic parts of IPython moved under the Jupyter name. Jupyter supports execution environments (called "kernels") in several dozen languages, including Julia, R,
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
,
Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
, and Python (via the IPython kernel). In 2015, about 200,000 Jupyter notebooks were available on
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
. By 2018, about 2.5 million were available. In January 2021, nearly 10 million were available, including notebooks about the
first observation of gravitational waves The first direct observation of gravitational waves was made on 14 September 2015 and was announced by the LIGO and Virgo collaborations on 11 February 2016. Previously, gravitational waves had been inferred only indirectly, via their effect on t ...
and about the 2019 discovery of a
supermassive black hole A supermassive black hole (SMBH or sometimes SBH) is the largest type of black hole, with its mass being on the order of hundreds of thousands, or millions to billions, of times the mass of the Sun (). Black holes are a class of astronomical ...
. Major
cloud computing Cloud computing is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," according to International Organization for ...
providers have adopted the Jupyter Notebook or derivative tools as a frontend interface for cloud users. Examples include Amazon SageMaker Notebooks, Google's Colab, and Microsoft's Azure Notebook.
Visual Studio Code Visual Studio Code, commonly referred to as VS Code, is an integrated development environment developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code comp ...
supports local development of Jupyter notebooks. As of July 2022, the Jupyter extension for VS Code has been downloaded over 40 million times, making it the second-most popular extension in the VS Code Marketplace. The steering committee of Project Jupyter received the 2017
ACM Software System Award The ACM Software System Award is an annual award that honors people or an organization "for developing a software system that has had a lasting influence, reflected in contributions to concepts, in commercial acceptance, or both". It is awarded b ...
, an annual award that honors people or an organization "for developing a software system that has had a lasting influence, reflected in contributions to concepts, in commercial acceptance, or both". ''
The Atlantic ''The Atlantic'' is an American magazine and multi-platform publisher based in Washington, D.C. It features articles on politics, foreign affairs, business and the economy, culture and the arts, technology, and science. It was founded in 185 ...
'' published an article entitled "The Scientific Paper Is Obsolete" in 2018, discussing the role of Jupyter Notebook and the
Mathematica Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
notebook in the future of scientific publishing. Economist
Paul Romer Paul Michael Romer (born November 6, 1955) is an American economist and policy entrepreneur who is a Seidner University Professor in Finance at Boston College. Romer is best known as the former Chief Economist of the World Bank and for co- ...
, in response, published a blog post in which he reflected on his experiences using Mathematica and Jupyter for research, concluding in part that Jupyter "does a better job of delivering what Theodore Gray had in mind when he designed the Mathematica notebook." In 2021, ''
Nature Nature is an inherent character or constitution, particularly of the Ecosphere (planetary), ecosphere or the universe as a whole. In this general sense nature refers to the Scientific law, laws, elements and phenomenon, phenomena of the physic ...
'' named Jupyter as one of ten computing projects that transformed science.


Jupyter Notebook

Jupyter Notebook can colloquially refer to two different concepts, either the user-facing application to edit code and text, or the underlying file format which is interoperable across many implementations.


Applications

Jupyter Notebook (formerly IPython Notebook) is a web-based interactive computational environment for creating
notebook A notebook (also known as a notepad, writing pad, drawing pad, or legal pad) is a book or stack of paper pages that are often ruled and used for purposes such as note-taking, journaling or other writing, drawing, or scrapbooking and more. ...
documents. Jupyter Notebook is built using several
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
libraries, including
IPython IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and his ...
, ZeroMQ,
Tornado A tornado is a violently rotating column of air that is in contact with the surface of Earth and a cumulonimbus cloud or, in rare cases, the base of a cumulus cloud. It is often referred to as a twister, whirlwind or cyclone, although the ...
, jQuery, Bootstrap, and
MathJax MathJax is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX, and ASCIIMathML markup. MathJax is released as open-source software under the Apache License. The MathJax project started in ...
. A Jupyter Notebook application is a browser-based REPL containing an ordered list of input/output cells which can contain code, text (using Github Flavored
Markdown Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as an easy-to-read markup language. Markdown is widely used for blogging and instant messaging, and also used ...
), mathematics, plots and
rich media Interactive media refers to digital experiences that dynamically respond to user input, delivering content such as text, images, animations, video, audio, and even AI-driven interactions. Over the years, interactive media has expanded across ...
. Jupyter Notebook is similar to the notebook interface of other programs such as
Maple ''Acer'' is a genus of trees and shrubs commonly known as maples. The genus is placed in the soapberry family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated si ...
,
Mathematica Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
, and
SageMath SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentia ...
, a computational interface style that originated with Mathematica in the 1980s. Jupyter interest overtook the popularity of the Mathematica notebook interface in early 2018. JupyterLab is a newer user interface for Project Jupyter, offering a flexible user interface and more features than the classic notebook UI. The first stable release was announced on February 20, 2018. In 2015, a joint $6 million grant from The Leona M. and Harry B. Helmsley Charitable Trust, The Gordon and Betty Moore Foundation, and The Alfred P. Sloan Foundation funded work that led to expanded capabilities of the core Jupyter tools, as well as to the creation of JupyterLab. GitHub announced in November 2022 that JupyterLab would be available in its online Coding platform called Codespace. In August 2023, Jupyter AI, a Jupyter extension, was released. This extension incorporates
generative artificial intelligence Generative artificial intelligence (Generative AI, GenAI, or GAI) is a subfield of artificial intelligence that uses generative models to produce text, images, videos, or other forms of data. These models Machine learning, learn the underlyin ...
into Jupyter notebooks, enabling users to explain and generate code, rectify errors, summarize content, inquire about their local files, and generate complete notebooks based on natural language prompts. JupyterHub is a multi-user server for Jupyter Notebooks. It is designed to support many users by spawning, managing, and proxying many singular Jupyter Notebook servers.


Documents

A Jupyter Notebook document is a
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
file, following a versioned schema, usually ending with the ".ipynb" extension. The main parts of the Jupyter Notebooks are: Metadata, Notebook format and list of cells. Metadata is a data Dictionary of definitions to set up and display the notebook. Notebook Format is a version number of the software. List of cells are different types of Cells for Markdown (display), Code (to execute), and output of the code type cells. While JSON is the most common format, it is possible to forgo some features (like storing images and metadata), and save notebooks as markdown documents using extensions like Jupytext. Jupytext is often used in conjunction with version control to make diffing and merging of notebooks simpler.


See also

* * GNU Data Language * * * *


References


External links

*
Jupyter on GitHub

Jupyter kernels

Jupyter Tutorial
{{Numerical analysis software Free and open-source software organizations Organizations established in 2015