Is there a way for two People to work on one Jupyter Notebook

Question:

A friend of mine and me are doing some field research for our Physics degree. And we are using jupyter notebook to analyse the data we get. We usually sit together working at two different copies of the same file that in the end will be drag and dropped together using jupyter lab. This is obviously not ideal, so i thought is there any way for just two people to work on one document in Jupyter, sadly Google Colab has been Deprecated and CoCalc is expensive. So i thought id ask here if there is a way to make one person run a Jupyter notebook and the other one just being able to access it over peer to peer aswell so we could write in the same file at the same time.
Do you guys know something that makes me do this maybe a workaround that i can do.
Thanks for answers in advance

Asked By: The Mastermage

||

Answers:

Notebook itself doesn’t support to collaborate simultaneously, but you can use GitHub to manage your python script and upload it into Colab separately. This way Github can help manage the file history and solve the conflicts.

Answered By: Jiaji Li

CoCalc is expensive.

Fortunately, we also provide a complete free easy to install open source version of CoCalc, which you can run on any computer that supports Docker. For example, here’s how to run it on Google cloud.

(I have put too many years of my life into making realtiime collaboration work for Jupyter via CoCalc… In any case, the open source code has been battle tested in production for a while now and is working well finally. I hope it can solve your problem…)

Answered By: William Stein

You can upload your notebook to Deepnote. It provides a hosted environment, where you and your colleague can connect at the same time and work on the same notebook in real-time (the same way you’d do in Google Docs).

Colab is also good, but writing at the same time will result in conflicts.

Answered By: Robert Lacok

While you can use github for this it can get messy, many people clear output cells when committing to git to avoid conflict issues. Which would defeat the object of your review work.

You should try Curvenote (which we’re building for that reason) it doesn’t offer compute as its a collaborative writing tool, works on top of Jupyter via a chrome extenson and gives you real time versioning, commenting and diffs.

Answered By: stevejpurves

JupyterLab 3.1.0a7 introduced real time collaboration.

There is a screencast showing it in action.
Key thing to note is the new top-level menu item called Share, to the right of Settings & Help.


You can click on launch binder here or here to try it now.

"Once you see the JupyterLab interface, there’s a new top-level menu item called "Share"; click that, grab and share that URL, and you’re done!"-SOURCE: Step #5 here

There’s a gist here that seems to be updated regularly with how to activate the feature.

There’s a detailed walk-through here if you want to add the ability into your own repositories that can launch via MyBinder.org. Although if that repo falls behind the gist, you’ll probably want to consult the gist for the current best practices once you have the idea from the detailed walk-through.



Closely related question with an answer by @krassowski, is here. You may want to look there for some additional details.

Answered By: Wayne

Google Colab has been Deprecated and CoCalc is expensive

Noteable.io is 100% free for all users including storage, compute, RAM. For your purposes, it will be ideal as you will get Google Drive like collaboration (commenting, @mentioning, Annotating data points), versioning, sharing, interactive visualizations, choice of using Python and SQL in the same notebook and a ton of other features.

Here are good example notebooks on Noteable:

  1. Climate Change: An analysis of Dew Point for the city of Toronto
  2. Healthcare Sector Employee Attrition Exploratory Data Analysis
  3. Exploratory Data Analysis Using SQL and Python – Online Retailer Orders
Answered By: Vivek Sinha