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

Judoscale - Save 47% on cloud hosting with autoscaling that just works
Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.
judoscale.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. 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.

  2. Judoscale

    Save 47% on cloud hosting with autoscaling that just works. Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.

    Judoscale logo
  3. jupyter_ascending

    Ascend your Jupyter Notebook usage

  4. 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.

  5. 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.

  6. 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

  7. jupyterlab-git

    A Git extension for JupyterLab

  8. jupyterlab-gitplus

    JupyterLab extension to create GitHub commits & pull requests

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. 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

  • The Jupyter+Git problem is now solved

    9 projects | news.ycombinator.com | 25 Aug 2022
  • Do you git commit jupyter notebooks?

    2 projects | /r/datascience | 23 Jun 2023
  • JupyterLite is a JupyterLab distribution that runs in the browser

    10 projects | news.ycombinator.com | 28 Nov 2022
  • Best extensions for JupyterLab!!

    11 projects | dev.to | 22 Dec 2021
  • Why is autosave off by default whenever I launch a Jupyter notebook server?

    1 project | /r/JupyterNotebooks | 26 Oct 2021

Did you know that Python is
the 2nd most popular programming language
based on number of references?