Repolode
apache

apache/hamilton

Uma biblioteca Python leve para definir transformações de dados como DAGs testáveis e autodocumentados, que rodam onde quer que o Python rode.

Estrelas
2,615
Forks
222
Issues abertas
189
Último commit
ontem

O que é?

O Apache Hamilton é uma biblioteca Python para organizar transformações de dados como grafos acíclicos direcionados. Você escreve funções Python comuns, e os nomes dos parâmetros de cada função declaram suas dependências em relação a outras funções. O Hamilton lê essas definições e monta o grafo automaticamente, mantendo o código legível e permitindo visualizá-lo.

A definição do DAG é separada da execução. As mesmas transformações podem rodar em um script, notebook, tarefa do Airflow ou servidor FastAPI. Entre os recursos estão modificadores de função, como @config.when(), para alternar comportamentos entre ambientes; @check_output, para validar saídas; e um adapter SchemaValidator, que acompanha os schemas de dataframes do pandas, polars e Ibis.

O projeto inclui uma UI opcional para catalogar DAGs, criar perfis de datasets e acompanhar execuções com lineage. Ela pode rodar como servidor local ou ser hospedada por você com Docker. O projeto está em incubação na Apache Software Foundation e foi originalmente iniciado na Stitch Fix.

Recursos principais

  • 01Define transformações como funções Python comuns, com dependências declaradas nos nomes dos parâmetros.
  • 02Monta e visualiza automaticamente o DAG a partir das definições das funções.
  • 03Modificadores de função como @config.when() reduzem a duplicação de código entre ambientes.
  • 04@check_output e SchemaValidator validam saídas e schemas de dataframes.
  • 05A UI opcional acompanha execuções, lineage e perfis de datasets.

Casos de uso

  • Estruturar pipelines de ETL ou código de feature engineering em fluxos de trabalho com pandas, polars ou Spark.
  • Reutilizar o mesmo código de transformação em um notebook, um DAG do Airflow e um serviço FastAPI.
  • Criar etapas de preparação de dados para RAG ou LLM que precisam de lineage e validação.
  • Levar código de data science de notebooks para módulos de produção com funções testáveis.

Início rápido

  1. 1

    Instale a biblioteca com o extra de visualização

    pip install "apache-hamilton[visualization]"
  2. 2

    Instale o Graphviz separadamente no seu sistema para criar visualizações

  3. 3

    Inicie o servidor do Apache Hamilton UI

    hamilton ui

Antes de usar

  • O Graphviz deve ser instalado separadamente para visualizar DAGs.
  • O projeto está passando pela incubação da Apache e, por isso, ainda não recebeu o endosso oficial da ASF.

Tópicos

Perguntas frequentes

O que é hamilton?
Uma biblioteca Python leve para definir transformações de dados como DAGs testáveis e autodocumentados, que rodam onde quer que o Python rode. O Apache Hamilton é uma biblioteca Python para organizar transformações de dados como grafos acíclicos direcionados. Você escreve funções Python comuns, e os nomes dos parâmetros de cada função declaram suas dependências em relação a outras funções. O Hamilton lê essas definições e monta o grafo automaticamente, mantendo o código legível e permitindo visualizá-lo.
hamilton é gratuito? Qual é a licença?
hamilton é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
hamilton ainda é mantido?
Manutenção ativa. O último commit de hamilton foi em 21 de out. de 2026.
Para que posso usar hamilton?
Estruturar pipelines de ETL ou código de feature engineering em fluxos de trabalho com pandas, polars ou Spark. Reutilizar o mesmo código de transformação em um notebook, um DAG do Airflow e um serviço FastAPI. Criar etapas de preparação de dados para RAG ou LLM que precisam de lineage e validação. Levar código de data science de notebooks para módulos de produção com funções testáveis.
Como instalar hamilton?
Instale a biblioteca com o extra de visualização: pip install "apache-hamilton[visualization]" Instale o Graphviz separadamente no seu sistema para criar visualizações Inicie o servidor do Apache Hamilton UI: hamilton ui
Onde consigo hamilton?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apache/hamilton

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados