toolbox to run ipython notebooks as command line script with parameters
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE.txt
README.md
nbwrapper.py
setup.cfg
setup.py
test-wrapper.py
test.ipynb

README.md

nbwrapper

toolbox to run ipython notebooks as command line script with parameters

When working on bioinformatics projects, I often start off trying out stuff in a ipython notebook. I usually end up having a whole data-processing pipeline in the notebook. To run this pipeline on a cluster or on different datasets, it would be nice to have it as a command line script with input parameters.

Based on runipy this toolbox helps building such command line wrapper scripts.

Installation

Simply pip install nbwrapper. python setup.py install also works.

Build the wrapper script

Use e.g. argparse to parse the command line arguments, use nbwrapper to run the notebook.

test-wrapper.py:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from nbwrapper import Nbwrapper
import argparse


argp = argparse.ArgumentParser()
argp.add_argument("--foo", '-a', help="foo arg")
argp.add_argument("--bar", '-b', help="bar arg")

args = argp.parse_args()
nb = Nbwrapper(args, "test.ipynb")
nb.run()

Retrieve arguments in the notebook

nbwrapper.getargs() returns a dict containing the arguments.

test.ipynb

# IN[0]:
    from nbwrapper import getargs
    args = getargs()
    print(args)