Apache Hamilton
Define dataflows as plain Python functions — Hamilton builds the DAG for you.
About
Hamilton is a framework for writing data pipelines, ML features, and LLM workflows as ordinary Python functions. You write small functions with typed inputs and outputs; Hamilton stitches them into a directed acyclic graph, handles execution order, caching, and parallelization, and gives you lineage and visualization for free.
The appeal is that there's no new DSL to learn and no YAML orchestration layer: your pipeline is just functions, which makes it testable, reviewable, and IDE-friendly. It now lives at the Apache Software Foundation (graduated from DAGWorks' stewardship), and the ecosystem includes drivers for common data tools plus integrations for tracking experiments and serving features.
The honest caveat: Hamilton is deliberately lightweight — it is not Airflow or Dagster, so if you need distributed scheduling, retries-as-a-service, or a hosted control plane, you'll layer something on top. It shines for in-process dataflows and feature engineering where full orchestrators are overkill.
What it can do
- Dataflows as plain typed Python functions — no DSL, no YAML
- Automatic DAG construction with execution ordering and parallelization
- Built-in lineage tracking and DAG visualization
- Caching and memoization of intermediate results
- Drivers/adapters for pandas, Spark, Dask, and more
- Apache-2.0 licensed; Apache Software Foundation project
Setup
pip install sf-hamilton(the Apache-era package name).- Write your dataflow as Python functions with type-annotated parameters.
- Build a
driver.Driverwith your function modules and calldriver.execute(["output_name"], inputs={...}). - Visualize the DAG with
driver.visualize_execution()to inspect lineage.
Prerequisites
Python 3.8+; familiarity with pandas/numpy-style data work helps but isn't required.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (metrics tier, metrics-v1). Evidence: Adoption 7: starScore from 2,609 stars on apache/hamilton (moved from DAGWorks-Inc/hamilton to Apache); Maintenance 8: pushed 2026-10-14 (recency 10); releases assumed 8; issues ratio 178/2609 -> 1 (formula floor); Manual 8: docs verified at hamilton.dagworks.io; deduction: lightweight by design, not a full orchestrator. License: Apache-2.0.
★ 2,609 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 7.0/10
- Maintenance · recency, releases, issue load
- 8.0/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 8.0/10
- · Adoption 7: starScore from 2,609 stars on apache/hamilton (moved from DAGWorks-Inc/hamilton to Apache)
- · Maintenance 8: pushed 2026-10-14 (recency 10); releases assumed 8; issues ratio 178/2609 -> 1 (formula floor)
- · Manual 8: docs verified at hamilton.dagworks.io; deduction: lightweight by design, not a full orchestrator
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.