Repolode
apache

apache/hamilton

Лёгкая библиотека Python для описания преобразований данных в виде тестируемых, документируемых DAG, которые можно запускать везде, где работает Python.

Звёзды
2,615
Форки
222
Открытые issues
189
Последний коммит
вчера

Что это?

Apache Hamilton — библиотека Python для организации преобразований данных в виде ориентированных ациклических графов. Вы пишете обычные функции Python, а имена параметров каждой функции задают зависимости от других функций. Hamilton автоматически строит граф по этим определениям, поэтому код остаётся понятным и его можно визуализировать.

Определение DAG отделено от его выполнения. Одни и те же преобразования можно запускать в скрипте, ноутбуке, задаче Airflow или сервере FastAPI. Среди возможностей — модификаторы функций, например @config.when() для переключения поведения между средами, @check_output для проверки результатов и адаптер SchemaValidator, который отслеживает схемы датафреймов pandas, polars и Ibis.

В проект входит опциональный UI для каталогизации DAG, профилирования наборов данных и отслеживания выполнений с lineage. Его можно запустить как локальный сервер или разместить самостоятельно с помощью Docker. Проект находится на стадии инкубации в Apache Software Foundation; изначально его создали в Stitch Fix.

Ключевые возможности

  • 01Описывает преобразования в виде обычных функций Python, зависимости которых задаются именами параметров.
  • 02Автоматически строит и визуализирует DAG на основе определений функций.
  • 03Модификаторы функций, например @config.when(), помогают избежать дублирования кода в разных средах.
  • 04@check_output и SchemaValidator проверяют результаты и схемы датафреймов.
  • 05Опциональный UI отслеживает выполнения, lineage и профили наборов данных.

Сценарии использования

  • Структурирование ETL-пайплайнов и кода для feature engineering в pandas, polars или рабочих процессах на базе Spark.
  • Повторное использование одного и того же кода преобразований в ноутбуке, DAG Airflow и сервисе FastAPI.
  • Создание этапов подготовки данных для RAG или LLM, которым нужны lineage и валидация.
  • Перенос кода для data science из ноутбуков в готовые к production модули с тестируемыми функциями.

Быстрый старт

  1. 1

    Установите библиотеку с дополнительной опцией visualization

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

    Для визуализации отдельно установите Graphviz в своей системе

  3. 3

    Запустите сервер Apache Hamilton UI

    hamilton ui

Что важно знать

  • Для визуализации DAG необходимо отдельно установить Graphviz.
  • Проект проходит инкубацию Apache и пока не получил официального одобрения ASF.

Темы

Частые вопросы

Что такое hamilton?
Лёгкая библиотека Python для описания преобразований данных в виде тестируемых, документируемых DAG, которые можно запускать везде, где работает Python. Apache Hamilton — библиотека Python для организации преобразований данных в виде ориентированных ациклических графов. Вы пишете обычные функции Python, а имена параметров каждой функции задают зависимости от других функций. Hamilton автоматически строит граф по этим определениям, поэтому код остаётся понятным и его можно визуализировать.
hamilton можно использовать бесплатно? Какая у него лицензия?
hamilton распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
hamilton всё ещё поддерживается?
Активно поддерживается. Последний коммит в hamilton — 21 окт. 2026 г..
Для чего можно использовать hamilton?
Структурирование ETL-пайплайнов и кода для feature engineering в pandas, polars или рабочих процессах на базе Spark. Повторное использование одного и того же кода преобразований в ноутбуке, DAG Airflow и сервисе FastAPI. Создание этапов подготовки данных для RAG или LLM, которым нужны lineage и валидация. Перенос кода для data science из ноутбуков в готовые к production модули с тестируемыми функциями.
Как установить hamilton?
Установите библиотеку с дополнительной опцией visualization: pip install "apache-hamilton[visualization]" Для визуализации отдельно установите Graphviz в своей системе Запустите сервер Apache Hamilton UI: hamilton ui
Где скачать hamilton?
Исходный код и инструкции по установке — на GitHub: https://github.com/apache/hamilton

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты