Biblioteca Python que transforma dataframes do pandas, polars ou pyarrow em uma interface interativa de análise visual com arrastar e soltar no Jupyter.
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
Instale a biblioteca com o extra de visualização
pip install "apache-hamilton[visualization]" - 2
Instale o Graphviz separadamente no seu sistema para criar visualizações
- 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
Plataforma open source de movimentação de dados para pipelines ELT, que leva dados de APIs, bancos de dados e arquivos para data warehouses, data lakes e aplicações de IA.
Currículo introdutório de 10 semanas e 20 aulas da Microsoft, com tópicos fundamentais de ciência de dados, Python, quizzes e projetos.
Lista curada no estilo Awesome de recursos de Python para ciência de dados, com bibliotecas, tutoriais, livros, conjuntos de dados e palestras.
Um notebook reativo para Python que reexecuta automaticamente células dependentes, salva notebooks como arquivos .py simples e pode rodar como script ou app publicado.
Uma plataforma de orquestração em Python para definir, executar e monitorar ativos de dados, como tabelas, datasets, modelos de ML e relatórios.