开源仓库nteract/papermill6,460 Stars

Papermill

让 Jupyter Notebook 变成可用不同参数批量执行的参数化计算单元

适合需要反复跑同一份 notebook 但代入不同参数的数据科学家和研究工程师。把 notebook 中的参数 cell 标记后,用命令行或 Python API 传入新参数值批量执行,输出 notebook 会保留每次运行的元数据和结果。

bo老师判断:推荐

用途和边界相对清楚,可以先从小样本开始。

...互动状态已更新

这个工具提供了哪些能力

点开任一能力,看清怎么用

每个能力展开后是三件事:它会给你什么、你需要准备什么、哪些必须由你把关。

常见场景:同一个数据分析 notebook 需要用不同日期、参数或数据集反复跑;需要把手工交互 notebook 嵌入自动化数据流水线;想查看 notebook 有哪些参数可调而不必打开文件逐行阅读;需要在 notebook 执行过程中实时落盘,防止长时间运行崩溃丢失结果

覆盖阶段分析验证

第一次这样开始

把仓库地址直接交给 AI

先让 AI 说明环境和风险,再完成最小安装验证。开始前想清楚要用哪个能力、把对应材料备在手边——每张能力卡展开后有具体清单。

第一次直接复制

帮我安装这个库:https://github.com/nteract/papermill
安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。

别这样用

这些判断,仍然由你负责

  • 忘记给 notebook 添加 parameters 标签——没有标记参数 cell 时传入的参数不会被注入
  • 把 papermill 当作替代版本控制的工具——它生成的是带运行结果的 notebook 副本,而不是替代 git 的 notebook 版本管理
  • 在参数 cell 中写复杂逻辑——参数 cell 应该只定义变量,复杂的参数处理逻辑放在后续 cell

技术依据

查看能力拆解、验证范围与来源

处理机制

  1. 01

    核心处理链

    让 Jupyter Notebook 变成可用不同参数批量执行的参数化计算单元

已核对范围

  • 只读上游快照 本地只读快照,commit e4e4ddd362037309c53ab5230541759707779687
  • papermill/execute.py(executenotebook、preparenotebookmetadata、removeerrormarkers、raiseforexecutionerrors)
  • papermill/engines.py(Engine、NBClientEngine、NotebookExecutionManager、PapermillEngines)
  • papermill/clientwrap.py(PapermillNotebookClient、papermillexecutecells)
  • papermill/cli.py(CLI 参数与退出码)
  • papermill/iorw.py(loadnotebooknode、writeipynb)
  • README.md、docs/usage-execute.rst
  • README.md(Parameterizing a Notebook 段)

仍待核对

  • 未运行真实 notebook 执行
  • 未验证逐 cell 落盘(requestsaveoncellexecute)的实际写入时机
  • 未验证 autosave 指数退避的实际触发
  • 未验证 starttimeout/executiontimeout 的超时行为
  • 未验证 DeadKernel 退出码 138 的实际触发
  • 未运行真实 notebook 验证注入 cell 的实际位置与覆盖行为
  • 未验证非 Python 语言(R/Scala/Julia/Matlab/C/F/Powershell/Bash)translator 的 codify 输出正确性
  • 未验证 Black 格式化(PythonTranslator.codify 的 black 调用)在无 black 时的降级

读取版本

e4e4ddd362037309c53ab5230541759707779687

许可

BSD-3-Clause

最近核对

内容 2026-07-10
Stars 2026-07-11

已完成源码核对

科研之我见

AI 可以参与科研的哪些环节?一张 11 环节工作流全景图

从选题、文献、理论、数据到投稿,逐环节判断 AI 可以主导、需要人工校验和必须由研究者把关的工作。

查看内容

科研之我见

AI 科研从哪里开始?先跑通一个完整闭环

科研 AI 新手先选择一个输入、输出和检查点都清楚的小任务,通过真实结果建立流程感、判断感和边界感。

查看内容

文献 · 验证

paper-qa

从本地论文和文档中检索证据并生成带精确引用的科研答案

查看内容

文献 · 分析 · 写作

grobid

把学术论文PDF解析成结构化TEI XML,提取元数据、全文结构和参考文献

查看内容

设计 · 分析 · 验证

CausalPy

用贝叶斯方法做准实验因果推断,含10+方法和稳健性诊断套件

查看内容