The Evolution of the Jupyter Notebook
Project Jupyter exists to develop open-source software, open standards, and services for interactive and reproducible computing.
Since 2011, the Jupyter Notebook has been our flagship project for creating reproducible computational narratives. The Jupyter Notebook enables users to make and share documents that combine live code with narrative text, mathematical equations, visualizations, interactive controls, and other rich output. It also provides building blocks for interactive computing with data: a file browser, terminals, and a text editor.
The Jupyter Notebook has become ubiquitous with the rapid climb of knowledge science and machine learning and therefore the rising popularity of open-source software in industry and academia:
Today there are many users of the Jupyter Notebook in many domains, from data science and machine learning to music and education. Our international community comes from almost every country on earth.¹
The Jupyter Notebook now supports over 100 programming languages, most of which are developed by the community.
There are over 1.7 million public Jupyter notebooks hosted on GitHub. Authors are publishing Jupyter notebooks in conjunction with research project , academic journals, data journalism, educational courses, and books.
At an equivalent time, the community has faced challenges in using various software workflows with the notebook alone, like running code from text files interactively. The classic Jupyter Notebook, built on web technologies from 2011, is additionally difficult to customize and extend.
JupyterLab: Ready for Users
JupyterLab is an interactive development environment for working with notebooks, code and data. most significantly , JupyterLab has full support for Jupyter notebooks. Additionally, JupyterLab enables you to use text editors, terminals, file viewers, and other custom components side by side with notebooks during a tabbed work area.
JupyterLab provides a high level of integration between notebooks, documents, and activities:
Drag-and-drop to reorder notebook cells and replica them between notebooks.
Run code blocks interactively from text files (.py, .R, .md, .tex, etc.).
Link a code console to a notebook kernel to explore code interactively without cluttering up the notebook with temporary scratch work.
Edit popular file formats with live preview, like Markdown, JSON, CSV, Vega, VegaLite, and more.
JupyterLab has been over three years within the making, with over 11,000 commits and a couple of ,000 releases of npm and Python packages. Over 100 contributors from the broader community have helped build JupyterLab additionally to our core JupyterLab developers.
To get started, see the JupyterLab documentation for installation instructions and a walk-through, or try JupyterLab with Binder. you’ll also found out JupyterHub to use JupyterLab.
Customize Your JupyterLab Experience
JupyterLab is made on top of an extension system that permits you to customize and enhance JupyterLab by installing additional extensions. In fact, the builtin functionality of JupyterLab itself (notebooks, terminals, file browser, menu system, etc.) is provided by a group of core extensions.
Among other things, extensions can:
Provide new themes, file editors and viewers, or renderers for rich outputs in notebooks;
Add menu items, keyboard shortcuts, or advanced settings options;
Provide an API for other extensions to use.
Community-developed extensions on GitHub are tagged with the jupyterlab-extension topic, and currently include file viewers (GeoJSON, FASTA, etc.), Google Drive integration, GitHub browsing, and ipywidgets support.
Develop JupyterLab Extensions
JupyterLab 1.0 and Beyond
We decide to release JupyterLab 1.0 later in 2018. The beta releases leading up to 1.0 will specialise in stabilizing the extension development API, interface improvements, and extra core features. All releases within the beta series are going to be stable enough for daily usage.
JupyterLab 1.0 will eventually replace the classic Jupyter Notebook. Throughout this transition, an equivalent notebook document format is going to be supported by both the classic Notebook and JupyterLab.