hamilton

用普通 Python 函数构建可测试、有血缘的数据流,随处运行

Hamilton 是一个帮助数据科学家和工程师定义可测试、模块化、自文档化数据流的开源框架。它通过纯 Python 函数声明数据转换逻辑,自动构建数据流图,并生成血缘追踪和元数据。Hamilton 解决了数据管道开发中常见的代码混乱、难以测试和缺乏文档的问题,让数据流代码像普通软件工程一样规范。其核心能力包括:基于函数装饰器的声明式 API、自动依赖解析与执行优化、内置数据血缘和追踪、支持多种执行引擎(如 Pandas、Spark、Dask),并能与 Airflow 等调度系统集成。Hamilton 可在任何 Python 环境运行,从单机到分布式集群,帮助团队提升数据管道开发效率与可维护性。

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2598
维护状态 活跃
是否开源
定价模式 free

项目数据

分类搜索知识
开发团队apache
所属国家
定价模式free
价格说明开源项目,Apache-2.0 许可证,可免费使用和部署。
访问状态
是否开源
开源协议Apache-2.0
主要语言Jupyter Notebook
技术栈/模型dag,data-analysis,data-engineering,data-science,dataframe,etl,etl-framework,etl-pipeline,feature-engineering,hacktoberfest,lineage,llmops,machine-learning,mlops,orchestration,pandas,python,rag,software-engineering
GitHub 星标★ 2598
30天Star增速
HF 下载量
上线时间2023-02-23 00:00:00
最近更新2026-09-23 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 3.8 或更高版本(README 明确支持 Python 3.8+)
  • 可用的 pip 包管理工具
  • 可选:系统已安装 Graphviz,用于生成 DAG 可视化图
  • 可选:无需本地环境时可直接使用浏览器版 tryhamilton.dev

安装与启动步骤

  1. 1确认 Python 版本

    Hamilton 要求 Python 3.8 及以上,先检查本机版本是否满足,低于 3.8 需先升级 Python。

    python --version
  2. 2安装 Hamilton

    通过 pip 安装 apache-hamilton,并带上 visualization 可选依赖,方便后续绘制 DAG 图。

    pip install "apache-hamilton[visualization]"
  3. 3安装 UI 与 SDK

    若需要使用 Apache Hamilton UI,则额外安装 ui 和 sdk 两个可选依赖组,不需要可跳过。

    pip install "apache-hamilton[ui,sdk]"
  4. 4安装 Graphviz

    可视化功能依赖系统级 Graphviz,需按官网指引单独安装(README 未提供安装命令)。

  5. 5浏览器体验

    不想本地安装时,可直接打开 tryhamilton.dev 在浏览器中试用 Hamilton。

如何确认成功

上述 pip 安装命令执行完成且无报错,即表示 apache-hamilton 已装入当前 Python 环境;随后按官网文档运行示例数据流即可确认可用。

常见问题

Q:Hamilton 支持哪些 Python 版本?

A:README 说明支持 Python 3.8+,版本过低需先升级 Python 再安装。

Q:为什么 DAG 可视化不出来?

A:可视化依赖 Graphviz,而 Graphviz 需要单独安装在操作系统上,仅装 Python 包不够。

Q:只想快速试用,不想装环境怎么办?

A:可以直接访问 www.tryhamilton.dev,在浏览器里体验 Apache Hamilton。

Q:必须安装 ui 和 sdk 依赖吗?

A:不是必需的。只有需要使用 Apache Hamilton UI 时才安装 ui 与 sdk 依赖组。

注意事项

  • apache-hamilton 是 PyPI 上的包名,安装时注意使用该名称而非 hamilton。
  • visualization、ui、sdk 均为可选依赖,按需安装即可,可减小依赖体积。
  • Graphviz 属于系统级依赖,需按 https://graphviz.org/download/ 指引单独安装。
  • 更多使用说明见官方文档 https://hamilton.apache.org。

核心亮点

  • 纯 Python 函数定义数据流,无需学习新 DSL,代码即文档
  • 自动生成数据血缘和元数据,方便追踪数据来源与质量问题
  • 支持 Pandas、Spark、Dask 等多种后端,可扩展到分布式环境

不足之处

  • 学习曲线较陡,需要理解函数式声明和依赖注入概念
  • 文档和社区资源相对较少,高级用法需自行探索

适用场景

  • 数据管道开发:替代传统脚本式 ETL,提升代码可维护性
  • 数据科学项目:管理特征工程和模型输入的数据流
  • 数据平台建设:作为统一的数据转换层,支持多引擎执行

替代项目

dbt、Luigi、Prefect

项目介绍

hamilton 是开发框架领域的开源项目,由 apache 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,598)位列前 30%,在开发框架分类中处于中上游。

近 42 天,它的 GitHub 星标从 2,562 增加到 2,598,净增 36。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-23。Apache-2.0 许可证,可免费使用和部署。

它主要面向的使用场景是:数据管道开发:替代传统脚本式ETL,提升代码可维护性。同类可对比的替代方案包括 dbt、Luigi、Prefect。

上一篇:ax

下一篇:BuildingAI

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12