Jupyter笔记本
项目描述
paperboy
用于将Jupyter Notebook作为报告调度的Web前端
概述
Paperboy是一个用于调度报告的生产级应用程序。它具有灵活的架构和可扩展的API,可以集成到广泛的部署中。它由开源世界中的各种工业级技术组成。
- Jupyter Notebooks(用于报告本身)
- Jupyter笔记本是理想的报告模板,并通过NBConvert支持多种输出类型,包括PDF、HTML、电子邮件等。
- Papermill用于参数化笔记本
- SQLAlchemy用于存储(默认)
- Apache Airflow用于调度(默认)
- Dask用于Airflow Worker
- Luigi作为
Airflow
的调度替代方案(依赖于cron
)
- 用于前端开发 PhosphorJS
- 支持Python虚拟环境 Virtualenvs,可通过
requirements.txt
或自定义 Docker 镜像(Dockerfile
)在笔记本级别进行配置 - 通过Traitlets对存储和调度类进行参数化,以便轻松与自定义存储后端和调度器集成
- 使用 Voila 和 Dokku 实现单点点击的笔记本部署
流程图
- 上传笔记本
- 配置作业
- 开始时间
- 间隔
- Papermill参数来自动配置报告
- 如果从Papermill自动配置报告
- 运行或发布
- 输出
- 笔记本
- HTML
- 电子邮件
- 脚本
- 删除或保留代码
- 要编辑或创建作业的附加报告,请配置报告
- 运行或发布
- 输出
- 笔记本
- HTML
- 电子邮件
- 脚本
- 删除或保留代码
从源代码安装
Paperboy需要Python和 Node.js,如果已安装conda,则可以从conda-forge
安装。
克隆仓库并运行以下命令以安装和启动应用程序
- npm install
- npm run build
- pip install -e .
- python -m paperboy
在浏览器中访问 http://0.0.0.0:8080 以查看应用程序。
默认认证后端需要注册一个可以在后续启动中使用的用户名。