Ask HN: Are there any good Diff tools for Jupyter Notebooks?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • jupytext

    Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

  • You can use jupytext to maintain dual .py/.ipynb representation of notebooks and keep both versions in sync:

    https://github.com/mwouts/jupytext/blob/main/docs/paired-not...

    It works both ways, it can update the .py file each time you save the notebook, or you can edit the .py file and have the jupytext command line tool update the .ipynb.

  • jupyter_ascending

    Ascend your Jupyter Notebook usage

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • nbstripout

    strip output from Jupyter and IPython notebooks

  • I used something as a precommit hook in the past that remove plots and other rendered content and only kept text and code in git index. I'm almost sure it was https://github.com/kynan/nbstripout but it's been a while and I could be wrong.

    Once the hook was in place git diff worked well enough to not need any other diffing tool.

  • jupyter-vim-binding

    Discontinued Jupyter meets Vim. Vimmer will fall in love.

  • On the on hand: cool, if you're an avid emacsen or a vimmer, yeah, ok. OTOH, gosh that is such a cluttered and cumbersome setup. Just bring in vim/emacs bindings to your jupyter: https://github.com/lambdalisue/jupyter-vim-binding. There's a handful of plugins, choose one.

    Whatever the final solution everyone decides should be, I just hope it doesn't involve having two redundant windows open side-by-side like that.

  • vscode-jupyter

    VS Code Jupyter extension

  • I wish for a simple option in VS Code: On close of a Jupyter Notebook clear its output. Or something that separate the display of the output from the saved file (Still `ipnyb` file). See [1].

    [1]: https://github.com/microsoft/vscode-jupyter/issues/9514

  • jupyterlab-git

    A Git extension for JupyterLab

  • jupyterlab-gitplus

    JupyterLab extension to create GitHub commits & pull requests

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nbdime

    Tools for diffing and merging of Jupyter notebooks.

  • [5] ReviewNB for reviewing & diff'ing notebook PRs / Commits on GitHub

    Disclaimer: While I’m the author of last two (GitPlus & ReviewNB), I’ve represented the overall landscape in an unbiased way. I've been working on this specific problem for 3+ years & regularly talk to teams who use GitHub with notebooks.

    [1] https://nbdime.readthedocs.io

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts