Generated by DeepSeek V3.2| Jupyter Notebook | |
|---|---|
| Name | Jupyter Notebook |
| Developer | Project Jupyter community |
| Released | 27 February 2015 |
| Programming language | Python, JavaScript |
| Operating system | Cross-platform |
| Genre | Interactive computing, Computational notebook |
| License | BSD |
| Website | https://jupyter.org |
Jupyter Notebook. It is an open-source web application that allows for the creation and sharing of documents containing live code, equations, visualizations, and narrative text. The name is a loose acronym meaning Julia, Python, and R, though it supports over 40 programming languages via kernels. It is widely used for data cleaning and transformation, numerical simulation, statistical modeling, data visualization, and machine learning.
The Jupyter Notebook provides an environment for interactive, exploratory computing that blends executable code with rich text elements. It is a descendant of the IPython project, which was created by Fernando Pérez to enhance the Python interactive shell. A core concept is the computational notebook, a document format pioneered by systems like Mathematica and Maple. The notebook interface runs in a web browser and connects to a computational kernel, such as the IPython kernel, which executes code. This architecture separates the user interface from the execution engine, enabling remote computation and collaboration. Documents are saved in JSON format with an `.ipynb` extension, making them portable and version-controllable with systems like Git.
Key features include the ability to write and run code in discrete cells, with support for Markdown and LaTeX for documentation. The architecture is client-server based: the frontend, built with JavaScript libraries like CodeMirror and Backbone.js, communicates with a backend kernel via the ZeroMQ messaging protocol over a JSON-based wire protocol. Kernels for languages like R (via IRkernel), Julia, and Scala allow for polyglot programming. Outputs can include rich media such as HTML, SVG, PNG, and interactive widgets built with the Jupyter Widgets project. The nbconvert tool can export notebooks to formats like PDF, LaTeX, HTML, and reStructuredText, while nbviewer provides static rendering of notebooks online. Security is managed via token-based authentication and can be integrated with OAuth providers.
The project originated from the IPython notebook, first released in 2011 by Fernando Pérez and Brian Granger. In 2014, the broader Project Jupyter was announced to support interactive data science across multiple languages, spinning out from IPython. The first release under the Jupyter name was version 4.0 in 2015. Major funding and support have come from organizations like the Alfred P. Sloan Foundation, the Gordon and Betty Moore Foundation, and Google. Development is stewarded by the Project Jupyter governance council, with contributions from many institutions including University of California, Berkeley, Bloomberg L.P., and Microsoft. The evolution of the notebook interface led to the development of JupyterLab, announced in 2016, which offers a more integrated development environment. The underlying notebook format is standardized as part of the Jupyter Notebook Format specification.
Jupyter Notebook is extensively used in academic research, data journalism, and industrial data science. It is a staple in massive open online courses (MOOCs) on platforms like Coursera and edX for teaching programming and data analysis. Scientists at institutions like CERN and the Large Synoptic Survey Telescope project use it for analyzing experimental data. In finance, companies like Bloomberg L.P. and JPMorgan Chase employ it for quantitative modeling. The NASA Jet Propulsion Laboratory has used it for processing imagery from the Mars Science Laboratory. Its role in reproducible research is highlighted by its integration with publishing platforms like Authorea and the Open Science Framework. The notebook is also central to many cloud-based data science platforms, including Google Colab, Microsoft Azure Notebooks, and IBM Watson Studio.
The Jupyter ecosystem includes numerous subprojects. JupyterLab is the next-generation web-based interface, offering a modular environment akin to integrated development environments like Visual Studio Code. JupyterHub enables multi-user server deployments for classrooms or research groups, used by organizations like the Berkeley Institute for Data Science. For scalable computing, projects like IPyParallel and integration with Apache Spark via the Spark Magic kernel are common. Binder allows the creation of executable, sharable computing environments from a GitHub repository. Specialized kernels exist for languages like Apache Toree for Scala and IJulia for Julia. The ecosystem also includes tools for education, such as the nbgrader extension for assigning and grading notebooks, and for publishing, like The Jupyter Book project.
Category:Free software programmed in Python Category:Free science software Category:Data science software