Collaborative edit for Jupyter Notebooks


Jupyter Notebooks are one of the most common tools for data scientist to explore new challenges and prototype solutions. In most cases, this process is a collaborative one. And since a couple of years, it would be quite common that you will interact with your co-workers remotely. Collaborative edit capabilities for Jupyter Notebooks are ten a key feature to consider.

Work on Jupyter Notebooks with remote collaborators

collaborative jupyter notebooks jupyter logo
Jupyter Notebooks are a staple of data science

Almost all people working or studying in the data science field use Jupyter Notebook in their daily routine. They are the fastest way to explore data, prototype solutions, or simply get acquainted with a new library/software package.

Google Colab is one of the most known solutions to run Jupyter Notebooks in the cloud. It has a very generous free tier, with the possibility to upgrade to a paid plan.

Unfortunately, since 2017 Google removed the collaborative editing mode, and it seems it has no plan to bring it back. Therefore, Colab does not provide the same experience of other Google Docs services with simultaneous editing and collaboration.

Luckily, there are a few solutions that can provide us collaborative edit functionalities on Jupyter Notebooks. Let’s see what they are.

Self-run collaborative editing solution for Jupyter Notebooks

There are a couple of solutions you can run by yourself to provide collaborative edit capabilities on Jupyter Notebooks for your team. The first one is Jupyter Lab, which provides an experimental function for real time collaboration (use at your own risk). Ideally, you will use JupyterHub to serve notebooks to multiple users. You can find links to documentation at the end of this post.

Another solution that you can run on your own hardware or cloud instance is CoCalc. They do provide a Docker and a Kubernetes installation guide. However, it seems the open source Kubernetes version is not actively being updated. Related links are at the end of the post.

Hosted collaborative editing solution for Jupyter Notebooks

In case you have little interest in running – and managing – your own instances, there are a few SaaS services with a free tier that you could leverage. All links are listed at the end of the post.

The first one I want to mention is CoCalc, as I just named it in the self-run solution. They do provide a free trial plan, which does not expire but has a number of limitations (such as no network access).

Another solution is Datalore from Jetbrains. They have a number of plans available if your requirements exceed their free tier. You can also purchase Datalore licenses for installation on your own hardware.

Deepnote is another provider for Jupyter Notebooks with real-time collaboration capabilities. They have a free tier, and if you are a student or teacher you can upgrade to the Pro plan for free.

Finally, Nextjournal also provide a suitable solution. An interesting feature is that you can use multiple programming language runtimes (Python, R, Julia, etc) together in a single notebook. They also sell a license to run Nextjournal on your own infrastructure.

Related links

  • JupyterLab real time collaboration link
  • JupyterLab on JupyterHub link
  • JupyterHub link
  • CoCalc Docker image link and Kubernetes link
  • CoCalc SaaS link
  • Jetbrains Datalore link
  • Deepnote link
  • Nextjournal link

Do you like our content? Check more of our posts in our blog!