New features in Notebook 7#
This document describes the new features in Notebook 7 as originally mentioned in the related Jupyter Enhancement Proposal JEP 79.
Notebook 7 includes a new debugger that allows you to step through your code cell by cell. You can also set breakpoints and inspect variables.
Real Time collaboration#
Notebook 7 allows for using the real time collaboration extension so you can share your notebook with other users and edit it in real time.
The Real Time Collaboration feature is the same as in JupyterLab and is available as a JupyterLab extension. It is not enabled by default, but you can install with
pip install jupyter-collaboration
conda install -c conda-forge jupyter-collaboration
After installing the extension, restart the Jupyter Server so the extension can be loaded.
It is possible for two users to work on the same notebook using Notebook 7 or JupyterLab.
Table of Contents#
Notebook 7 includes a new table of contents extension that allows you to navigate through your notebook using a sidebar. The Table of Contents is built-in and enabled by default, just like in JupyterLab.
Theming and Dark Mode#
A Dark Theme is now available in the Jupyter Notebook by default. You can also install other themes as JupyterLab extensions.
You can also install many other JupyterLab themes. For example to install the JupyterLab Night theme:
pip install jupyterlab-night
Then refresh the page and select the new theme in the settings:
Notebook 7 now provides the ability to set the display language of the user interface.
Users will need to install the language pack as a separate Python package. Language packs are grouped in the language packs repository on GitHub, and can be installed with
pip. For example, it is possible to install the language pack for French (France) using the following command:
pip install jupyterlab-language-pack-fr-FR
After installing the language pack, reload the page and the new language should be available in the settings.
Notebook 7 and JupyterLab share the same language packs, so it is possible to use the same language pack in both applications.
Improved Web Content Accessibility Guidelines (WCAG) compliance#
Improving the accessibility of Jupyter had long been impeded by significant obstacles. The primary obstacle was that the text editor underlying the Jupyter Notebook (CodeMirror 5) had major accessibility issues.
Fortunately, this accessibility bottleneck has been unblocked as JupyterLab has been upgraded to use CodeMirror 6, a complete rewrite of the text editor with a strong focus on accessibility. Although this upgrade required extensive codebase modifications, the changes is available with JupyterLab 4. By being built on top of JupyterLab, Jupyter Notebook 7 directly benefits from the CodeMirror 6 upgrade.
Check out the related blog post for more details: Improving the accessibility of Jupyter.
Support for many JupyterLab extensions#
Notebook 7 is based on JupyterLab and therefore supports many of the existing JupyterLab extensions.
You can install JupyterLab extensions with
conda. For example to install the LSP (Language Server Protocol) extension for enhanced code completion, you can use the following commands:
pip install jupyter-lsp
conda install -c conda-forge jupyter-lsp
Popular extensions like
RISE have already been ported to work with Notebook 7.
The nbgrader extension is still under active development and a version compatible with Notebook 7 is not yet available on PyPI. However a version compatible with Notebook 7 will be available before the final release of Notebook 7.
The RISE extension is still under active development and a version compatible with Notebook 7 is not yet available on PyPI.
The RISE extension is another popular JupyterLab extension that is being ported to work with Notebook 7. It allows you to turn your Jupyter Notebooks into a slideshow.
The extension is still under active development. When ready, it will be possible to install it with
pip install jupyterlab-rise
A document-centric user experience#
Despite all the new features and as stated in JEP 79, Notebook 7 keeps the document-centric user experience of the Classic Notebook:
Compact View on Mobile Devices#
Notebook 7 automatically switches to a more compact layout on mobile devices, making it convenient to run code on the go.
This was just a quick overview of the new features in Notebook 7. For more details, you can check out the following resources:
The JupyterLab Documentation is a great resource to learn more about JupyterLab and the extensions available. Since Notebook 7 is based on JupyterLab, many of the features and extensions available for JupyterLab are also available for Notebook 7.
Migration Guide for Notebook 7, which explains how to migrate from the Classic Notebook to Notebook 7.