What is in new JupyterLab for users?

Original author: Project Jupyter
  • Transfer

One of the main tools in our BigData Developer course is Jupyter . Take a look at what its developers have prepared in a new iteration and what is already available in beta.


In short: JupyterLab is ready for daily use ( installation , documentation , excursion through Binder )

JupyterLab is an interactive development environment for working with notepads, code and data.

The Evolution of the Jupyter Notebook

The Jupyter project exists to develop open source software, open standards, and services for interactive and reproducible computing.

Since 2011, the Jupyter Notebook has been the flagship project for creating reproducible computational descriptions. The Jupyter Notebook allows users to create and share documents that combine live code with narrative text, mathematical equations, visualization, interactive controls, and many other great features. It also provides building blocks for interactive computing with data: a file browser, terminals, and a text editor.

The Jupyter Notebook is ubiquitous with the rapid growth of datalogy and machine learning and the growing popularity of open source software in the industry and academia:

  • Today, there are millions of Jupyter Notebook users in many fields, from data science and machine learning to music and education. The international community is gathered from almost all countries on Earth.
  • Jupyter Notebook now supports over 100 programming languages , most of which have been developed by the community.
  • GitHub has over 1.7 million Jupyter public notebooks. Authors publish Jupyter notebooks along with research, academic journals, data journalism, training courses, and books.

At the same time, the community faced difficulties in implementing various software workflows on a standard notebook without auxiliary tools, for example, using code from text files in an interactive mode. The classic Jupyter Notebook, built on web technologies since 2011, is also hard to customize and expand.

JupyterLab: ready for users

JupyterLab is an interactive development environment for working with notebooks, code and data. Most importantly, JupyterLab has full support for Jupyter notebooks. In addition, JupyterLab allows you to use text editors, terminals, data file viewers, and other customizable components next to notepads in a tabbed workspace.

JupyterLab allows you to organize your work area using notepads, text files, terminals and notepads.

JupyterLab provides a high level of integration between notebooks, documents and actions:

  • Used drag-and-drop so that you can reorder cells and copy them between notebooks.
  • Blocks of code are executed interactively directly from text files (.py, .R, .md, .tex, etc.).
  • You can associate the code console with the core of the notebook to study the code interactively without cluttering the notebook with temporary changes.
  • The ability to edit popular file formats with real-time preview, such as Markdown, JSON, CSV, Vega, VegaLite and others.

To get started, you should familiarize yourself with the documentation and installation instructions or take a look with MyBinder . You can also configure JupyterHub to run JupyterLab.

Customize your JupyterLab

JupyterLab is built on a system of extensions that let you customize and improve your environments. In fact, all the built-in functionality of JupyterLab itself (notepads, terminals, file browser, menu system, etc.) is provided by a set of basic extensions.

JupyterLab extensions allow you to work with various data formats, such as GeoJSON, JSON and CSV.

Among other things, extensions can:

  • Provide new themes, file editors or visualization tools for voluminous outputs in notebooks;
  • Add menu items, keyboard shortcuts or additional settings;
  • Provide APIs for other extensions.

Community-developed extensions on GitHub are tagged jupyterlab-extension and currently include file viewers (GeoJSON, FASTA, etc.), integration with Google Drive, viewing GitHub, and ipywidgets support.

Developing JupyterLab Extensions

Although most JupyterLab users will install pre-built extensions, some will want to develop their own. The extension development API is still developing in this beta and should stabilize in JupyterLab 1.0. To start developing a JupyterLab extension, see the JupyterLab Extension Developer's Guide and extension templates for TypeScript or JavaScript .

JupyterLab itself is being developed based on the new Javascript library to create PhosphorJS desktop-style extensible, high-performance web applications. It uses advanced JavaScript technologies such as TypeScript, React, Lerna, Yarn and webpack. Unit tests, documentation, consistent coding standards, and user research help us maintain a high quality application.

JupyterLab 1.0 onwards

JupyterLab 1.0 is scheduled to be released in 2018. Betas leading to version 1.0 will focus on stabilizing extension APIs, improving the user interface, and additional core features. All releases in the beta series will be stable enough for everyday use.

JupyterLab 1.0 will eventually replace the classic Jupyter notebook. Throughout this transition, the same document format for notebooks will be supported by both classic notepad and JupyterLab.


If you want to take part in the development of JupyterLab, then there are many ways to do this:

  • Use the extension development APIs to create your own JupyterLab extensions. Please add the jupyterlab-extension extension theme if the extension is hosted on GitHub. Feedback is very valuable.
  • You can contribute to the development, documentation, and design of JupyterLab on GitHub . To get started with development, check out the Implementation Guide and Code of Conduct . Problems that are ideal for new entrants are identified as “a good first assignment ” or “need help .
  • You can contact us on our troubleshooting page on GitHub or our Gitter channel . This is useful if an error is detected or you want to get some feedback from the developers.


Questions, comments, as always, are waiting either here or at the Open Day , where you can torment Ksenia with questions, both on the course and in general.

Also popular now: