Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support server-side execution #10

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

Conversation

davidbrochart
Copy link
Member

Before this PR, yjs-widgets only supports client-side execution, where JupyterLab talks to the kernel through the kernel protocol over WebSocket. In this execution mode, widgets are created and synchronized client-side through Comms.
This PR implements the rendering of widgets using server-side execution, where JupyterLab doesn't handle the kernel protocol over WebSocket, but instead uses a REST API to trigger cell execution, and reacts to notebook changes through its shared model.
It will allow to have jupyterlab-collaborative-input use yjs-widgets instead of using the notebook shared model as a container for the input model. An input widget is provided in this PR.

@davidbrochart davidbrochart marked this pull request as draft June 10, 2024 17:47
@davidbrochart
Copy link
Member Author

davidbrochart commented Jun 10, 2024

This is still a work in progress, I'm not sure things are in the right place or if there are more opportunities for abstractions.

cc @martinRenou @trungleduc

@trungleduc
Copy link
Member

Hi @davidbrochart , there is no python part to invoke the widget?

@davidbrochart
Copy link
Member Author

It's currently part of jupyter-server/jupyverse#420, which has an InputModel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants