NBDiff: A Diffing and Merging Tool for the IPython Notebook

Tavish Armstrong

Audience level:
Novice
Category:
Other

Description

NBDiff is a tool for diffing and merging IPython Notebook files. Notebook diffs are presented in a human-readable format that resembles the Notebook UI, allowing users to more easily see what changes they made without getting bogged down in details. Merge conflicts are resolved using a graphical interface that doesn't require you to understand the Notebook's file format.

Abstract

The IPython Notebook is a great environment for data analysis, but it can be hard to collaborate on Notebook files with other people. If you use traditional version control tools, diffs are presented in JSON format, and you have to resolve merge conflicts by hand without seeing the Notebook in the format you originally wrote it in. NBDiff is a tool for diffing and merging IPython Notebook files. Notebook diffs are presented in a human-readable format that resembles the Notebook UI, allowing users to more easily see what changes they made without getting bogged down in details. Merge conflicts are resolved using a graphical interface that doesn't require you to understand the Notebook's file format. NBDiff was built by a team of seven Concordia University students for their final-year capstone project.