New Jupyter Client Released
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:
Collaboration
Simultaneous Editors
Simultaneous editing by multiple people is now fully supported, including multiple cursors and document-wide, user-specific undo and redo.
Chat
Each notebook now has a chat sidebar. As always, chat supports markdown, \LaTeX, and video chat.
Server-side enhancements
TimeTravel
Jupyter includes TimeTravel just like our other editors. It shows detailed history of all changes to a notebook, and the author of each change.
Output
- Sophisticated handling of large output: throttling, windowing, back-end buffering.
- Background capture of execution output, even if no user has the notebook open in their browser.
User interface
- Cleaner, more modern look with buttons and menus that better reflect state.
- Better mobile web support.
- Uniform font sizing.
- Code folding.
- Vim, Emacs, and Sublime keybindings, and color schemes (in account settings).
- Export notebook file to LaTeX using "File > Download as... > LaTeX (.tex)...".
- A purely client-side notebook viewer for easily sharing your work publicly.
- Raw file edit mode: synchronized editing of underlying JSON ipynb file. See resulting changes to the rendered notebook in real time.
- Object view of notebook, potentially useful for debugging or developing advanced applications.
- Jupyter notebooks are now supported in Firefox. Previously, opening them was disabled in Firefox on SMC due to browser issues that resulted in file truncation.
Conclusion
Try the new Jupyter client right now at https://cloud.sagemath.com. 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).