skillfed

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).

apache-hamilton v1.90.0 96.6K downloads/30d#13,205 on PyPI2,562
Permissive license Apache-2.0 Active released

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-hamilton

uv

uv add apache-hamilton

poetry

poetry add apache-hamilton

Installing 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

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

Tags

DAG data transformation frameworkportable Python pipeline builderfunction-based workflow orchestrationdata lineage and validationETL and ML pipeline frameworkPython dataflow execution enginemodular data processing DAGs
dag-orchestrationdata-pipelineetl

More Application Frameworks packages