Where to find the dev state of Real Time Collaboration in JupyterLab?

Hey all - I was at a conference last week speaking with somebody that was curious about the work that has been / is being done on real-time collaboration in JupyterLab. I know this is something that has been in the works for a long time, so this isn’t a “when will this be finished” question, it is a “where can people go to stay updated on progress?” question.

Right now there are various issues in the jupyterlab/jupyterlab repo, as well as a jupyterlab-rtc repository under @ellisonbg’s account. I assume there’s conversation etc elsewhere as well.

Is there a single place that I should recommend people look if they are interested in following along with this conversation? (esp if they’re interested in contributing cycles to this)

cc @ian-r-rose who I believe was working on this a while back?

3 Likes

Here’s a link to the issue with current discussion: https://github.com/jupyterlab/jupyterlab/issues/5382

Here’s a link to the current draft PR adding datastore to JupyterLab.

“Datastore” is the magic keyword to use when searching for issues on JupyterLab.

Min even posted a GIF showing a preliminary demo!

2 Likes

There is also a demo heroku app (not with JupyterLab, but using the underlying tech) here. Not really a place to find up-to-date information, but perhaps interesting to play with.

1 Like

A year on, and I’m wondering about this again too…

One of the selling points of new platforms such as DeepNote is their realtime collaboration, and of course CoCalc and Google Colab supported collaborative users for several years now. VSCode, which hooks into Jupyter services via the VS Code Python extension, supports collaboration via the Visual Studio Live Share service (I’m not sure if this must be rooted through a Microsoft server, or whether can it work peer to peer or via your own hosted server?)

I’m guessing that jupyter-rtc [repo] is the home for recent/current activity?

Things like yuvipanda/jupyter-videochat provide communication/ collaboration channels as proxy services, and I also note this extension to embed twitch.

As far as commenting goes, nbgrader supports tutor comments on notebooks submitted and returned via a “batch processing” system, and koopera seems to support social commenting, though I’m guessing files are shared through shared Github repos? ReviewNB also provides collaborative commenting via a Github extension service.

In passing, I note a couple of CRDT js packages that support live merging of json edits — automerge/automerge and yjs/yjs — and some sort of py JSON merging package: jsonmerge. I’bve not had a poke around the jupyterlab-rtc docs yet to see what that “official” solution might be exploring?

2 Likes

I believe that’s right - they have this HackMD document to keep their agendas/notes/etc.

Yup, there is a regular, biweekly meeting.

The notes from those meetings are posted here.

2 Likes

You can now try out present state out via Binder, see here. (Thanks to @bollwyvl for pointing it out in a short report during Jupyter Community calll.)

2 Likes