Hamilton

github.com/dagworks-inc/hamilton Developer Tools Open-source projectOpen source

Apache Hamilton helps teams build modular, testable dataflows with lineage and metadata.

github.com/dagworks-inc/hamilton
Hamilton homepage screenshot

About Hamilton

Apache Hamilton (incubating) is a lightweight Python library for building directed acyclic graphs of data transformations. Users write ordinary Python functions whose parameters declare their dependencies, and Hamilton assembles the DAG automatically from that definition, producing code that can be visualized. The DAG is portable: it runs wherever Python runs, including scripts, notebooks, Airflow pipelines and FastAPI servers, and is intended for ETL pipelines, ML workflows, LLM applications, RAG systems and BI dashboards. Hamilton also separates DAG definition from execution so data scientists and engineers can work on different parts, and it includes features for data validation, experiment tracking and remote execution. An optional UI can visualize, catalog and monitor executions. The library supports Python 3.8+, and DAG visualization additionally requires Graphviz to be installed separately. The project is undergoing incubation at the Apache Software Foundation and has not been fully endorsed by the ASF. For loops or conditional logic, such as LLM agents or simulations, the source points to a sister library, Burr.

Key features

  • Build DAGs from Python functions whose parameters declare dependencies
  • Automatically constructs the DAG; definitions can be visualized
  • Separates DAG definition from execution for different team roles
  • Features for data validation, experiment tracking and remote execution
  • Optional UI to visualize, catalog and monitor executions
  • Runs in scripts, notebooks, Airflow pipelines and FastAPI servers
Best for: Data scientists and engineers who want to define modular, testable Python dataflows that stay portable across execution environments.
Good for
  • Portable DAGs that run anywhere Python runs, independent of infrastructure or orchestration
  • Separation of definition and execution supports collaboration between data scientists and engineers
  • @config.when() and a notebook extension reduce friction moving code from development to production
Watch out for
  • Undergoing Apache incubation; not yet fully endorsed by the Apache Software Foundation
  • Graphviz must be installed separately for DAG visualizations
  • Not designed for loops or conditional logic; the source directs those cases to the sister library Burr

Hamilton at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

Hamilton alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Developer Tools

Well-known listings from the same topic.

All 423

Hamilton FAQ

Which Python versions does Apache Hamilton support?
The library supports Python 3.8 and above.
How is Apache Hamilton installed?
It is installed with pip, for example pip install "apache-hamilton[visualization]". The ui and sdk extras are installed for the Apache Hamilton UI.
Can Apache Hamilton be tried without installing it locally?
Yes, it can be tried in the browser at www.tryhamilton.dev.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing