AuthorsV. T. Fauske, M. S. Alnæs and B. Ragan-Kelley
Titlenbdime: diffing and merging notebooks
AfilliationScientific Computing
Project(s)OpenDreamKit: Open Digital Research Environment Toolkit for the Advancement of Mathematics, Center for Biomedical Computing (SFF)
Publication TypeTalks, invited
Year of Publication2016
Location of TalkJupyterDay Orsay
Keywordsgit, jupyter, notebook, version control

Jupyter notebooks are JSON documents containing a combination of code, prose, and output. These outputs may be rich media, such as HTML or images. The use of JSON and including output can present challenges when working with version control systems and code review. The JSON structure significantly impedes the readability of diffs, and simple line-based merge tools can produce invalid results. nbdime aims to provide diff and merge tools specifically for notebooks. For diffs, nbdime shows rendered diffs of notebooks, so that the content can be compared efficiently, rather than the raw JSON. Merges performed with nbdime will guarantee a valid notebook as a result, even in the event of conflicts. nbdime integrates with existing tools, such as git, so you shouldn't need to change how you work.

Citation Key25046