Script for stripping output from ipython/jupyter scripts
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information. Filter ExecuteTime metadata too Nov 30, 2016


Script for stripping output from ipython/jupyter scripts.

Originally from


Let us assume that the script is saved to ~/bin/, and that it is executable (otherwise: chmod +x ~/bin/

Then, create the file ~/.gitattributes with the following content

*.ipynb    filter=dropoutput_ipynb

and run the following commands:

git config --global core.attributesfile ~/.gitattributes
git config --global filter.dropoutput_ipynb.clean ~/bin/
git config --global filter.dropoutput_ipynb.smudge cat

Disable/enable on specific repo(s)

To disable the output filtering for a specific git repository, simply create inside it a file .git/info/attributes, with

**.ipynb filter=

as content. Clearly, in the same way it is possible to apply filtering //only// on specific repo(s).

Use specific version of python

If the version of python to be used (i.e. the one with access to IPython libraries) is not located at /usr/bin/python, it can be specified with the filter.dropoutput_ipynb.clean setting. For instance under OSX, if there is a version of Python installed via homebrew, the following:

git config --global filter.dropoutput_ipynb.clean python ~/bin/

will use it rather than the system one.

Run in given directory

The simplest way to pick up a specific module version (in particular, of the nbformat module from iPython/Jupyter, on which this script relies) is to have ipynb_output_filter run from the directory it is located inside.

In order to do so, ipynb_output_filter supports a --rundir argument, which can be used as follows: --rundir ~/git_repos/nbconvert