jupyter-server / jupyter_ydoc

Jupyter document structures for collaborative editing using Yjs/pycrdt
https://jupyter-ydoc.readthedocs.io
BSD 3-Clause "New" or "Revised" License
25 stars 16 forks source link

Can't package jupyter-ydoc 1.1.1 with jupyter-collaboration 1.2.1 #211

Closed bnavigator closed 5 months ago

bnavigator commented 5 months ago

Hi,

openSUSE rpm package maintainer for the jupyter ecosystem here.

I am at an impasse:

  1. jupyter-collaboration v2 and jupyter-ydoc v2 require pycrdt which is declared to be not ready for production yet
  2. jupyter-collaboration v1.2.1 requires
     "jupyter_ydoc>=1.0.1,<2.0.0", 
     "ypy-websocket>=0.12.1,<0.13.0",
  3. jupyter-ydoc 1.1.1 requires ypy-websocket >=0.8.3,<0.9.0 for testing.

Number 2 and 3 conflict with each other. Any advice?

davidbrochart commented 5 months ago
  1. jupyter-collaboration v2 and jupyter-ydoc v2 require pycrdt which is declared to be not ready for production yet

Ypy was not more ready for production, on the contrary. You shouldn't be worried about that.

Number 2 and 3 conflict with each other. Any advice?

I can release jupyter-ydoc v1.2.1 with a test requirement ypy-websocket>=0.12.1,<0.13.0, what do you think?

bnavigator commented 5 months ago

I tried running the test suit on 1.1.1 with ypy-websocket 0.12 and it failed.

If it's better to ignore the incubation phase warning and just update jupyter-collaboration and jupyter-ydoc to v2, I see no use in a jupyter-ydoc 1.2.1. I wonder what's the use of the backport releases and the 1.x branch in jupyter-collaboration then.

davidbrochart commented 5 months ago

I recommend upgrading jupyter-collaboration and jupyter-ydoc to v2 anyway, yes. Backports are always good for dependencies which cannot upgrade, but it's still better to upgrade if you can.

bnavigator commented 5 months ago

Thank you for the clarification.

I had to package y-py 0.7.0a1, which is nominally an alpha version, in order to enable the test suite for pycrdt. But I guess that is fine since there are no other consuming packages for it anyway.