hamilton

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 230 🐛 待处理 179 👀 关注 16
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 2625
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0 许可证,可免费使用和部署。

项目预览

hamilton 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队apache
定价模式🏷️完全免费
价格说明开源项目,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 星标★ 2625
上线时间2023-02-23 00:00:00
代码更新2026-11-07
仓库体积194.0 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-09
浏览次数5

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2625

使用教程

难度:入门 约 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

上一篇:ax

下一篇:BuildingAI

同类项目推荐

Shiro 开源

用 Java/Kotlin 快速开发 QQ 机器人,对接 OneBot 协议。

基于OneBot协议的QQ机器人快速开发框架

★ 342 2026-08-09
agentenv-framework 开源

搭 RL/Agent 评测环境,像拼积木一样快

Creating realistic RL environments requires collaboration between researchers, engin···

★ 421 2026-10-13
syncode 开源

让大模型输出严格符合语法,告别格式错误

Efficient and general syntactical decoding for Large Language Models

★ 341 2026-08-09
react-agent 开源

几行代码跑通 ReAct 智能体,省去从零搭图

LangGraph template for a simple ReAct agent

★ 859 2026-09-12
embedJs 开源

几行代码搞定文档问答,快速构建 RAG 应用

A NodeJS RAG framework to easily work with LLMs and embeddings

★ 601 2026-08-09
claude-skills 开源

拿来即用的 Claude Code 技能包,覆盖五大业务场景

200+ production-ready Claude Code skills for sales, marketing, design, engineering, ···

★ 421 2026-10-06
ai-elements-vue 开源

用 Vue 快速搭建 AI 聊天界面,省时又专业

AI Elements Vue is a component library built on top of shadcn-vue to help you build ···

★ 1200 2026-08-09
pocketgroq 开源

一行代码接入 Groq,快速构建带推理和联网能力的智能代理。

PocketGroq is a powerful Python library that simplifies integration with the Groq AP···

★ 215 2026-08-09