• Stars
    star
    247
  • Rank 158,807 (Top 4 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A web frontend for scheduling Jupyter notebook reports

paperboy

Status

A web frontend for scheduling Jupyter Notebooks as reports

Overview

Build Status Azure DevOps coverage

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)
  • PhosphorJS for the frontend
  • Support for Python Virtualenvs via requirements.txt or custom Docker images via Dockerfiles 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
        • pdf
        • html
        • email
        • script
      • strip or keep code
  • To edit or create additional reports on a job, configure reports
    • run or publish
    • output
      • notebook
      • pdf
      • html
      • email
      • 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.

More Repositories

1

tdameritrade

Python interface to TD Ameritrade (https://developer.tdameritrade.com)
Python
518
star
2

lantern

Data exploration glue
Python
335
star
3

jupyterlab_iframe

View html as an embedded iframe in JupyterLab
JavaScript
98
star
4

jupyterlab_miami_nights

Combination of VS Code's SynthWave '84 and JupyterLab's Neon Night
CSS
88
star
5

oreilly-latex-template

O'Reilly Latex Template by Joan Queralt translated to english from https://tex.stackexchange.com/questions/107862/oreilly-template
TeX
59
star
6

ipydagred3

ipywidgets library for drawing directed acyclic graphs in jupyterlab using dagre-d3
Python
54
star
7

jupyterlab_email

A jupyterlab extension to email notebooks directly from JupyterLab.
Python
52
star
8

knowledgelab

KnowledgeRepo + JupyterLab
Python
47
star
9

jupyterlab_commands

Add arbitrary python commands to the jupyterlab command palette
Python
45
star
10

perspective-parquet

Parquet file reader and editor in Jupyterlab, built with `perspective` for pivoting, filtering, aggregating, etc
JavaScript
26
star
11

pyEX-zipline

pyEX + Zipline
Python
23
star
12

jupyterlab_powerpoint

Creating PowerPoints from jupyter notebooks and vice versa
JavaScript
20
star
13

perspective-python

Python APIs for perspective front end
14
star
14

jupyterlab_nbconvert_nocode

A simple helper library with 2 NBConvert exporters for PDF/HTML export with no code cells
Jinja
13
star
15

polygon-io-perspective

Demo application visualizing Polygon.io financial data in Perspective
JavaScript
12
star
16

perspective-dash-component

A dash component for perspective.
Python
11
star
17

nannotate

Automate ML dataset labelling
JavaScript
11
star
18

nbcx

A framework for customizing NBConvert templates and building reports
CSS
10
star
19

fpga-board

A minimal complexity fpga board
10
star
20

tornado-proxy-handlers

Tornado proxy handlers for HTTP requests and web sockets
Python
9
star
21

pyEX-studies

Predefined financial metrics built on pyEX/IEX
6
star
22

bigbrother

An evil, awful, terrible, no-good library for watching objects for mutation. Do not use this library.
Python
6
star
23

finance-enums

Standard Financial Enumerations
Rust
5
star
24

pyEX-caching

Library for caching and querying IEX data
Python
5
star
25

ta-lib

TA-lib built with CMake
CMake
4
star
26

polygon-io-examples

Example applications, dashboards, scripts, notebooks, and other utilities built using Polygon.io
Jupyter Notebook
4
star
27

arrow-wasm-cpp

Standalone Apache Arrow compiled to WebAssembly, extracted from https://github.com/finos/perspective
CMake
3
star
28

temporal-cache

Time-based cache invalidation
Python
3
star
29

regular-table-lumino

bugs and tests putting `regular-table` inside lumino widgets
JavaScript
2
star
30

temporal-cache-js

Time-based cache invalidation
JavaScript
2
star
31

tkp-stack-public

Public version of my personal ansible scripts
Python
2
star
32

arrow-cpp-python-nocopy

CMake
2
star
33

con-pcie-x4

PCIe x4 edge which for some reason doesn't exist anywhere...
2
star
34

crowdsource

A streaming competition engine
Python
1
star
35

perspective-workspace-react-tornado

Example integrating Perspective Workspace + React + Tornado
JavaScript
1
star
36

perspective-summary

A `perspective-viewer` that provides summary statistics
Rust
1
star
37

finance-widgets

Library of reusable, composable javascript widgets for financial data.
1
star
38

requests-helper

Simple helper for requests
JavaScript
1
star
39

pyproject-cookiecutter

A Cookiecutter for my personal projects
JavaScript
1
star
40

iex-cloud-training

Comprehensive course for working programmatically with data.
Jupyter Notebook
1
star
41

jupyterlab_iex

JupyterLab Extensions for IEX Cloud
1
star
42

airflow-supervisor

Airflow utilities for running long-running or always-on jobs with supervisord
Makefile
1
star
43

tkp_utils_js

Whenever I have to write the same code over and over again, I'll put it here
TypeScript
1
star
44

timkpaine

HTML
1
star
45

cocktail-website

website for barrel cocktail co.
Svelte
1
star
46

voila-plain

Very simple template for Voila
Smarty
1
star
47

verilator-coverage-repro

repository for ventilator `--coverage` problem
Makefile
1
star
48

tkp_stack_public

Public helpers scripts and configuration
1
star
49

turtles

turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles turtles
1
star
50

pyproject-cookiecutter-example

An example instance of https://github.com/timkpaine/pyproject-cookiecutter, for testing
1
star
51

tributary-rs

Streaming reactive and dataflow graphs in Rust
Rust
1
star