Project Jupyter

Project Jupyter
Abbreviation Jupyter
Formation 2015
Type nonprofit organization
Purpose To support interactive data science and scientific computing across all programming languages.[1]
Region served
Worldwide
Official language
English
Website jupyter.org

Project Jupyter (/ˈpɪtər/ ( listen)) is a nonprofit organization created to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages." Spun-off from IPython in 2014 by Fernando Pérez, Project Jupyter supports execution environments in several dozen languages. Project Jupyter's name is a reference to the three core programming languages supported by Jupyter, which are Julia, Python and R, and also an homage to Galileo's notebooks recording the discovery of the moons of Jupiter. Project Jupyter has developed and supported the interactive computing products Jupyter Notebook, Jupyter Hub, and Jupyter Lab, the next-generation version of Jupyter Notebook.

History

In 2014, Fernando Pérez announced a spin-off project from IPython called Project Jupyter.[2] IPython continued 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.[3][4] Jupyter is language agnostic and its name is a reference to core programming languages supported by Jupyter which are Julia, Python and R[5], and it supports execution environment (aka kernels) in several dozen of languages among which are Julia, R, Haskell, Ruby, and of course Python (via the IPython kernel).[6]

In 2015, GitHub and the Jupyter Project announced native rendering of Jupyter notebooks file format (.ipynb files) on the GitHub platform.[7][8]

Philosophy

Project Jupyter's operating philosophy is to support interactive data science and scientific computing across all programming languages via the development of open-source software. According to the Project Jupyter website, "Jupyter will always be 100% open-source software, free for all to use and released under the liberal terms of the modified BSD license."[1]

Products

Jupyter Notebook

Jupyter Notebook (formerly IPython Notebooks) is a web-based interactive computational environment for creating Jupyter notebooks documents. The "notebook" term can colloquially make reference to many different entities, mainly the Jupyter web application, Jupyter Python web server, or Jupyter document format depending on context. A Jupyter Notebook document is a JSON document, following a versioned schema, and containing an ordered list of input/output cells which can contain code, text (using Markdown), mathematics, plots and rich media, usually ending with the ".ipynb" extension.

Jupyter notebooks document can be converted to a number of open standard output formats (HTML, presentation slides, LaTeX, PDF, ReStructuredText, Markdown, Python) through 'Download As' in the web interface, via the nbconvert library or 'jupyter nbconvert' command line interface in a shell.

To simplify visualisation of Jupyter notebook documents on the web, the nbconvert library is provided as a service through NbViewer which can take a URL to any publicly available notebook document, convert it to HTML on the file and display it to the user.

IPython Notebook interface

Jupyter Notebook provides a browser-based REPL built upon a number of popular open-source libraries:

Jupyter Notebook can connect to many kernels, (by default Jupyter Notebook ships with the IPython kernel) to allow programming in many languages. As of the 2.3 release[9][10] (October 2014), there are currently 49 Jupyter-compatible kernels for as many programming languages, including Python, R, Julia and Haskell.[11]

The Notebook interface was added to IPython in the 0.12 release[12] (December 2011), renamed to Jupyter notebook in 2015 (IPython 4.0 – Jupyter 1.0). 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[13]. According to The Atlantic, Jupyter interest overtook the popularity of the Mathematica notebook interface in early 2018[13].

Jupyter kernels

A Jupyter kernel is a program responsible for handling various types of request (code execution, code completions, inspection), and providing a reply. Kernels talks to the other components of Jupyter using ZeroMQ over the network, and thus can be on the same or remote machines. Unlike many other Notebook-like interface, in Jupyter, kernels are not aware they are attached to a specific document, and can be connected to from many client at once. Usually Kernels are implemented and allow execution of a single language with a couple of exceptions.

By default Jupyter ships with IPython as a default kernel and reference implementation via the ipykernel wrapper. Kernels of various quality and features for many languages are available.

Jupyter Hub

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.

Jupyter Lab

JupyterLab is the next-generation user interface for Project Jupyter. It offers all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface. The first stable release was announced on February 20, 2018.[14]

Industry adoption

The Jupyter Notebook has become a popular user interface for Cloud computing, and major cloud providers have adopted the Jupyter Notebook or derivative tools as a frontend interface for cloud users. Examples include Amazon's SageMaker Notebooks[15], Google's Colaboratory[16], and Microsoft's Azure Notebook[17]

Colaboratory

Colaboratory (also known as Colab) is a free and open-source Jupyter notebook environment that runs in the cloud and stores its notebooks on Google Drive. Colaboratory started as a part of Project Jupyter,[18] but the development was eventually taken over by Google[19]. As of September 2018, Colaboratory only supports the Python 2 and Python 3 kernels and does not support the other Jupyter kernels Julia and R.

Media coverage

  • On February 11, 2016, the LIGO collaboration announced the First observation of gravitational waves. The collaboration released the raw scientific data along with Jupyter Notebooks containing Python code to process the data and reproduce the figures from the discovery paper.[20]
  • On April 5, 2018, The Atlantic published an article entitled The Scientific Paper Is Obsolete, which discussed the role of the Jupyter Notebook and the Mathematica notebook in the future of scientific publishing[13]. This article led to responses from prominent scientists and academics, including economist Paul Romer.[21]

Grants and awards

See also

References

  1. 1 2 "Project Jupyter - About Us". 2018-04-20. Retrieved 2018-05-03.
  2. "Project Jupyter // Speaker Deck".
  3. "The Notebook, Qt console and a number of other pieces are now parts of Jupyter".
  4. "The Big Split™".
  5. "jupyter/design". GitHub.
  6. "Project Jupyter | Home".
  7. sshirokov (2015-05-07). "GitHub + Jupyter Notebooks = <3". The GitHub Blog. Retrieved 2018-04-10.
  8. "Rendering Notebooks on GitHub – Jupyter Blog". Jupyter Blog. 2015-05-07. Retrieved 2018-04-10.
  9. "What's new in IPython > Issues closed in the 2.x development cycle".
  10. "What's new in IPython > 2.0 Series".
  11. "Jupyter kernels > List of (some) IPython compatible kernels".
  12. "Notebook's announcement- 0.12 release note".
  13. 1 2 3 Somers, James. "The Scientific Paper Is Obsolete". The Atlantic. Retrieved 2018-04-10.
  14. "JupyterLab is Ready for Users – Jupyter Blog". Jupyter Blog. 2018-02-20. Retrieved 2018-05-04.
  15. "Amazon SageMaker on AWS". Amazon Web Services, Inc. Retrieved 2018-05-09.
  16. "Welcome to Colaboratory". research.google.com. Retrieved 2018-05-09.
  17. "Microsoft Azure Notebooks - Online Jupyter Notebooks". notebooks.azure.com. Retrieved 2018-05-09.
  18. "Nerds rejoice: Google just released its internal tool to collaborate on AI". Quartz. Retrieved 2018-09-06.
  19. "jupyter/colaboratory". GitHub. Retrieved 2018-09-06.
  20. "LIGO Open Science Center". losc.ligo.org. Retrieved 2018-05-04.
  21. "Jupyter, Mathematica, and the Future of the Research Paper – Paul Romer". paulromer.net. Retrieved 2018-04-15.
  22. "Sloan Foundation Grant — IPython". ipython.org. Retrieved 2018-05-03.
  23. "An Open Source Framework for Interactive, Collaborative and Reproducible Scientific Computing and EducationOpen Source Tools for Interactive, Collaborative and Reproducible Computing". ipython.org. Retrieved 2018-05-03.
  24. Perez, Fernando (December 28, 2015). "IPython 2015 Final Report - Sloan Foundation" (PDF). ipython.org. Retrieved May 3, 2018.
  25. "UC Berkeley and Cal Poly to Expand and Enhance Open-Source Software for Scientific Computing and Data Science | Helmsley Charitable Trust". helmsleytrust.org. Retrieved 2018-05-03.
  26. "Software System Award". ACM Awards. Association for Computing Machinery. Retrieved April 28, 2016.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.