apache-hamilton
Apache Hamilton (incubating) is a lightweight Python library for directed acyclic graphs (DAGs) of transformations. Your DAG is **portable**; it runs anywhere Python runs, whether it's a script, notebook, Airflow pipeline, FastAPI server, etc. Your DAG is **expressive**; Apache Hamilton has extensive features to define and modify the execution of a DAG (e.g., data validation, experiment tracking, remote execution).
What it is and what it does
Apache Hamilton is a lightweight Python library for building data transformation pipelines as directed acyclic graphs (DAGs). Instead of using a separate DSL or configuration format, you write regular Python functions whose parameters declare dependencies, and Hamilton automatically constructs the DAG from that definition. This approach keeps your code readable, testable, and self-documenting while remaining portable—the same DAG runs in a Jupyter notebook, a local script, an Airflow pipeline, or a FastAPI server without modification.
The library emphasizes modularity and collaboration by separating DAG definition from execution, allowing data scientists to focus on transformation logic while engineers manage production deployment. It includes built-in features for data validation, experiment tracking, remote execution, and visualization through the optional Apache Hamilton UI. The project is actively maintained and marked Production/Stable, though it remains under Apache Incubation pending full ASF endorsement.
Use it for:
- Build ETL pipelines where transformation logic is defined as modular Python functions and executed portably across local, notebook, and production environments.
- Create ML workflows with automatic data lineage tracking, schema validation, and experiment logging via the Hamilton UI.
- Develop RAG and LLM application pipelines with data validation and observability without switching frameworks between development and deployment.
- Construct BI dashboard data pipelines that can be debugged locally and reused across Airflow, FastAPI, or other orchestration contexts.
- Organize large data transformation codebases using function modifiers and multi-module assembly to keep DAG definitions maintainable.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Apache Hamilton is a Python library for defining and executing directed acyclic graphs (DAGs) of data transformations using regular Python functions, with built-in support for portability across execution contexts and features like data validation and experiment tracking.
Yes, with conditions. Install if you need a portable, function-based DAG framework for data pipelines and want to avoid boilerplate orchestration code. The low install friction, active maintenance, and Production/Stable classifier make it production-ready. However, verify that Apache Incubation status poses no concern for your organization, and confirm integration maturity with your specific orchestrator if you plan to move beyond local execution.
Install
apache-hamilton on PyPI
pip
pip install apache-hamiltonuv
uv add apache-hamiltonpoetry
poetry add apache-hamiltonInstalling apache-hamilton
Before you install
Low install friction with a pure-Python wheel and four common runtime dependencies (numpy, pandas, typing_extensions, typing_inspect). The project is actively maintained with recent commits and carries a Production/Stable classifier, though it remains under Apache Incubation status.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions. You must include a copy of the license and provide notice of changes, but there are no copyleft obligations that would restrict downstream use.
Quickstart
pip install apache-hamilton
from hamilton import driver
dr = driver.Builder().build()
results = dr.execute(["output_node"])
Requires Python 3.10.1 or later; visualization features require Graphviz to be installed separately on your system.
Verify before relying
- Whether the incubation status poses any practical risk for production use or long-term API stability.
- Performance characteristics and scalability limits for very large DAGs.
- Integration maturity with specific orchestrators (Airflow, Kubernetes, etc.) beyond documented examples.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4,>=3.10.1) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — numpy, pandas, typing_extensions, typing_inspect |
| Maintenance | actively maintained — 111 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 96,598/month — #13,205 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: apache_hamilton-1.90.0-py3-none-any.whl
Keywords: hamilton
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
adagioAdagio provides a directed acyclic graph (DAG)…
permissive · top 5,000 on PyPI
sf-hamiltonThis package is a redirect to apache-hamilton;…
permissive · top 15,000 on PyPI
apache-airflow-coreApache Airflow's core runtime that schedules,…
permissive · top 5,000 on PyPI
apache-airflow-task-sdkProvides Python interfaces and task execution…
permissive · top 5,000 on PyPI
bigtreeBigtree provides tree, binary tree, and…
permissive · top 15,000 on PyPI
koheesioKoheesio is a Python framework for building…
permissive · top 15,000 on PyPI
apache-airflow-providers-apache-beamIntegrates Apache Beam data processing…
permissive · top 15,000 on PyPI
dag-factorydag-factory builds Apache Airflow DAGs…
permissive · top 15,000 on PyPI
apache-airflow-providers-gitIntegrates Git version control operations into…
permissive · top 15,000 on PyPI
schedulaSchedula is a flow-based programming library…
copyleft · top 5,000 on PyPI