apache/hamilton

Apache Hamilton helps data scientists and engineers define testable, modular, self-documenting dataflows, that encode lineage/tracing and metadata. Runs and scales everywhere python does.

What it solves

Apache Hamilton 是一个轻量级的 Python 库,旨在结构化和管理数据转换有向无环图(DAG)。它通过提供标准化的方式来组织转换、将数据流的定义与执行分离,并减少代码冗余,解决了将数据项目从概念验证推进到生产的挑战。

How it works

用户只需编写普通的 Python 函数,函数参数即指定依赖关系,从而定义 DAG。Apache Hamilton 会自动根据这些定义构建 DAG。该库将“定义”(逻辑)与“执行”(驱动)分离,使同一 DAG 能在脚本、笔记本、Airflow 管道或 FastAPI 服务器等不同环境中便携使用。

Who it’s for

它面向数据团队——包括数据科学家、工程师和运维——帮助他们构建可维护的 ETL 管道、机器学习工作流、LLM 应用和 RAG 系统。

Highlights

  • Portable Transformations:DAG 与基础设施或编排工具无关,允许本地开发并在不同上下文中复用。
  • Detailed Observability:提供专用 UI 用于可视化、目录化和监控执行,具备血缘和追踪功能。
  • Data Validation:内置 @check_output 以及对类 DataFrame 对象的模式验证,以支持输出校验。
  • Modular Design:鼓励使用多个 Python 模块组装管道,保持代码 DRY 并易于单元测试。