[IPython-dev] nbexplode - experiment in version controlling notebooks

Cyrille Rossant cyrille.rossant at gmail.com
Fri Mar 6 05:02:04 EST 2015

For a different (orthogonal) approach to the problem of VCS with
ipynb, you can have a look at https://github.com/rossant/ipymd/. It
lets you replace the JSON ipynb format with regular Markdown or Python
scripts. It's convenient if you don't need to save
metadata/output/images/etc. These formats are more VCS-friendly than


2015-03-06 10:47 GMT+01:00 Maximilian Albert <maximilian.albert at gmail.com>:
> Very interesting idea! Thanks for working on this, Thomas! (And on
> everything else. ;) )
> Would you favour this approach over something like nbdiff [1,2]? Disclaimer:
> I haven't tried nbdiff yet, just stumbled upon it and thought it looked
> promising. But I'm wondering what sort of future direction you core devs
> have in mind for dealing with "semantic" diffing/merging of notebooks.
> Cheers,
> Max
> [1] http://nbdiff.org/
> [2] https://github.com/tarmstrong/nbdiff
> 2015-03-05 19:36 GMT+00:00 Thomas Kluyver <takowl at gmail.com>:
>> I've just completed a rough prototype of a concept we've been calling
>> 'nbexplode'. If you've wrestled with merge conflicts in notebooks kept in
>> text-based VCSs, you might like to investigate it.
>> https://github.com/takluyver/nbexplode/
>> Since current VCSs don't understand any structure within a file (beyond
>> lines), the idea is to let the VCS know about the structure of a notebook by
>> breaking it up into many files for separate cells and outputs. The VCS
>> should then be smarter about merging separate changes. When you check out an
>> exploded notebook, you can recombine it into a single .ipynb file to work
>> with.
>> This is still sub-optimal, because filesystems (and therefore VCSs) have
>> no notion of an ordered sequence. And it's probably more unwieldy for
>> viewing diffs, because cells appear out of order.
>> Thomas
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

More information about the IPython-dev mailing list