Voilà can turn Jupyter notebooks into interactive dashboards without any modifications. This means that the millions of notebooks shared on GitHub and other online venues are just as many potential interactive dashboards. Unlike classical HTML-converted Notebooks, each user connected to a Voilà dashboard gets a live Jupyter kernel that can execute callbacks, making the dashboard interactive using e.g. Jupyter widgets.
In this talk we will present the latest updates on the Voilà open-source project, including the recent move to using components from the JupyterLab project for the rendering, enabling support for rich mime type renderers. We will also demo the ongoing work on using in-browser Python kernels from JupyterLite.
In the past years, real-time collaboration has become a must for any editor, a feature that users expect as core functionality in their daily editor. Sharing and collaborating on the same document with your colleagues or teachers increases productivity by improving the teamwork experience.
The adoption of real-time collaboration in JupyterLab has been a challenge for many developers over the years. From the very beginning, RTC was in JupyterLab's roadmap. Still, it was only in v3.x that it became a reality, and in v4.0, that it shows its real power. We want to describe the feature in detail with everyone to give extension developers the knowledge to leverage it into their plugins.
This talk will go through the RTC implementation and describe the role of the packages used.. The various entry points to use and extend real-time collaboration on documents will be highlighted. And it will show the corner cases and the restrictions it enforces.
Finally, we will offer a glimpse into how real-time collaboration works in JupyterCAD and JupyterLite. JupyterCAD is a JupyterLab extension using a non-default document type for 3D geometry modeling that supports the FreeCAD format. JupyterLite is a lightweight serverless version of JupyterLab, which changes the paradigm of collaboration. It adds a new challenge by removing the central authority that's the server, requiring the use of peer-to-peer communication to synchronize clients. The document is leveraging the real-time collaboration API to allow collaborative editing.