JupyterCon 2023

Building GitHub Code Review Experience for Jupyter Notebooks
05-10, 15:30–16:00 (Europe/Paris), Louis Armand 2

Key Takeaways

  • How to build rich diffs & commenting for notebooks
  • How to integrate notebook diff & commenting with version control platforms like GitHub & Bitbucket
  • Propose a cross-compatible standard for storing comments/discussions inside notebook cell metadata


For the past 4+ years, I’ve built a notebook code review experience (ReviewNB) for GitHub as a solo bootstrapped developer. Thousands of organizations now use the service, including Apple, Airbnb, Lyft, Deloitte, Affirm, AWS, Meta Reality Labs, and NASA JPL.

This talk focuses on behind-the-scenes technical details such as,

  • Challenges of building rich notebook diffs on top of GitHub / Bitbucket
    • handling JSON diffs
    • handling images, plots & other rich outputs
  • Challenges of building discussion / commenting functionality for notebooks
    • where & how to store notebook comments
    • how to handle comments when underlying notebook changes

We'll briefly touch upon other tools that offer notebook diff & commenting (nbdime, Google Colab, Deepnote, Noteable).

Finally, we propose a cross-compatible standard for storing comments inside notebook cell metadata. If the Jupyter project endorses this, notebook comments, similar to the notebook format, would be compatible across platforms.

Amit is a software developer & the founder of ReviewNB, a code review tool for Jupyter Notebooks.

He's a Carnegie Mellon graduate, previously worked at Amazon Music team in Seattle & helped build location stack at HyperTrack.

Amit is a strong proponent of automated testing & code reviews as they help us quickly build reliable software & learn from each other. He's deeply interested in the human side of software engineering- development processes, collaboration tools, and such.

This speaker also appears in: