Announcing Jupyter Notebook 7

Project Jupyter
Jupyter Blog
Published in
5 min readJul 26, 2023

--

Jupyter Notebook 7 is the most significant release of the Jupyter Notebook in years. Some highlights of this release include real-time collaboration, interactive debugging, table of contents, theming and dark mode, internationalization, improved accessibility, compact view on mobile devices.

Both Jupyter Notebook and JupyterLab are widely used across data science, machine learning, computational research, and education. With the release of JupyterLab 4 and Jupyter Notebook 7, the two sibling applications offer a unified, flexible, and integrated experience that allows you to get the best of both, in whatever combination that makes sense for you.

Jupyter Notebook 7 with a running Python 3 notebook

Since Notebook 7 is based on JupyterLab, it includes many of the new features and improvements that have been added to JupyterLab over the past few years.

Here is a small glimpse of what users can expect when they upgrade from Jupyter Notebook version 6 to version 7.

A Familiar Document-Oriented Experience

Starting with what does not change, Notebook 7 still focuses on the document-centric user experience that made the classic IPython and Jupyter Notebook application so popular.

It keeps the clean and lean interface that users love, and it enables you to create and edit the same Jupyter notebook .ipynb files that contain live code, equations, visualizations and narrative text.

Visual Debugger

Notebook 7 includes the interactive debugger from JupyterLab, which enables you to step through your code cell by cell. You can also set breakpoints and inspect variables.

Visual debugging in Jupyter Notebook 7

Real-Time Collaboration

Notebook 7 enables you to use the same real-time collaboration extension as JupyterLab so you can share your notebook with other users and edit it in real time. This even works across JupyterLab and Jupyter Notebook! To start using real-time collaboration, you will need to install the jupyter-collaboration extension:

pip install jupyter-collaboration
A side-by-side animated example of real-time collaboration in Jupyter Notebook 7

Theming and Dark Mode

A dark theme is now available in the Jupyter Notebook by default.

Jupyter Notebook 7 with JupyterLab Dark theme

You can also install many other JupyterLab themes. For example to install the JupyterLab night theme:

pip install jupyterlab-night
Jupyter Notebook 7 with JupyterLab Night theme

Improved integration between JupyterLab and Notebook

We have built Notebook 7 and JupyterLab 4 to work well together. When you run either application using jupyter lab or jupyter notebook, we automatically detect if the other application is installed and enable its user experience as well. This is possible as both JupyterLab and Notebook use the same underlying server and extension system. From a user experience perspective, this allows you to easily open a notebook in the other application using the “JupyterLab” and “Notebook” buttons as the top of each notebook. This makes it seamless to move back and forth between the two applications to best match your work.

More features

You can find a list of the new features in the Jupyter Notebook documentation.

Why a new version?

Following feedback from the community, we decided in late 2021 to continue developing the Jupyter Notebook application and sunrise it as Notebook 7.

The major change is building the Jupyter Notebook 7 interface with JupyterLab components so that the two applications share a common codebase and extension system. We have worked hard to ensure that the experience users know and love from Jupyter Notebook 6 is preserved, even as we have added many new features to Notebook 7. Let’s dive into those new features!

You can find more details about the rationale behind this new release in Jupyter Enhancement Proposal 79.

Migrating to Notebook 7

The Jupyter Notebook Team has been working to make the transition from Notebook 6 to Notebook 7 as smooth as possible. The Notebook 7 release is a good opportunity to try out the new features and report any issues you may encounter.

Because the architecture of Notebook 7 is rebuilt from the ground up, we recognize that some existing users might need a medium-term option for backward-compatibility with Notebook 6 using NbClassic, which delivers the same user experience and can be run on the same server as JupyterLab and Notebook 7. This means that the server hosting your Notebook can deliver those 3 difference user interfaces at the same time.

There is also a migration guide to help you upgrade to the new version.

Try it on Binder

You can try Notebook 7 on Binder using this link.

Acknowledgements

The work on Notebook 7 by Jeremy Tuloup was supported by QuantStack.

Anaconda supported work on Notebook 6 and 7, NbClassic, documentation and maintenance.

Get Involved

There are many ways you can participate in the Notebook 7 effort. We welcome contributions from all members of the Jupyter community:

  • Make your own extensions. You can also help the community by porting Classic Notebook extensions to Notebook 7.
  • Contribute to the development, documentation, and design of Jupyter Notebook on GitHub. To get started with development, please see the Contributing Guide and Code of Conduct. Many issues are ideal for new contributors and are tagged as “good first issue” or “help wanted”.
  • Connect with the community on GitHub or on Discourse. If you find a bug, have questions, or want to provide feedback, please join the conversation!

--

--

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