Repolode
apache

apache/hamilton

Una biblioteca ligera de Python para definir transformaciones de datos como DAGs comprobables y autodocumentados que se ejecutan dondequiera que se ejecute Python.

Estrellas
2,615
Forks
222
Issues abiertos
189
Último commit
ayer

¿Qué es?

Apache Hamilton es una biblioteca de Python para organizar transformaciones de datos como grafos acíclicos dirigidos. Se escriben funciones normales de Python, y los nombres de los parámetros de cada función declaran sus dependencias de otras funciones. Hamilton lee esas definiciones y construye el grafo automáticamente, de modo que el código sigue siendo legible y se puede visualizar.

La definición del DAG está separada de su ejecución. Las mismas transformaciones pueden ejecutarse en un script, un notebook, una tarea de Airflow o un servidor de FastAPI. Entre sus funciones se incluyen modificadores de funciones como @config.when() para cambiar el comportamiento según el entorno, @check_output para validar resultados y un adaptador SchemaValidator que registra los esquemas de los dataframes de pandas, polars e Ibis.

El proyecto incluye una interfaz de usuario opcional para catalogar DAGs, perfilar conjuntos de datos y hacer seguimiento de las ejecuciones con su linaje. Puede ejecutarse como servidor local o alojarse por cuenta propia con Docker. Es un proyecto en incubación de la Apache Software Foundation, iniciado originalmente en Stitch Fix.

Funciones clave

  • 01Define transformaciones como funciones sencillas de Python, cuyas dependencias se declaran mediante los nombres de los parámetros.
  • 02Construye y visualiza automáticamente el DAG a partir de las definiciones de las funciones.
  • 03Los modificadores de funciones, como @config.when(), reducen la duplicación de código entre entornos.
  • 04@check_output y SchemaValidator validan los resultados y los esquemas de los dataframes.
  • 05La interfaz de usuario opcional hace seguimiento de las ejecuciones, el linaje y los perfiles de los conjuntos de datos.

Casos de uso

  • Estructurar pipelines ETL o código de ingeniería de características en flujos de trabajo basados en pandas, polars o Spark.
  • Reutilizar el mismo código de transformación en un notebook, un DAG de Airflow y un servicio de FastAPI.
  • Crear pasos de preparación de datos para RAG o LLM que requieran linaje y validación.
  • Pasar código de ciencia de datos de notebooks a módulos de producción con funciones comprobables.

Inicio rápido

  1. 1

    Instala la biblioteca con el extra de visualización

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

    Instala Graphviz por separado en tu sistema para crear visualizaciones

  3. 3

    Inicia el servidor de Apache Hamilton UI

    hamilton ui

Antes de usarlo

  • Graphviz debe instalarse por separado para visualizar DAG.
  • El proyecto está en proceso de incubación de Apache, por lo que todavía no cuenta con el respaldo oficial de ASF.

Temas

Preguntas frecuentes

¿Qué es hamilton?
Una biblioteca ligera de Python para definir transformaciones de datos como DAGs comprobables y autodocumentados que se ejecutan dondequiera que se ejecute Python. Apache Hamilton es una biblioteca de Python para organizar transformaciones de datos como grafos acíclicos dirigidos. Se escriben funciones normales de Python, y los nombres de los parámetros de cada función declaran sus dependencias de otras funciones. Hamilton lee esas definiciones y construye el grafo automáticamente, de modo que el código sigue siendo legible y se puede visualizar.
¿hamilton es gratuito? ¿Qué licencia tiene?
hamilton es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿hamilton sigue mantenido?
Mantenimiento activo. El último commit de hamilton fue el 21 oct 2026.
¿Para qué puedo usar hamilton?
Estructurar pipelines ETL o código de ingeniería de características en flujos de trabajo basados en pandas, polars o Spark. Reutilizar el mismo código de transformación en un notebook, un DAG de Airflow y un servicio de FastAPI. Crear pasos de preparación de datos para RAG o LLM que requieran linaje y validación. Pasar código de ciencia de datos de notebooks a módulos de producción con funciones comprobables.
¿Cómo se instala hamilton?
Instala la biblioteca con el extra de visualización: pip install "apache-hamilton[visualization]" Instala Graphviz por separado en tu sistema para crear visualizaciones Inicia el servidor de Apache Hamilton UI: hamilton ui
¿Dónde consigo hamilton?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/apache/hamilton

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados