Realtime collaboration in Jupyter notebooks
Exploratory programming in data notebooks is inherently collaborative. At the very least, you want to be able to share your findings with others. But its better if two or more people can jump in the same notebook and make changes together. Kind of like Google Docs or Figma, but in a data notebook.
JupyterLab has experimental support for realtime collaboration, but it takes some setting up. Other notebook tools make this much easier.
Running JupyterLab’s experimental realtime collaboration
You need to run JupyterLab in a server environment to use realtime collaboration in a meaningful way (see Jupyter notebooks online for more info). When you start JupyterLab you need to run it with the
--collaborative flag (i.e.
jupyter lab --collaborative).
Then you can share the URL of the notebook with others. They’ll be able to edit and run code just like you can. Read their docs for more information.
There are two pretty big drawbacks to this:
- You need to make sure the Jupyter server is running all the time.
- There is no kind of access management. It’s all or nothing. For example, you can’t have users with read-only access. If users can see the notebook, they can execute code.
Use a Jupyter-compatible notebook with realtime collaboration
These problems go away if you use a tool with realtime collaboration. Below are some notebook tools that are Jupyter-compatible and have realtime collaboration.