Disclaimer
Apache Hamilton is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.
Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.
While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
apache-hamilton-ui is the tracking server and web application for visualizing, monitoring, and debugging Apache Hamilton dataflow DAGs.
The easiest way to run the UI is via Docker:
git clone https://github.com/apache/hamilton cd hamilton/ui docker-compose up
Then open http://localhost:8242 in your browser.
For full documentation, visit hamilton.apache.org and see the Apache Hamilton UI section.
Install the tracking SDK alongside your Hamilton project:
pip install "apache-hamilton[sdk]"
Then add a HamiltonTracker adapter to your driver:
from hamilton_sdk import adapters from hamilton import driver tracker = adapters.HamiltonTracker( project_id=PROJECT_ID, username=YOUR_EMAIL, dag_name="my_dag", ) dr = ( driver.Builder() .with_config(your_config) .with_modules(*your_modules) .with_adapters(tracker) .build() )
This package uses flit as its build backend (declared in pyproject.toml).
The source distribution (.tar.gz) is backend-only and builds directly:
# from the ui/backend directory (the package root) python -m pip install flit flit build --no-use-vcs --format sdist # artifact is written to dist/
The wheel additionally bundles a compiled frontend, so it requires Node.js + npm. Build the frontend first, copy it into the package, then build the wheel:
# 1. build the frontend (from ui/frontend) cd ../frontend npm install npm run build npm run licenses # generates build/THIRD-PARTY-LICENSES.txt # 2. copy the compiled assets into the backend package rm -rf ../backend/hamilton_ui/build cp -r build ../backend/hamilton_ui/build # 3. build the wheel (from ui/backend) cd ../backend flit build --no-use-vcs --format wheel # artifact is written to dist/
The release script scripts/apache_release_helper.py --package ui performs all of these steps automatically.
Apache 2.0. See the LICENSE file included with this package for details.
This package is distributed in two forms:
hamilton_ui/build/) built from the TypeScript/React sources in ui/frontend/. That bundle includes third-party JavaScript dependencies (e.g. React, Redux, Chart.js, React Flow), each under permissive licenses (MIT, Apache-2.0, BSD, ISC, and similar). The full per-dependency license texts and copyright notices are included in the wheel at hamilton_ui/build/THIRD-PARTY-LICENSES.txt.