Welcome to Hamilton’s documentation!#

Hamilton Slack Twitter Total Downloads

The general purpose micro-orchestration framework for creating dataflows from python functions! That is, your single tool to express things like data, ML, LLM pipelines/workflows, and even web request logic! Please star it here!.

Hamilton is a novel paradigm for specifying a flow of delayed execution in python. It was originally built to simplify the creation of wide (1000+) column dataframes, but works on python objects of any type and dataflows of any complexity. Core to the design of Hamilton is a clear mapping of function name to components of the generated artifact, allowing you to quickly grok the relationship between the code you write and the data you produce. This paradigm makes modifications easy to build and track, ensures code is self-documenting, and makes it natural to unit test your data transformations. When connected together, these functions form a Directed Acyclic Graph (DAG), which the Hamilton framework can execute, optimize, and report on.

Why should you use Hamilton?#

Hamilton’s design goal is to make it easier for teams to maintain code that expresses dataflows, a.k.a. pipelines, or workflows. You should use Hamilton if you want a structured and opinionated way to maintain these types of python code bases.

Here’s a quick overview of benefits that Hamilton provides as compared to other tools:

Feature

Hamilton

Macro orchestration systems (e.g. Airflow)

Feast

dbt

Dask

Python 3.7+

βœ…

βœ…

βœ…

βœ…

βœ…

Helps you structure your code base

βœ…

❌

❌

βœ…

❌

Code is always unit testable

βœ…

❌

❌

❌

❌

Documentation friendly

βœ…

❌

❌

❌

❌

Can visualize lineage easily

βœ…

❌

❌

βœ…

βœ…

Is just a library

βœ…

❌

❌

❌

βœ…

Runs anywhere python runs

βœ…

❌

❌

❌

βœ…

Built for managing python transformations

βœ…

❌

❌

❌

❌

Can model GenerativeAI/LLM based workflows

βœ…

❌

❌

❌

❌

Replaces macro orchestration systems

❌

βœ…

❌

❌

❌

Is a feature store

❌

❌

βœ…

❌

❌

How can you get started?#

Hop on over to our getting started guide!