Introducing ReviewNB: Code Reviews for Jupyter Notebooks

Amit Rathi
Towards Data Science
3 min readOct 24, 2018

--

We’re happy to announce ReviewNB, a tool to help you version control & code review Jupyter Notebooks.

Problem

Jupyter is great for data exploration but it’s hard to go beyond that & do collaborative work with it. Following challenges exist in using Jupyter Notebooks with modern version control system like Git,

  • Notebook diffs are hard to read. Hence we can’t do code reviews on GitHub
  • Merging in remote changes is hard due to JSON format of Notebook files (.ipynb)
  • No easy way to share feedback & have a discussion around Notebooks
  • It’s not easy to reproduce Notebook results
  • It’s not easy to test notebook code cells

Solution

ReviewNB aims to tackle some of these problems starting with diff, code reviews & collaboration —

  • We built a best in class visual diff for notebooks. More examples on our homepage.
Visual Diff for Jupyter Notebooks
  • You can browse GitHub commits, pull requests or open notebook files in the repo & write comments on notebook cells to suggest improvements, seek clarification, or just applaud your colleague’s work!
Conversation Threads to Track All Ongoing Discussions

How does it work?

  • ReviewNB is a GitHub App available on the GitHub marketplace (our app is verified by GitHub)
  • ReviewNB communicates with GitHub APIs to fetch the notebook changes made in a commit or pull request. We show the changes to user in a side-by-side diff format. All notebook contents (markdown, code, images, formulas) are rendered as you would see in the Jupyter UI. This visual diff is much more readable than the messy JSON diff common to Notebooks.
  • You can also write comments on a notebook cell in the pull request or even on a standalone notebook file. Your teammates will receive email notifications for the comments & anyone can chime in with their thoughts.

Workflow

ReviewNB is super simple to use. It does not require any local installation or configuration. One can start using it on their GitHub repositories in under a minute.

  • Anyone can login via GitHub and select repositories that ReviewNB will have access to (takes ~30 seconds).
  • Once logged in, you can browse Commits or Pull Requests on your repositories.
Browse notebooks, commits & pull requests on ReviewNB
  • That’s it! You can start seeing visual diff for any commit or pull request & start having discussion with your peers!

Contribute to our Roadmap

We’re building in the open. You can view upcoming features, vote on them, and even request a new one.

That’s all for now! There’s more information on our website along with an elaborate FAQ section for other questions you might have. We also offer self hosting option for companies interested in running ReviewNB on their own. I’m available on amit@reviewnb.com if you have any questions. Try out ReviewNB and let me know what you think of it!

View all posts by Amit Rathi

Originally published at blog.amirathi.com on October 24, 2018.

--

--