Skip to content

Latest commit

 

History

History
11 lines (8 loc) · 1.35 KB

README.md

File metadata and controls

11 lines (8 loc) · 1.35 KB

Build Status Code Coverage

ypywidgets: Y-based Jupyter widgets for Python

ypywidgets is a communication backend between a Jupyter kernel and clients. It allows to synchronize data structures that can be modified concurrently, and automatically resolves conflicts. To do so, it uses:

  • the Jupyter kernel Comm protocol as the transport layer, and the comm implementation of it.
  • the pycrdt CRDT implementation.
  • the reacttrs library that implements the observer pattern and validation.

It is a replacement for (a part of) ipywidgets. When used with yjs-widgets, it supports JupyterLab clients that implement widgets. The difference with ipywidgets is that these widgets are collaborative: they can be manipulated concurrently from the kernel or from any client. The CRDT algorithm ensures that a widget state will eventually be consistent across all clients.