paperboy
A web frontend for scheduling Jupyter Notebooks as reports
Overview
Paperboy is a production-grade application for scheduling reports. It has a flexible architecture and extensible APIs, and can integrate into a wide variety of deployments. It is composed of various industrial-strength technologies from the open source world.
- Jupyter Notebooks for the reports themselves
- Jupyter notebooks are an ideal report template, and with NBConvert support a wide variety of output types, including PDFs, HTML, Emails, etc
- Papermill to parameterize notebooks
- SQLAlchemy for Storage (default)
- Apache Airflow for Scheduling (default)
- Dask for Airflow Workers
- Luigi as a scheduling alternative for
Airflow(relies oncron)
- PhosphorJS for the frontend
- Support for Python Virtualenvs via
requirements.txtor custom Docker images viaDockerfiles on a per-notebook level - Traitlets parameterization of storage and scheduler classes for easy integration with custom storage backends and custom schedulers
- Single click notebook deployment with Voila and Dokku
Process Flow
- Upload notebook
- Configure job
- start time
- interval
- papermill parameters to autoconfigure reports
- if autoconfiguring reports from papermill:
- run or publish
- output
- notebook
- html
- script
- strip or keep code
- To edit or create additional reports on a job, configure reports
- run or publish
- output
- notebook
- html
- script
- strip or keep code
Installation from source
Paperboy requires Python and Node.js, which can be installed from conda-forge if conda is available.
Clone the repository and run following commands to install and launch the application:
- npm install
- npm run build
- pip install -e .
- python -m paperboy
Visit http://0.0.0.0:8080 in a browser to view the application.
The default authentication backend requires the registration of a username that can be used on subsequent launches.
Release files for jupyter-paperboy 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_paperboy-0.1.2.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_paperboy-0.1.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 3.0 MB
Release files / jupyter_paperboy-0.1.2.tar.gz
| Download URL | jupyter_paperboy-0.1.2.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0387457121152b2f793890852364d5c871731cf45ae90c6383e19eda7d9326c
|
|
BLAKE2b-256 checksum How to use checksums |
006ecec0ae58fd178980fd13c59503af425d45bb640193a1abcad9081dd0db51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
|
Release files / jupyter_paperboy-0.1.2-py2.py3-none-any.whl
| Download URL | jupyter_paperboy-0.1.2-py2.py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
50212fa50653a123a1b0f5ba89531e2cd79f618816d0b5a2dee132689f4e9845
|
|
BLAKE2b-256 checksum How to use checksums |
bd46a780829a9bc4c7ef7ca5392a45bf83ca5b91340bc7c8cfe2ab3f2ae11db8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
|