7
$\begingroup$

I have prepared Jupyter Notebook with some findings and I shared it with other team members through GitHub to get their feedback in a written form. It used to work like this when working together on a piece of code but does not work for Jupyter Notebook. In GitHub that would mean commenting on HTML or JSON level (internal markup for .ipynb files), not on the document level. An alternative would be for team members to clone the repo and puts inline comments in the document. That's an additional effort for other team member I would like to avoid.

What is the way you collaborate, peer review and provide feedback when working on Jupyter Notebooks?

$\endgroup$
4
$\begingroup$

There are several collaboration platforms with hosted notebooks that can be shared like:

However the base idea of collaborating and sharing notebooks is actually a base function of jupyter. As you might have noticed it is a server-hosted application which by default opens a local server for you to work on.

By simply hosting that server (e.g. on AWS, your internal servers, etc.) you can collaborate on the notebooks directly and interactively.

|improve this answer|||||
$\endgroup$
2
$\begingroup$

Using a notebook, you can always convert it to a python script if you just go to "File > Download as > Python (.py)". Then, you can share it with your teammates and have handwritten comments on a printed form of it, regardless of how unusual this practice sounds.

|improve this answer|||||
$\endgroup$
2
$\begingroup$

CoCalc provides Jupyter notebooks with realtime collaboration, unlike Colab, Kaggle, etc. You just make a project drag and drop ipynb and data files, add collaborators, and everybody can edit everything simultaneously. You can also share content publicly at the share server. I think CoCalc is currently the overall most mature of the realtime Jupyter collaboration platforms (and it is the only open source one), but Deepnote is another option that is more focused on data science (but is closed source).

|improve this answer|||||
$\endgroup$
1
$\begingroup$

In GitHub that would mean commenting on HTML or JSON level (internal markup for .ipynb files), not on the document level.

This is the crux of the problem. I built ReviewNB specifically to peer review Jupyter Notebooks on GitHub. It integrates directly with your repositories on GitHub and provides visual diff and commenting support (see screenshot below).

For straight up multi-user collaboration you can also setup JupyterHub so everyone can login to the same server, although I'd recommend using GitHub and installing Jupyter locally.

enter image description here

|improve this answer|||||
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.