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.
Deepnote
Deepnote is a new kind of data notebook that’s built for collaboration — Jupyter compatible, works magically in the cloud, and sharing is as easy as sending a link.
Hex
The Data Workspace for Teams. Work with data in collaborative SQL and Python notebooks. Share as interactive data apps that anyone can use.
Databricks Notebooks
Collaborate across engineering, data science, and machine learning teams with support for multiple languages, built-in data visualizations, automatic versioning, and operationalization with jobs.
DataCamp Workspace
DataCamp Workspace is an AI-powered data notebook to help you get from data to insights, faster.
Jetbrains Datalore
A powerful online environment for Jupyter notebooks. Use smart coding assistance for Python in online Jupyter notebooks, run code on powerful CPUs and GPUs, collaborate in real-time, and easily share the results.
Nextjournal
Runs anything you can put into a Docker container. Improve your workflow with polyglot notebooks, automatic versioning and real-time collaboration. Save time and money with on-demand provisioning, including GPU support.
Noteable
Noteable is a collaborative notebook platform that enables teams to use and visualize data, together.