Run (and time) Jupyter Notebooks for command-line and makefile
Project description
Run Jupyter notebooks quietly from command-line
runPyNB
is a quick and dirty utility to run (and time) Jupyter notebooks from command-line and makefiles.
Quickstart
Install from PyPI
pip install runpynb
General usage: runpynb <notebook(s)> [options]
(".ipynb" not required)
-
runpynb
: Run all notebooks in directory.$ runpynb
Usage
-
runpynb <notebook(s)> -q
: Run quietly (-q
).$ runpynb hello.ipynb -q
-
runpynb <notebook(s)> -qs
: Run quietly (-q
) as a sequence of workflow (-s
). Errors (eg inerror.ipynb
) will break the workflow.$ runpynb error.ipynb hello.ipynb -qs
-
runpynb <notebook(s)> -o
: Save output as separate notebook (-o
), instead of overwriting existing notebook(s).$ runpynb hello.ipynb -o
Options
usage: runpynb [-h] [-t TIMEOUT] [-s] [-o] [-v VERSION] [-q] [notebooks ...]
Run (and time) Jupyter notebooks silently in command-line.
positional arguments:
notebooks List of Jupyter notebooks (*.ipynb) to be run
(default=all notebooks in path).
optional arguments:
-h, --help show this help message and exit
-t TIMEOUT, --timeout TIMEOUT
Seconds until a cell in the notebook timesout, which
raises a Timeouterror exception (default is 3000=5
mins).
-s, --sequence Sequence implicit in notebook lists. If error occurs
somewhere, stop entire pipeline.
-o, --output Save output as a separate notebook with "-out"-suffix
(e.g. *-out.ipynb) instead of overwriting existing
file.
-v VERSION, --version VERSION
Version of notebook to return (Default=No conversion).
Notebook will be converted if necessary.
-q, --quiet Be quiet and don't print messages (including run
time). Caution: Does not suppress error messages.
Status
This is a lightweight package that wraps around the official Jupyter nbformat
and nbconvert
modules.
My workflow involves using Jupyter notebooks
to clean, and analyze data.
I use this utility to run notebooks silently from the command-line and Makefiles
(without converting from .ipynb
files to .py
files).
Related packages are guoquan/runnb
and vinayak-mehta/nbcommands
with a planned enhancement nbtime
to run Jupyter notebooks from command-line.
Usage with Makefiles
A minimal workflow where get-data.ipynb
takes 5000 seconds to prepare data.csv
.
And where analyze.ipynb
uses data.csv
to produce output.png
.
.DEFAULT_GOAL := output.png
data.csv: get-data.ipynb
runpynb $^ -t 5000
output.png: analyze.ipynb data.csv
runpynb $<
License
This package is licensed under the MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file runpynb-0.3.0.tar.gz
.
File metadata
- Download URL: runpynb-0.3.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6cc75b365acbac68949c53b23ccaf7ee588299a90c418d925d260ed8368031a |
|
MD5 | 27e761e244986b8ba9c50b73a748802f |
|
BLAKE2b-256 | 6ccabfe18173e778350e837ef4b2bcdf1c67381e7c93a99e8682a37279d38bfb |