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).
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10.1 or later; visualization features require Graphviz to be installed separately on your system.
- 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 · maintenance · safety
Apache-2.0 (permissive) — 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.
last release 2026-04-25 (111 days) · last repo commit 2026-08-13 · 2,562 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 96,598 downloads/mo, #13,205 on PyPI
Alternatives
Verify before relying
pip install apache-hamilton
from hamilton import driver
dr = driver.Builder().build()
results = dr.execute(["output_node"])- 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.
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 on it.
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
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.
Requires Python 3.10.1 or later; visualization features require Graphviz to be installed separately on your system.
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"])
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 packagesnumpypandastyping_extensionstyping_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 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: apache_hamilton-1.90.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “DAG data transformation framework”
- apache-hamiltonApache Hamilton is a Python library for defining and executing…
- adagioAdagio provides a directed acyclic graph (DAG) framework for defining…
- dbt-postgresdbt-postgres is a dbt adapter that connects dbt to PostgreSQL…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also adagio · sf-hamilton · apache-airflow-core · apache-airflow-task-sdk · bigtree · koheesio · apache-airflow-providers-apache-beam · dag-factory · apache-airflow-providers-git · schedula