Skip to content

QuantStack/ypywidgets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.