Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lcary/nbd

A lightweight ipython/jupyter notebook diffing tool
https://github.com/lcary/nbd

diff diffing git-diff git-difftool ipython-notebook jupyter jupyter-notebook

Last synced: about 2 months ago
JSON representation

A lightweight ipython/jupyter notebook diffing tool

Awesome Lists containing this project

README

        

nbd
===

A lightweight ipython/jupyter notebook diffing tool.

.. image:: https://travis-ci.org/lcary/nbd.svg?branch=master
:alt: build-status-image
:target: https://travis-ci.org/lcary/nbd

Purpose
-------

This tool makes ipython/jupyter notebook diffs more readable.

This tool is meant for text-based diffing from the command-line.

Overview
--------

Running ``ndb`` shows differences in the following types of data:

- Python code
- reStructuredText code
- Resource files (e.g. PNGs)

This will show you most of what has changed in the ``In[1]:`` and
``Out[1]:`` lines of the notebook.

The output of ``ndb`` is
`git-diff `_ output and can be piped
to other commands like `less(1) `_
and `tee(1) `_.

Requirements
------------

- Python >= 2.6
- nbconvert
- pandoc
- git

Install
-------

Install with pip (or your favorite python package manager):

::

pip install nbd

Usage
-----

Help:

::

nbd -h

Simple usage:

::

nbd

Pipe to `less(1) `_:

::

nbd | less

Options (see help for all):

::

nbd -e python
nbd
nbd --git-diff-option="--name-only"

Build and install from sources
------------------------------

Source distribution:

::

python setup.py sdist

After building, install with pip:

::

pip install dist/nbd-$version.tar.gz

Install in a virtual environment to avoid system pip issues.

Tutorial
--------

See the tutorial in the ``demo/`` directory: `demo
tutorial `_.