Project Jupyter
{{short description|Open source data science software}}
{{Infobox organization
| name = Project Jupyter
| image = Jupyter logo.svg
| image_size = 120px
| image_border =
| size =
| caption =
| map =
| msize =
| mcaption =
| abbreviation = Jupyter
| motto =
| formation = {{start date and age|2015|2}}
| extinction =
| type = Nonprofit organization
| status =
| purpose = Interactive data science and scientific computing
| headquarters =
| location =
| coords =
| region_served = Worldwide
| membership =
| language = English
| leader_title =
| leader_name =
| leader_title2 =
| leader_name2 =
| main_organ =
| parent_organization =
| affiliations =
| num_staff =
| num_volunteers =
| revenue =
| revenue_year =
| website = {{URL|https://jupyter.org/}}
| remarks = Off
}}
Project Jupyter (pronounced "Jupiter") is a project to develop open-source software, open standards, and services for interactive computing across multiple programming languages.
It was spun off from IPython 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's discovery of the moons of Jupiter, as documented in notebooks attributed to Galileo.
Jupyter is financially sponsored by the Jupyter Foundation.{{cite news|title=Linux Foundation Announces Formation of the Jupyter Foundation|url=https://www.linuxfoundation.org/press/linux-foundation-announces-formation-of-the-jupyter-foundation|publisher=The Linux Foundation|access-date=2025-03-24}}
History
File:Galileo Galilei (1564 - 1642) - Serenissimo Principe - manuscript with observations of Jupiter and four of its moons, 1610.png's observations of Jupiter (⊛) and four of its moons (✱), which inspired the Jupyter logo]]
The first version of Notebooks for IPython was released in 2011 by a team including Fernando Pérez, Brian Granger, and Min Ragan-Kelley.{{cite news |last1=Vu |first1=Linda |title=Project Jupyter: A Computer Code that Transformed Science |url=https://cs.lbl.gov/news-media/news/2021/project-jupyter-a-computer-code-that-transformed-science/ |access-date=August 15, 2022 |work=Berkeley Lab Computing Sciences |date=June 14, 2021 |language=en}} In 2014, Pérez announced a spin-off project from IPython called Project Jupyter.{{cite web|url=https://speakerdeck.com/fperez/project-jupyter|title=Project Jupyter // Speaker Deck}} IPython continues to exist as a Python shell and a kernel for Jupyter, while the notebook and other language-agnostic parts of IPython moved under the Jupyter name.{{cite web|url=https://github.com/ipython/ipython|title=The Notebook, Qt console and a number of other pieces are now parts of Jupyter|website=GitHub|date=29 May 2021}}{{cite web|url=https://blog.jupyter.org/the-big-split-9d7b88a031a7|title=The Big Split™|date=28 August 2017}} Jupyter supports execution environments (called "kernels") in several dozen languages, including Julia, R, Haskell, Ruby, and Python (via the IPython kernel).
In 2015, about 200,000 Jupyter notebooks were available on GitHub. By 2018, about 2.5 million were available.{{cite journal |last1=Perkel |first1=Jeffrey M. |title=Why Jupyter is data scientists' computational notebook of choice |url=https://www.nature.com/articles/d41586-018-07196-1 |access-date=August 15, 2022 |journal=Nature |date=October 30, 2018 |volume=563 |issue=7729 |pages=145–146 |language=en |doi=10.1038/d41586-018-07196-1|pmid=30375502 |bibcode=2018Natur.563..145P |s2cid=256770398 |url-access=subscription }} In January 2021, nearly 10 million were available, including notebooks about the first observation of gravitational waves{{Cite journal|url=https://losc.ligo.org/events/GW150914/|title=LIGO Open Science Center|website=losc.ligo.org|year=2016 |doi=10.7935/K5MW2F23 |language=en|access-date=2018-05-04|author1=LIGO Scientific Collaboration }} and about the 2019 discovery of a supermassive black hole.
Major cloud computing providers have adopted the Jupyter Notebook or derivative tools as a frontend interface for cloud users. Examples include Amazon SageMaker Notebooks,{{cite news |last1=Gallagher |first1=Sean |title=Machine learning, concluded: Did the "no-code" tools beat manual analysis? |url=https://arstechnica.com/information-technology/2022/08/no-code-wrapped-our-ml-experiment-concludes-but-did-the-machine-win/ |access-date=August 15, 2022 |work=Ars Technica |date=August 15, 2022 |language=en-us}} Google's Colab,{{cite news |last1=Sherrer |first1=Kara |title=Google Colab vs Jupyter Notebook: Compare data science software |url=https://www.techrepublic.com/article/google-colab-vs-jupyter-notebook/ |access-date=August 15, 2022 |work=TechRepublic |date=May 25, 2022}}{{Cite news|url=https://qz.com/1113999/nerds-rejoice-google-just-released-its-internal-tool-to-collaborate-on-ai/|title=Nerds rejoice: Google just released its internal tool to collaborate on AI|work=Quartz|access-date=2018-09-06|language=en-US}} and Microsoft's Azure Notebook.{{cite news |last1=Wayner |first1=Peter |title=Essential data science tools for elevating your analytics operations |url=https://www.cio.com/article/309758/essential-data-science-tools-for-elevating-your-analytics-operations.html |access-date=August 15, 2022 |work=CIO |date=May 5, 2022}}
Visual Studio Code 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.{{cite news |last1=Ramel |first1=David |title=VS Code and Python: A Natural Fit for Data Science - |url=https://visualstudiomagazine.com/articles/2022/07/12/python-vs-code.aspx |access-date=August 15, 2022 |work=Visual Studio Magazine |date=July 12, 2022}}
The steering committee of Project Jupyter received the 2017 ACM Software System Award, 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".{{cite web |url=http://awards.acm.org/software_system/year.cfm |work=ACM Awards |title=Software System Award |publisher=Association for Computing Machinery |access-date={{Format date|2016|04|28}} |archive-date=2016-05-05 |archive-url=https://web.archive.org/web/20160505152017/http://awards.acm.org/software_system/year.cfm |url-status=dead }}
The Atlantic published an article entitled "The Scientific Paper Is Obsolete" in 2018, discussing the role of Jupyter Notebook and the Mathematica notebook in the future of scientific publishing. Economist Paul Romer, 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."{{Cite web|url=https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper/|title=Jupyter, Mathematica, and the Future of the Research Paper | first = Paul | last = Romer|website=paulromer.net|language=en-US|access-date=2018-04-15}}
In 2021, Nature named Jupyter as one of ten computing projects that transformed science.{{cite journal |last1=Perkel |first1=Jeffrey M. |title=Ten computer codes that transformed science |url=https://www.nature.com/articles/d41586-021-00075-2 |access-date=August 15, 2022 |journal=Nature |date=January 20, 2021 |volume=589 |issue=7842 |pages=344–348 |language=en |doi=10.1038/d41586-021-00075-2|pmid=33473232 |bibcode=2021Natur.589..344P |s2cid=231663425 |url-access=subscription }}
Jupyter Notebook
{{Infobox software
| name = Jupyter Notebook
| screenshot = Jupyter Notebook.png
| caption = Screenshot showing a widget to calculate the matrix
| developer = Project Jupyter
| latest release version = {{wikidata|property|preferred|references|edit|Q105099901|P348|P548=Q2804309}}
| latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q105099901|P348|P548=Q2804309|P577}}|df=yes}}
| repo = {{URL|https://github.com/jupyter/notebook}}
| license = 3-clause BSD License{{cite web|title=notebook/LICENSE at main · jupyter/notebook|website=GitHub |url=https://github.com/jupyter/notebook/blob/master/LICENSE}}
| website = {{URL|https://jupyter.org/}}
}}
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 documents. Jupyter Notebook is built using several open-source libraries, including IPython, ZeroMQ, Tornado, jQuery, Bootstrap, and MathJax. 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), mathematics, plots and rich media.
Jupyter Notebook is similar to the notebook interface of other programs such as Maple, Mathematica, and SageMath, a computational interface style that originated with Mathematica in the 1980s. Jupyter interest overtook the popularity of the Mathematica notebook interface in early 2018.{{Cite news|url=https://www.theatlantic.com/science/archive/2018/04/the-scientific-paper-is-obsolete/556676/|title=The Scientific Paper Is Obsolete|last=Somers|first=James|work=The Atlantic|access-date=2018-04-10|language=en-US}}
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.{{Cite news|url=https://blog.jupyter.org/jupyterlab-is-ready-for-users-5a6f039b8906|title=JupyterLab is Ready for Users |date=2018-02-20|work=Jupyter Blog|access-date=2018-05-04}}{{cite news |last1=Brust |first1=Andrew |title=Data science notebooks get real: JupyterLab releases to users |url=https://www.zdnet.com/article/can-data-science-notebooks-get-real-jupyter-lab-releases-to-users/ |access-date=August 15, 2022 |work=ZDNet |date=February 24, 2018 |language=en}} 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.{{Cite web|url=https://helmsleytrust.org/news/uc-berkeley-and-cal-poly-expand-and-enhance-open-source-software-scientific-computing-and-data|title=UC Berkeley and Cal Poly to Expand and Enhance Open-Source Software for Scientific Computing and Data Science {{!}} Helmsley Charitable Trust|website=helmsleytrust.org|language=en|access-date=2018-05-03|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103220158/https://helmsleytrust.org/news/uc-berkeley-and-cal-poly-expand-and-enhance-open-source-software-scientific-computing-and-data|url-status=dead}}
GitHub announced in November 2022 that JupyterLab would be available in its online Coding platform called Codespace.{{Cite web |title=Using Codespaces with JupyterLab (Public Beta) {{!}} GitHub Changelog |url=https://github.blog/changelog/2022-11-09-using-codespaces-with-jupyterlab-public-beta/ |access-date=2022-11-11 |website=The GitHub Blog |language=en-US}}
In August 2023, Jupyter AI, a Jupyter extension, was released. This extension incorporates generative artificial intelligence 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. {{Cite web |last=Weill |first=Jason |date= |title=Generative AI in Jupyter |url=https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862 |url-status=live |archive-url=https://archive.today/20230814170112/https://blog.jupyter.org/generative-ai-in-jupyter-3f7174824862 |archive-date=August 14, 2023 |access-date=August 19, 2023 |website=Jupyter}}
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.{{cite news |last1=Lahoti |first1=Sugandha |title=JupyterHub 1.0 releases with named servers, support for TLS encryption and more |url=https://hub.packtpub.com/jupyterhub-1-0-releases-with-named-servers-support-for-tls-encryption-and-more/ |access-date=August 15, 2022 |work=Packt Hub |date=May 6, 2019}}
= Documents =
A Jupyter Notebook document is a JSON 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.{{Cite book |last=Toomey |first=Dan |title=Learning Jupyter |publisher=Packt |year=2016 |isbn=978-1-78588-487-0 |edition=1st |location=Birmingham - Mumbai |pages=21}}
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.{{Citation |last=Wouts |first=Marc |title=mwouts/jupytext |date=2022-11-11 |url=https://github.com/mwouts/jupytext |access-date=2022-11-11}} Jupytext is often used in conjunction with version control to make diffing and merging of notebooks simpler.
See also
{{Portal|Free and open-source software}}
- {{anli|Binder Project}}
- GNU Data Language
- {{anli|GNU Octave}}
- {{anli|RStudio}}
- {{anli|Scilab}}
- {{anli|Spyder (software)}}
References
{{reflist}}
External links
- {{Official website|https://jupyter.org/}}
- [https://github.com/jupyter Jupyter on GitHub]
- [https://github.com/jupyter/jupyter/wiki/Jupyter-kernels Jupyter kernels]
- [https://jupyter-tutorial.readthedocs.io/en/latest/ Jupyter Tutorial]
{{FOSS}}
{{Statistical software}}
{{Numerical analysis software}}