CoCalc Blog

New SMC Jupyter Client Released

Hal Snyder • • jupyter

Today SageMath, Inc. is pleased to announce the release of a completely new Jupyter notebook implementation, optimized for SageMathCloud, our cloud-based, collaborative environment.

This new implementation was motivated by the need for better collaboration and browser/server synchronization. Rewriting also offered an opportunity to integrate previously-unavailable features of SMC into Jupyter notebooks. However, throughout this process we minimized interface discrepancies between old and new versions so that switching is as seamless as possible.

Here’s an overview of the most significant enhancements in today’s release:


Simultaneous Editors

Simultaneous editing by multiple people is now fully supported, including multiple cursors and document-wide, user-specific undo and redo.

User One and User Two editing a notebook at the same time.


Each notebook now has a chat sidebar. As always, chat supports markdown, $\LaTeX$, and video chat.

Text chat with markdown shown in panel to right of notebook body.

Server-side enhancements


Jupyter includes TimeTravel just like our other editors. It shows detailed history of all changes to a notebook, and the author of each change.

Time Travel view of previous notebook as seen by User Two
showing revision 93 (of 95) created by User One.


User interface

Sample notebook about to be exported.

Exporting notebook to Latex and opening the .tex file in SMC.

Converted ipynb file opened in LaTeX editor.


Try the new Jupyter client right now at To start a new Jupyter notebook, log into SMC, create a project if you haven’t already, select that project, and follow instructions here. Different programming languages are available by selecting different back ends, known as Jupyter kernels. The new notebook supports the same collection of kernels and programming environments as the old version.

Users who need the older Jupyter client can open the project Settings tab, scroll to bottom right, and click on “Plain Jupyter Server”.

Note: Some functionality of classical extensions and widgets are not yet supported (if you need something, let us know).