Collaborative editing in Jupyter(Lab)

1,073 views
Skip to first unread message

Christopher Brooks

unread,
May 24, 2018, 8:03:47 PM5/24/18
to Project Jupyter
Hi all,

Just wondering what the state is of collaborative editing in jupyterlab. I know it was in there for some of the jupyterlab work, largely through google drive, and I would like to explore if this is still an active project with a roadmap.

We were thinking of trying to wire up codemirror objects in jupyter (non-lab) with rethinkdb or sharedb, and I would love to hear from others who might be interested in this approach or have tales to tell....

Chris

Nicholas Bollweg

unread,
May 25, 2018, 5:41:10 PM5/25/18
to Project Jupyter
This is definitely on the roadmap for JupyterLab, and while and end user capability will not be available in 1.0, many of the pieces will be in place.

The Google drive integration is all but dead, as our friends in mountain view decided to sunset the backend. It could potentially be rewritten to use firebase. However, in building (and still maintaining) that library, we now have a pretty good abstraction, IDrive, which is used by the GitHub integration as well as an irods integration. I've also been toying with ipfs/dat implementations which would make p2p sharing possible.

As to war stories: I did a prototype in derbyjs (no idea if that's still a thing). It put the whole state of the frontend into a model, which many users could update.

https://github.com/nrbgt/derby-notebook

It worked, but will definitely benefit from a stronger, official model.

Stay tuned, and chime in with any findings!

Christopher Brooks

unread,
May 25, 2018, 7:21:57 PM5/25/18
to Project Jupyter
Thanks Nicholas!

Can you share where the IDrive integration sits? Is this in the core packages for jupyterlab, or in an extension?

Regards,

Chris

Nicholas Bollweg

unread,
May 26, 2018, 1:05:17 AM5/26/18
to Project Jupyter
Sorry for the vague references! I was on the go earlier! Here are some links I gathered:

The docs:

https://jupyterlab.github.io/jupyterlab/interfaces/_services_src_contents_index_.contents.idrive.html

Gory details:

https://github.com/jupyterlab/jupyterlab/blob/793dd5ff16ced7329604b9ce13ed3413f32f1824/packages/services/src/contents/index.ts

The Google drive collaborative implementation:

https://github.com/jupyterlab/jupyterlab-google-drive/blob/master/src/drive/drive.ts

A sharedb implementation:

https://github.com/ian-r-rose/jupyterlab-sharedb

An api-based one (GitHub), which can optionally use a notebook server extension (python side):

https://github.com/jupyterlab/jupyterlab-github/blob/master/src/contents.ts


Here's the irods one, which also implements (requires?) a server extension api:

https://github.com/towicode/jupyterlab_irods/blob/master/src/contents.ts

And for good measure, a git lab implementation:

https://gitlab.com/ENKI-portal/jupyterlab_gitlab/blob/master/src/contents.ts

These are at various levels of lab version support, upstream API version support, etc... Not sure what would happen if they were all installed at the same time!

Chris Colbert

unread,
May 26, 2018, 5:23:28 PM5/26/18
to jup...@googlegroups.com
We are actively working on this feature and it will be in the JupyterLab 1.0 release. 


--
You received this message because you are subscribed to the Google Groups "Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+unsubscribe@googlegroups.com.
To post to this group, send email to jup...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/7def2aff-4944-4ac5-b1fb-b29dfbd304fa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages