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 は、データ変換の有向非循環グラフ(DAG)を構造化・管理するために設計された軽量 Python ライブラリです。変換を標準化された方法で整理し、データフローの定義と実行を分離し、コードの冗長性を削減することで、概念実証から本番環境への移行という課題に対処します。
How it works
ユーザーは、関数のパラメータで依存関係を指定した普通の Python 関数を書くだけで DAG を定義します。Apache Hamilton がこれらの定義から自動的に DAG を構築します。ライブラリは「定義」(ロジック)と「実行」(ドライバー)を分離し、同じ DAG をスクリプト、ノートブック、Airflow パイプライン、FastAPI サーバーなど、さまざまな環境でポータブルに利用できるようにします。
Who it’s for
データサイエンティスト、エンジニア、運用担当者など、データチーム全体を対象としています。保守性の高い ETL パイプライン、ML ワークフロー、LLM アプリケーション、RAG システムを構築したい方に最適です。
Highlights
- Portable Transformations:DAG はインフラやオーケストレーションツールに依存せず、ローカル開発やコンテキスト間での再利用が可能です。
- Detailed Observability:実行の可視化、カタログ化、モニタリングを行う専用 UI を提供し、系統とトレース情報を備えています。
- Data Validation:
@check_outputと DataFrame ライクなオブジェクトのスキーマ検証による出力バリデーションを標準でサポートします。 - Modular Design:複数の Python モジュールを組み合わせてパイプラインを構築でき、コードの DRY 化とユニットテストが容易になります。