Welcome to Hamilton’s documentation!#

Hamilton Slack Twitter Total Downloads

Hamilton is a general purpose micro-framework for creating dataflows from python functions! 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

Replaces macro orchestration systems

Is a feature store

How can you get started?#

Hop on over to our getting started guide!