pandas, polars 또는 pyarrow 데이터프레임을 Jupyter에서 드래그 앤 드롭으로 분석할 수 있는 대화형 시각화 UI로 바꿔 주는 Python 라이브러리입니다.
apache/hamilton
Python이 실행되는 곳이라면 어디서든 동작하는, 테스트와 문서화가 쉬운 DAG로 데이터 변환을 정의하는 경량 Python 라이브러리입니다.
- 스타
- 2,615
- 포크
- 222
- 열린 이슈
- 189
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Apache Hamilton은 데이터 변환을 방향성 비순환 그래프로 구성하는 Python 라이브러리입니다. 일반적인 Python 함수를 작성하면 각 함수의 매개변수 이름을 통해 다른 함수에 대한 의존성을 선언할 수 있습니다. Hamilton은 이러한 정의를 읽어 그래프를 자동으로 구성하므로 코드를 읽기 쉽게 유지하고 시각화할 수 있습니다.
DAG 정의와 실행은 분리되어 있습니다. 동일한 변환을 스크립트, 노트북, Airflow 태스크 또는 FastAPI 서버에서 실행할 수 있습니다. 환경별 동작을 전환하는 @config.when() 같은 함수 모디파이어, 출력을 검증하는 @check_output, pandas·polars·Ibis 데이터프레임의 스키마를 추적하는 SchemaValidator 어댑터 등의 기능을 제공합니다.
프로젝트에는 DAG를 카탈로그화하고, 데이터셋을 프로파일링하며, 계보와 함께 실행 내역을 추적하는 선택적 UI가 포함되어 있습니다. 이 UI는 로컬 서버로 실행하거나 Docker를 사용해 직접 호스팅할 수 있습니다. 이 프로젝트는 Apache Software Foundation 인큐베이팅 프로젝트이며, Stitch Fix에서 처음 시작되었습니다.
핵심 기능
- 01의존성을 매개변수 이름으로 선언하는 일반 Python 함수로 변환을 정의합니다.
- 02함수 정의에서 DAG를 자동으로 구성하고 시각화합니다.
- 03@config.when() 같은 함수 모디파이어로 환경별 중복 코드를 줄입니다.
- 04@check_output과 SchemaValidator로 출력과 데이터프레임 스키마를 검증합니다.
- 05선택적 UI에서 실행 내역, 데이터 계보, 데이터셋 프로파일을 추적합니다.
활용 사례
- pandas, polars 또는 Spark 기반 워크플로에서 ETL 파이프라인이나 피처 엔지니어링 코드를 구조화합니다.
- 노트북, Airflow DAG, FastAPI 서비스에서 동일한 변환 코드를 재사용합니다.
- 데이터 계보와 검증이 필요한 RAG 또는 LLM 데이터 준비 단계를 구축합니다.
- 테스트 가능한 함수로 노트북의 데이터 과학 코드를 프로덕션 모듈로 옮깁니다.
빠른 시작
- 1
visualization extra를 포함해 라이브러리를 설치합니다
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의 마지막 커밋은 2026년 10월 21일입니다.
- hamilton은(는) 어디에 사용할 수 있나요?
- pandas, polars 또는 Spark 기반 워크플로에서 ETL 파이프라인이나 피처 엔지니어링 코드를 구조화합니다. 노트북, Airflow DAG, FastAPI 서비스에서 동일한 변환 코드를 재사용합니다. 데이터 계보와 검증이 필요한 RAG 또는 LLM 데이터 준비 단계를 구축합니다. 테스트 가능한 함수로 노트북의 데이터 과학 코드를 프로덕션 모듈로 옮깁니다.
- hamilton는 어떻게 설치하나요?
- visualization extra를 포함해 라이브러리를 설치합니다: pip install "apache-hamilton[visualization]" 시각화를 위해 시스템에 Graphviz를 별도로 설치합니다 Apache Hamilton UI 서버를 시작합니다: hamilton ui
- hamilton은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/apache/hamilton
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
API, 데이터베이스, 파일의 데이터를 웨어하우스, 레이크, AI 애플리케이션으로 옮기는 오픈소스 ELT 플랫폼
Microsoft가 Python, 퀴즈, 프로젝트를 활용해 데이터 과학 핵심 주제를 다루는 10주·20강 초보자 커리큘럼입니다.
라이브러리, 튜토리얼, 도서, 데이터셋, 강연을 아우르는 데이터 과학용 Python 리소스 모음입니다.
변경된 셀에 의존하는 셀을 자동으로 다시 실행하고, 노트북을 일반 .py 파일로 저장하며, 스크립트나 배포 앱으로 실행할 수 있는 반응형 Python 노트북입니다.
테이블, 데이터셋, ML 모델, 보고서 같은 데이터 자산을 정의하고 실행 및 모니터링하는 Python 오케스트레이션 플랫폼입니다.