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 #279

Merged
merged 10 commits into from
Apr 11, 2024

Conversation

davidbrochart
Copy link
Collaborator

@davidbrochart davidbrochart commented Apr 8, 2024

This currently only works with jupyverse, not yet with jupyter-server.
You can try it with:

pip install "jupyterlab>=4.2.0b0"
pip install "jupyverse[jupyterlab, auth]>=0.4.2"
jupyverse --set kernels.require_yjs=true --set jupyterlab.server_side_execution=true

Supersedes jupyterlab/jupyterlab#15448.
Closes jupyterlab/jupyterlab#2833.
Closes jupyterlab/jupyterlab#12867.

Peek.2023-11-28.16-25.mp4

Copy link
Contributor

github-actions bot commented Apr 8, 2024

Binder 👈 Launch a Binder on branch davidbrochart/jupyter_collaboration/server-side-execution

@davidbrochart davidbrochart added the enhancement New feature or request label Apr 8, 2024
@davidbrochart davidbrochart force-pushed the server-side-execution branch from a20bd78 to 0d722e1 Compare April 8, 2024 16:07
@davidbrochart davidbrochart marked this pull request as ready for review April 9, 2024 07:32
@davidbrochart
Copy link
Collaborator Author

I don't understand the error in Test JavaScript:

@jupyter/react-components/lib/index.js:3
export * from './wrap';
^^^^^^
SyntaxError: Unexpected token 'export'

@krassowski or @jtpio do you have an idea?

@davidbrochart davidbrochart force-pushed the server-side-execution branch 4 times, most recently from 1a0617c to ec20679 Compare April 9, 2024 08:15
@davidbrochart davidbrochart force-pushed the server-side-execution branch from ec20679 to 161029e Compare April 9, 2024 08:19
@davidbrochart davidbrochart force-pushed the server-side-execution branch from 2f84bb7 to 6a33bb8 Compare April 9, 2024 14:11
@davidbrochart
Copy link
Collaborator Author

Not sure what is happening with Test Minimum Versions, any idea @blink1073 ?

@krassowski
Copy link
Member

We need similar change as in jupyterlab/jupyterlab#16105

@davidbrochart
Copy link
Collaborator Author

Thanks @krassowski !

@davidbrochart davidbrochart force-pushed the server-side-execution branch 4 times, most recently from 621cbba to 95676c4 Compare April 9, 2024 19:45
@davidbrochart davidbrochart force-pushed the server-side-execution branch from 95676c4 to a0f4610 Compare April 9, 2024 20:01
@davidbrochart
Copy link
Collaborator Author

But since this is an experimental feature, only working in jupyverse, and under a flag, maybe it's okay to merge. We can still iterate in the future.

@krassowski krassowski merged commit 3ccda21 into jupyterlab:main Apr 11, 2024
20 checks passed
krassowski added a commit to krassowski/jupyter_collaboration that referenced this pull request Apr 11, 2024
* Support server-side execution

* lint

* again

* Fix jest

* Mention this feature in documentation

* Update UI test snapshots

* Use "dependency_type: minimum" for Minimum Versions check

* Add 'serverSideExecution' to page config

* Replace "fully recovered" with "recovered"

* Add link to jupyter-server issue

Co-authored-by: Michał Krassowski <[email protected]>

---------

Co-authored-by: Michał Krassowski <[email protected]>
@davidbrochart davidbrochart deleted the server-side-execution branch April 11, 2024 20:05
@davidbrochart
Copy link
Collaborator Author

Now that we depend on NPM packages that are in pre-release, does it imply that we should also make a pre-release, say v2.0.12b0, or can it just be v2.0.12?

@jtpio
Copy link
Member

jtpio commented Apr 12, 2024

Since it adds a new feature, maybe it can be bumped to 2.1.0b0?

@davidbrochart
Copy link
Collaborator Author

OK to bump, be should it be a beta?

@jtpio
Copy link
Member

jtpio commented Apr 12, 2024

No strong opinions. If it doesn't change the default behavior of the jupyter-collaboration package it could even be a 2.1.0 release directly. Otherwise an alpha would be fine, followed by a final release if everything is ok.

@krassowski
Copy link
Member

I would say a beta, but can we also get #275 and my upcoming PR which splits backend and frontend in?

@krassowski
Copy link
Member

I think I can have the repo revamp ready for review today, but version drift will just add more work for me.

@davidbrochart
Copy link
Collaborator Author

OK, let's wait then, there is no hurry.

@rishabh-dream11
Copy link

@davidbrochart Just checking to see if there is consensus on the solution and can be used, I have a product requirement pending on it, hence asking for the same.
We use jupyter-server and have not tried jupyverse.

@imerelli
Copy link

imerelli commented Jul 3, 2024

Hi, is there any update regarding this feature, which I personally consider very important? When will it be integrated into the official release of Jupyter?

@krassowski
Copy link
Member

Good question. I think with #307 and https://github.com/datalayer/jupyter-server-nbmodel it will become at least possible to use it via an extension

@vinaypoduval19
Copy link

@krassowski How can I test this feature out? The above extension seems to not be available on pypi

@krassowski
Copy link
Member

krassowski commented Jul 26, 2024

@vinaypoduval19 I am impatient too, but the jupyter-server-nbmodel extension is in a third-party organization and contributors here do not have a control on when it gets released. I am grateful to @datalayer for developing the extension and I'm trying to be helpful by leaving a review on datalayer/jupyter-server-nbmodel#20 and opening datalayer/jupyter-server-nbmodel#21 but this is as much as I can do.

@b10902118
Copy link

This currently only works with jupyverse, not yet with jupyter-server. You can try it with:

pip install "jupyterlab>=4.2.0b0"
pip install "jupyverse[jupyterlab, auth]>=0.4.2"
jupyverse --set kernels.require_yjs=true --set jupyterlab.server_side_execution=true

Supersedes jupyterlab/jupyterlab#15448. Closes jupyterlab/jupyterlab#2833. Closes jupyterlab/jupyterlab#12867.

Peek.2023-11-28.16-25.mp4

This seems not working now. I tried the exact version == or >=, also with jupyter-collaboration installed but still not working.

@fkurushin
Copy link

This currently only works with jupyverse, not yet with jupyter-server. You can try it with:

pip install "jupyterlab>=4.2.0b0"
pip install "jupyverse[jupyterlab, auth]>=0.4.2"
jupyverse --set kernels.require_yjs=true --set jupyterlab.server_side_execution=true

Supersedes jupyterlab/jupyterlab#15448. Closes jupyterlab/jupyterlab#2833. Closes jupyterlab/jupyterlab#12867.
Peek.2023-11-28.16-25.mp4

This seems not working now. I tried the exact version == or >=, also with jupyter-collaboration installed but still not working.

I also have a problem but with dependencies versions

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pycrdt-websocket 0.15.1 requires pycrdt<0.11.0,>=0.10.3, but you have pycrdt 0.9.18 which is incompatible.
jupyter-ydoc 3.0.1 requires pycrdt<0.11.0,>=0.10.1, but you have pycrdt 0.9.18 which is incompatible.
Successfully installed pycrdt-0.9.18

@davidbrochart
Copy link
Collaborator Author

You should start from a fresh environment.

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

Successfully merging this pull request may close these issues.

Support new kernels REST API Reconnect to running session: keeping output
10 participants