pandas、polars、pyarrowのDataFrameを、Jupyter上で操作できるドラッグ&ドロップ式のビジュアル分析UIに変換するPythonライブラリです。
apache/hamilton
Pythonが動く環境ならどこでも実行できる、テスト可能で自己文書化されたDAGとしてデータ変換を定義する軽量なPythonライブラリ。
- スター
- 2,615
- フォーク
- 222
- 未解決の Issue
- 189
- 最終コミット
- 昨日
これは何?
Apache Hamiltonは、データ変換を有向非巡回グラフとして構成するためのPythonライブラリです。通常のPython関数を記述し、各関数の引数名でほかの関数への依存関係を宣言します。Hamiltonが定義を読み取ってグラフを自動構築するため、コードの読みやすさを保ちながら可視化できます。
DAGの定義と実行は分離されています。同じ変換処理を、スクリプト、ノートブック、Airflowのタスク、FastAPIサーバーで実行できます。環境ごとに動作を切り替える@config.when()や、出力を検証する@check_outputなどの関数修飾子に加え、pandas、polars、Ibisのデータフレームのスキーマを追跡するSchemaValidatorアダプターを備えています。
プロジェクトには、DAGのカタログ化、データセットのプロファイリング、リネージュ付きの実行履歴の追跡を行うオプションのUIが含まれています。ローカルサーバーとして実行することも、Dockerでセルフホストすることもできます。Apache Software Foundationのインキュベーションプロジェクトで、Stitch Fixで開発が始まりました。
主な機能
- 01依存関係を引数名で宣言する、通常のPython関数として変換処理を定義できます。
- 02関数定義からDAGを自動構築し、可視化できます。
- 03@config.when()などの関数修飾子により、環境ごとのコード重複を抑えられます。
- 04@check_outputとSchemaValidatorで、出力とデータフレームのスキーマを検証できます。
- 05オプションのUIで、実行履歴、リネージュ、データセットのプロファイルを追跡できます。
ユースケース
- pandas、polars、またはSparkベースのワークフローで、ETLパイプラインや特徴量エンジニアリングのコードを構成する。
- ノートブック、Airflow DAG、FastAPIサービスで同じ変換コードを再利用する。
- リネージュと検証が必要なRAGやLLMのデータ準備処理を構築する。
- テスト可能な関数を使って、データサイエンスのコードをノートブックから本番用モジュールへ移行する。
クイックスタート
- 1
visualization extra を指定してライブラリをインストールします
pip install "apache-hamilton[visualization]" - 2
可視化を行うには、Graphviz をシステムに別途インストールします
- 3
Apache Hamilton UI サーバーを起動します
hamilton ui
使う前に知っておきたいこと
- DAG の可視化には Graphviz を別途インストールする必要があります。
- このプロジェクトは Apache のインキュベーション中のため、ASF による正式な承認をまだ受けていません。
トピック
よくある質問
- hamilton とは?
- Pythonが動く環境ならどこでも実行できる、テスト可能で自己文書化されたDAGとしてデータ変換を定義する軽量なPythonライブラリ。 Apache Hamiltonは、データ変換を有向非巡回グラフとして構成するためのPythonライブラリです。通常のPython関数を記述し、各関数の引数名でほかの関数への依存関係を宣言します。Hamiltonが定義を読み取ってグラフを自動構築するため、コードの読みやすさを保ちながら可視化できます。
- hamilton は無料で使えますか?ライセンスは?
- hamilton は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hamilton は今もメンテナンスされていますか?
- 活発にメンテナンス中。hamilton の最終コミットは 2026年10月21日 です。
- hamilton は何に使えますか?
- pandas、polars、またはSparkベースのワークフローで、ETLパイプラインや特徴量エンジニアリングのコードを構成する。 ノートブック、Airflow DAG、FastAPIサービスで同じ変換コードを再利用する。 リネージュと検証が必要なRAGやLLMのデータ準備処理を構築する。 テスト可能な関数を使って、データサイエンスのコードをノートブックから本番用モジュールへ移行する。
- hamilton のインストール方法は?
- visualization extra を指定してライブラリをインストールします: pip install "apache-hamilton[visualization]" 可視化を行うには、Graphviz をシステムに別途インストールします Apache Hamilton UI サーバーを起動します: hamilton ui
- hamilton はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/apache/hamilton
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
API、データベース、ファイルからウェアハウス、データレイク、AIアプリへデータを移動する、ELTパイプライン向けオープンソース基盤。
Microsoftによる、Python、クイズ、プロジェクトを通じてデータサイエンスの基礎を学ぶ、10週間・全20レッスンの初心者向けカリキュラム。
ライブラリ、チュートリアル、書籍、データセット、講演など、データサイエンス向けPythonリソースを集めたAwesome形式の厳選リストです。
依存セルを自動で再実行し、ノートブックをプレーンな .py ファイルとして保存して、スクリプトやデプロイ済みアプリとして実行できるリアクティブなPythonノートブック。
テーブル、データセット、MLモデル、レポートなどのデータアセットを定義・実行・監視するPythonオーケストレーションプラットフォーム。