一个 JupyterLab 扩展,可将任意 Python 函数注册为命令面板中的命令。
nteract/papermill
一款用于参数化、批量执行和分析 Jupyter Notebook 的 Python 工具,支持命令行与 Python API。
- Star
- 6,498
- Fork
- 465
- 未关闭 Issue
- 198
- 最近提交
- 上个月
这是什么?
Papermill 可以在执行时传入参数来运行 Jupyter Notebook。你只需给一个单元格打上 `parameters` 标签作为默认值,Papermill 会插入一个新的单元格,用传入的值覆盖默认参数,同一份 Notebook 因此可以针对不同输入生成不同结果,例如按不同日期运行月度报表。
执行方式有两种:通过 Python API 的 `execute_notebook` 调用,或使用 `papermill` 命令行。命令行支持以字符串、带类型的值、YAML 文件、YAML 字符串或 Base64 编码的 YAML 传入参数。输入和输出路径可以是本地文件、HTTP(S) 地址、AWS S3、Azure Data Lake / Blob Storage 或 Google Cloud Storage。
由于执行过程可以脚本化,Papermill 适合放进数据流水线中,让一个 Notebook 的运行结果决定接下来运行哪个 Notebook。
核心功能
- 01通过在带标签的单元格中注入参数,同一份 Notebook 可用不同输入运行。
- 02支持通过 Python API 或 papermill 命令行执行 Notebook。
- 03参数可以以带类型的值、原始字符串、YAML 文件或 YAML 字符串形式传入。
- 04输入输出可读写本地文件、HTTP(S)、S3、Azure 和 Google Cloud Storage。
- 05可选使用 Black 格式化注入的参数。
适用场景
- 用不同日期或配置重复运行同一份财务或分析报表。
- 在数据流水线中串联多个 Notebook,让前一步结果决定后续执行。
- 在定时任务中批量执行存放在云对象存储中的 Notebook。
快速上手
- 1
从 PyPI 安装 papermill
pip install papermill - 2
为笔记本单元格添加 'parameters' 标签,并通过命令行传入参数运行
papermill local/input.ipynb local/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
使用前须知
- 仅支持 Python 3.10 及更高版本。
标签
常见问题
- papermill 是什么?
- 一款用于参数化、批量执行和分析 Jupyter Notebook 的 Python 工具,支持命令行与 Python API。 Papermill 可以在执行时传入参数来运行 Jupyter Notebook。你只需给一个单元格打上 `parameters` 标签作为默认值,Papermill 会插入一个新的单元格,用传入的值覆盖默认参数,同一份 Notebook 因此可以针对不同输入生成不同结果,例如按不同日期运行月度报表。
- papermill 可以免费使用吗?用的什么许可证?
- papermill 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- papermill 还在维护吗?
- 半年内有更新。papermill 最近一次提交是在 2026年10月5日。
- papermill 适合用来做什么?
- 用不同日期或配置重复运行同一份财务或分析报表。 在数据流水线中串联多个 Notebook,让前一步结果决定后续执行。 在定时任务中批量执行存放在云对象存储中的 Notebook。
- papermill 怎么安装和运行?
- 从 PyPI 安装 papermill: pip install papermill 为笔记本单元格添加 'parameters' 标签,并通过命令行传入参数运行: papermill local/input.ipynb local/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
- 在哪里获取 papermill?
- 源代码和安装说明在 GitHub 上:https://github.com/nteract/papermill
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Nix 的框架,用于声明式、可复现地构建 JupyterLab 环境,可配置内核与扩展。
将 Jupyter 笔记本保存为 Markdown 或 Python、Julia、R 脚本,便于版本管理与 IDE 编辑。
将 Git 仓库根据其配置文件构建为支持 Jupyter 的 Docker 镜像。
为 JupyterLab 中按顺序执行的 Notebook 提供逐单元格测试的扩展与 Python 包。
一个响应式 Python 笔记本,自动重算依赖单元格,以纯 .py 文件存储,可作为脚本运行或部署为应用。