Carlos Herrero, Trung Le, David Brochart Real Time Collaboration in Jupyter | JupyterCon 2023

Discover real-time collaboration in JupyterLab, achieved through YGS framework, enabling multiple users to work together on documents, with conflict-free resolution and central authority management.

Key takeaways
  • Real-time collaboration (RTC) in JupyterLab can be achieved through YGS framework.
  • YGS is an open-source framework for building collaborative applications.
  • RTC is already available in the next release of JupyterLab.
  • YGS uses conflict-free replicated data types (CRDTs) for automatic conflict resolution.
  • JupyterCat is a 3D geometry modeling software built on JupyterLab.
  • JupyterCat’s runtime collaboration feature allows multiple users to collaborate on a single document.
  • JupyterCat supports real-time collaboration, including commenting, chat, and follow mode.
  • RTC uses a central authority to resolve conflicts and maintain consistency across clients.
  • JupyterLab uses a Y* database to store shared documents.
  • RTC can be implemented through a JupyterLab extension.
  • Users can collaborate on a shared document, including adding annotations, comments, and modifications.
  • RTC is available through a JupyterHub and can be used with multiple clients.
  • RTC allows for real-time updates and communication between collaborators.
  • RTC can be used with various types of documents, including plain text files and binary blobs.
  • JupyterCat can be deployed as a standalone app or as a JupyterLab extension.
  • RTC can be implemented with various protocols, including WebRTC.
  • JupyterLab provides a flexible architecture for building complex applications, including collaborative ones.