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 以及資料框類型物件的結構驗證,以支援輸出驗證。
  • Modular Design:鼓勵使用多個 Python 模組組合管線,保持程式碼 DRY 且易於單元測試。