Script for stripping output from ipython/jupyter scripts.
Let us assume that the script is saved to
~/bin/ipynb_output_filter.py, and that it is executable (otherwise:
chmod +x ~/bin/ipynb_output_filter.py).
Then, create the file
~/.gitattributes with the following content
and run the following commands:
git config --global core.attributesfile ~/.gitattributes git config --global filter.dropoutput_ipynb.clean ~/bin/ipynb_output_filter.py 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
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/ipynb_output_filter.py
will use it rather than the system one. Both python2.x and python3.x should be supported.
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
ipynb_output_filter run from the directory it is located inside.
In order to do so,
ipynb_output_filter supports a
which can be used as follows:
ipynb_output_filter.py --rundir ~/git_repos/nbconvert