Ploomber:用 YAML 把数据管道串起来

Ploomber 在 GitHub 上已经拿到 3,623 Star。

它做一件事:让你用熟悉的编辑器写数据管道,然后用一条命令部署到生产环境。不需要改代码,从 Jupyter Notebook 到 Kubernetes 都能跑。

正文顶部截图

1、 这玩意儿是干嘛的

数据科学里最烦的事,就是本地跑通的 notebook 搬到生产环境全崩。变量顺序乱掉、中间结果没存、依赖关系一团糟,调试半天发现是某个 cell 执行顺序的问题。

Ploomber 解决的就是这个断层。

你在 Jupyter、VSCode 或 PyCharm 里正常写代码,Ploomber 在背后把代码组织成有向无环图。每个任务自动缓存结果,改了哪块就只重跑那块,不用从头再来。开发时交互调试,部署时直接提交,中间不需要改任何代码。

README区域截图

2、 核心能力

快速启动:写个 YAML 配置文件就能定义整个管道,任务之间的依赖关系一目了然。如果场景复杂,也可以用 Python API 完全自定义。

增量执行:管道中间结果自动缓存到本地。下次运行时,只重新计算变更过的任务,没变的直接跳过。对于长链条的数据处理流程,这个特性省下的时间很明显。

随处部署:同一份代码,本地跑是 shell 脚本,上生产可以直接丢进 Kubernetes、Airflow、AWS Batch 或 SLURM。Ploomber 把这些平台的差异封装掉了,你不需要为每个平台写不同的入口文件。

Notebook 迁移:有一堆 legacy notebook?ploomber nb 命令自动分析 cell 之间的依赖,把它们拆解成独立的模块化任务,每个任务一个 .py 文件,中间结果自动串联。

3、 安装和使用

兼容 Python 3.7 及以上版本。

pip 安装:

pip install ploomber

conda 安装:

conda install ploomber -c conda-forge

入门建议直接跑官方教程。创建一个 pipeline.yaml,里面定义任务名称、源码路径和上游依赖,然后执行 ploomber build,整个管道就按正确的顺序跑完了。

4、 适合哪些人用

  • 用 notebook 做数据分析,但部署时一团糟的数据科学家
  • 需要把实验代码转成生产级管道的工程师
  • 在 Kubernetes 或 Airflow 上跑批量任务,想减少配置成本的团队
  • 手里有一堆旧 notebook 想整理成可维护管道的开发者

w 上跑批量任务,想减少配置成本的团队

  • 手里有一堆旧 notebook 想整理成可维护管道的开发者
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐