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 并易于单元测试。