Библиотека Python для интерактивного визуального анализа pandas-, polars- и pyarrow-датафреймов с помощью drag-and-drop в Jupyter.
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
Установите библиотеку с дополнительной опцией visualization
pip install "apache-hamilton[visualization]" - 2
Для визуализации отдельно установите Graphviz в своей системе
- 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 обновляется ежедневно.
Похожие проекты
Open-source платформа для перемещения данных в ELT-пайплайнах: из API, баз данных и файлов в хранилища, озёра данных и AI-приложения.
Учебная программа Microsoft для начинающих: 10 недель, 20 уроков по основам data science с Python, тестами и проектами.
Подборка ресурсов по Data Science на Python: библиотеки, учебные материалы, книги, датасеты и доклады.
Реактивный Python-ноутбук, который автоматически перезапускает зависимые ячейки, хранит ноутбуки в виде обычных файлов .py и запускается как скрипт или приложение.
Платформа оркестрации на Python для описания, запуска и мониторинга данных: таблиц, датасетов, ML-моделей и отчётов.