tams-flow-visualiser — Timeline UI
tams-flow-visualiser — Timeline UI
Section titled “tams-flow-visualiser — Timeline UI”The window into what’s recorded: browse sources and flows, and see an interactive timeline of every segment — with the gaps between them called out, so missing coverage is obvious at a glance.
- Language: Python (FastAPI) backend + HTMX / Plotly.js frontend ·
Default port:
8000
Features
Section titled “Features”- Source browser — lists all sources.
- Flow browser — expand a source to its flows (label, format, codec, resolution).
- Segment timeline — a Plotly.js chart: blue bars = segments, red bars = discontinuities, with a zoom range slider.
- Gap table — every discontinuity, with timestamps and duration.
Configuration (environment)
Section titled “Configuration (environment)”| Var | Req | Default | Meaning |
|---|---|---|---|
TAMS_API_URL | ✓ | http://localhost:8080 | TAMS server URL |
TAMS_USERNAME / TAMS_PASSWORD | ✓ | — | Keycloak credentials |
TAMS_TOKEN_URL | — | derived | Keycloak token endpoint |
TAMS_CLIENT_ID / TAMS_CLIENT_SECRET | — | tams-api / tams-api-secret | Keycloak client |
Build & notes
Section titled “Build & notes”./phrame-make.sh <TAG> build-image, or locally with a venv + uvicorn app.main:app. app/ layout: main.py (FastAPI + Keycloak auth),
tams_client.py (async httpx client), routes/ (HTML + JSON), Jinja2
templates, static/segments.js (Plotly interaction). Frontend uses HTMX (no
build step), Plotly.js, and Pico CSS; auth via Keycloak OAuth2 password grant.
