Skip to main content

jupyter web report

Project description

jupyter_web_report

jwr, short for jupyter_web_report, is a command line interface tool for using jupyter`s ipynb file as a reusable template to generate analysis report with new data source.

It provides properties such as:

  • passing command line parameters,
  • executing notebooks,
  • jupyter cell level output controlling.

It supports all the kernals like IR,Ipython, etc.

Installation

From pip

pip install jupyter_web_report

From github

git clone https://github.com/JaylanLiu/jupyter-web-report
cd jupyter-web-report
python setup.py install

Usage

Template notebook configuration

Cell with a parameters tag will recieve the arguments form jwr. Parameters cell would not present in the output html. parameters Cell with a hide tag would be executed but not present in the output html. hide Cell with a output tage would be executed and only present the 'Out' but the 'In' structure in the output html. output Untaged cell would be executed and present both 'In' and 'Out' structures in the output html.

parameterize and execution

$jwr -h
usage: jwr [-h] -i IPYNB [-o OUTPUT] [-t TIMEOUT] [--dryrun]

jupyter-web-report

optional arguments:
  -h, --help            show this help message and exit
  -i IPYNB, --ipynb IPYNB
                        path to ipynb template
  -o OUTPUT, --output OUTPUT
                        path to output executed ipynb
  -t TIMEOUT, --timeout TIMEOUT
                        time for ipynb execuation
  --dryrun              skip execution, generate report directly from input
                        notebook

'-i' specifies the configured template ipynb file. '-o' can be a file name which ends with '.html' or '.ipynb', output would be consistent to the suffix. if '-o' is not specified, then the output goes to stdout as html. '-t' specifies the time limit for notebook execution, 6000 sec for default, '--dryrun' mode skip execution, generate report directly from input notebook.

Any parameters can be passed in the template ipynb notebook`s parameters cell using a --key value format attach to the command.

Example

$jwr -i example/model.ipynb -o x.html --mutation example/data_mutation.txt 
2020-08-21 11:07:20,028 - jupyter_web_report.py[line:21] - INFO: loading template ipynb successfully
2020-08-21 11:07:20,028 - jupyter_web_report.py[line:24] - INFO: passed in args:{'mutation': 'example/data_mutation.txt'}
2020-08-21 11:07:20,028 - jupyter_web_report.py[line:36] - INFO: args in ipynb parameters cell{'clinical': "''", 'mutation': "'data_mutation.txt'", 'cnv': "''", 'sv': "''"}
2020-08-21 11:07:20,028 - jupyter_web_report.py[line:39] - INFO: used args{'mutation'}
2020-08-21 11:07:20,028 - jupyter_web_report.py[line:50] - INFO: parameterizing successfully
2020-08-21 11:07:20,029 - jupyter_web_report.py[line:62] - INFO: starting executing
2020-08-21 11:07:21,710 - jupyter_web_report.py[line:67] - INFO: executing cell 0...
2020-08-21 11:07:21,826 - jupyter_web_report.py[line:67] - INFO: executing cell 1...
2020-08-21 11:07:30,757 - jupyter_web_report.py[line:67] - INFO: executing cell 2...
2020-08-21 11:07:30,757 - jupyter_web_report.py[line:67] - INFO: executing cell 3...
2020-08-21 11:07:30,757 - jupyter_web_report.py[line:67] - INFO: executing cell 4...
2020-08-21 11:07:30,757 - jupyter_web_report.py[line:67] - INFO: executing cell 5...
2020-08-21 11:07:31,022 - jupyter_web_report.py[line:67] - INFO: executing cell 6...
2020-08-21 11:07:31,022 - jupyter_web_report.py[line:67] - INFO: executing cell 7...
2020-08-21 11:07:31,199 - jupyter_web_report.py[line:67] - INFO: executing cell 8...
2020-08-21 11:07:31,199 - jupyter_web_report.py[line:67] - INFO: executing cell 9...
2020-08-21 11:07:31,388 - jupyter_web_report.py[line:67] - INFO: executing cell 10...
2020-08-21 11:07:31,389 - jupyter_web_report.py[line:67] - INFO: executing cell 11...
2020-08-21 11:07:32,249 - jupyter_web_report.py[line:67] - INFO: executing cell 12...
2020-08-21 11:07:32,249 - jupyter_web_report.py[line:67] - INFO: executing cell 13...
2020-08-21 11:07:33,070 - jupyter_web_report.py[line:67] - INFO: executing cell 14...
2020-08-21 11:07:33,070 - jupyter_web_report.py[line:67] - INFO: executing cell 15...
2020-08-21 11:07:34,083 - jupyter_web_report.py[line:75] - INFO: finished execution
2020-08-21 11:07:34,259 - jupyter_web_report.py[line:91] - INFO: output successfully

If you just need to transfer input notebook file to html report without re-execute the code, add --dryrun argument.

$jwr -i test.ipynb -o tt.html --dryrun
2020-08-21 10:26:47,474 - jupyter_web_report.py[line:21] - INFO: loading template ipynb successfully
2020-08-21 10:26:47,475 - jupyter_web_report.py[line:24] - INFO: passed in args:{}
2020-08-21 10:26:47,475 - jupyter_web_report.py[line:50] - INFO: parameterizing successfully
2020-08-21 10:26:48,534 - jupyter_web_report.py[line:76] - INFO: output successfully

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

jupyter_web_report-0.2.1.tar.gz (259.2 kB view hashes)

Uploaded Source

Built Distribution

jupyter_web_report-0.2.1-py3-none-any.whl (261.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page