Skip to content
← Tools / Skills
ToolApache Software Foundation (originally DAGWorks)/10 trustMetrics-checked

Apache Hamilton

Define dataflows as plain Python functions — Hamilton builds the DAG for you.

Visit official site →

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

  1. pip install sf-hamilton (the Apache-era package name).
  2. Write your dataflow as Python functions with type-annotated parameters.
  3. Build a driver.Driver with your function modules and call driver.execute(["output_name"], inputs={...}).
  4. 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

dataetlmlopsdata-pipelinesdeveloper-tools

Works with

Trust score — 8/10

/10 trustMetrics-checked

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.