--- id: apache-hamilton version: "1.90.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # apache-hamilton — Apache Hamilton (incubating) is a lightweight Python library for directed acyclic graphs (DAGs) of transformations. Your DAG is **portable**; it runs anywhere Python runs, whether it's a script, notebook, Airflow pipeline, FastAPI server, etc. Your DAG is **expressive**; Apache Hamilton has extensive features to define and modify the execution of a DAG (e.g., data validation, experiment tracking, remote execution). License: permissive · Maintenance: active · Downloads: 96.6K/mo ## What it is and what it does Apache Hamilton is a lightweight Python library for building data transformation pipelines as directed acyclic graphs (DAGs). Instead of using a separate DSL or configuration format, you write regular Python functions whose parameters declare dependencies, and Hamilton automatically constructs the DAG from that definition. This approach keeps your code readable, testable, and self-documenting while remaining portable—the same DAG runs in a Jupyter notebook, a local script, an Airflow pipeline, or a FastAPI server without modification. The library emphasizes modularity and collaboration by separating DAG definition from execution, allowing data scientists to focus on transformation logic while engineers manage production deployment. It includes built-in features for data validation, experiment tracking, remote execution, and visualization through the optional Apache Hamilton UI. The project is actively maintained and marked Production/Stable, though it remains under Apache Incubation pending full ASF endorsement. Use it for: - Build ETL pipelines where transformation logic is defined as modular Python functions and executed portably across local, notebook, and production environments. - Create ML workflows with automatic data lineage tracking, schema validation, and experiment logging via the Hamilton UI. - Develop RAG and LLM application pipelines with data validation and observability without switching frameworks between development and deployment. - Construct BI dashboard data pipelines that can be debugged locally and reused across Airflow, FastAPI, or other orchestration contexts. - Organize large data transformation codebases using function modifiers and multi-module assembly to keep DAG definitions maintainable. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Apache Hamilton is a Python library for defining and executing directed acyclic graphs (DAGs) of data transformations using regular Python functions, with built-in support for portability across execution contexts and features like data validation and experiment tracking. Yes, with conditions. Install if you need a portable, function-based DAG framework for data pipelines and want to avoid boilerplate orchestration code. The low install friction, active maintenance, and Production/Stable classifier make it production-ready. However, verify that Apache Incubation status poses no concern for your organization, and confirm integration maturity with your specific orchestrator if you plan to move beyond local execution. ## Install pip install apache-hamilton uv add apache-hamilton poetry add apache-hamilton ## Installing apache-hamilton Before you install: Low install friction with a pure-Python wheel and four common runtime dependencies (numpy, pandas, typing_extensions, typing_inspect). The project is actively maintained with recent commits and carries a Production/Stable classifier, though it remains under Apache Incubation status. License in practice: Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions. You must include a copy of the license and provide notice of changes, but there are no copyleft obligations that would restrict downstream use. Quickstart: pip install apache-hamilton from hamilton import driver dr = driver.Builder().build() results = dr.execute(["output_node"]) Requires Python 3.10.1 or later; visualization features require Graphviz to be installed separately on your system. Verify before relying: - Whether the incubation status poses any practical risk for production use or long-term API stability. - Performance characteristics and scalability limits for very large DAGs. - Integration maturity with specific orchestrators (Airflow, Kubernetes, etc.) beyond documented examples. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 96.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags DAG data transformation framework, portable Python pipeline builder, function-based workflow orchestration, data lineage and validation, ETL and ML pipeline framework, Python dataflow execution engine, modular data processing DAGs, dag-orchestration, data-pipeline, etl [View on SkillFed](https://skillfed.io/packages/apache-hamilton) · [View on PyPI](https://pypi.org/project/apache-hamilton/)