Skip to content
/ nbmerge Public

A tool to merge / concatenate Jupyter (IPython) notebooks

License

Notifications You must be signed in to change notification settings

jbn/nbmerge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 11, 2017
4af4c8b · Nov 11, 2017

History

23 Commits
Nov 11, 2017
May 14, 2017
May 14, 2017
May 14, 2017
May 14, 2017
Oct 23, 2017
May 1, 2017
May 1, 2017
Nov 11, 2017
May 3, 2017
May 14, 2017
May 2, 2017
May 1, 2017
May 1, 2017

Repository files navigation

https://travis-ci.org/jbn/nbmerge.svg?branch=master https://ci.appveyor.com/api/projects/status/69kj3prrrieyp8q2/branch/master?svg=true https://coveralls.io/repos/github/jbn/nbmerge/badge.svg?branch=master

nbmerge: merge / concatenate Jupyter notebooks

Installation

pip install nbmerge

Usage

For the usage as originally specified by @fperez's gist,

nbmerge file_1.ipynb file_2.ipynb file_3.ipynb > merged.ipynb

Alternatively, nbmerge can cursively collect all files in the current directory and below, recursively. After collection, it sorts them lexicographically. You can use a regular expression as a file name predicate. All .ipynb_checkpoints are automatically ignored. And, you can use the -i option to ignore any notebook prefixed with an underscore (think pseudo-private in python).

For example, the following command collects all notebooks in your project that have the word intro in the file name and saves it to a merged file named _merged.ipynb,

nbmerge --recursive -i -p ".*intro.*" -o _merged.ipynb

Finally, you can also instruct the script to demarcate the boundary between each original file with the -b / -boundary [BOUNDARY] flag. The src_nb value in the metadata for the first cell in each original notebook will then contain the path of the original notebook, relative to the cwd at the point of script execution.

More details

Read the docs: here.