metadata
title: Segmentation Eval Dashboard
emoji: 📊
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
Segmentation Evaluation Metrics Dashboard
Streamlit dashboard for tracking segmentation evaluation metrics stored in Hugging Face dataset cards under a Markdown section titled exactly:
### Performance Metrics
The app discovers dataset repos (typically with eval in the repo id), parses the metrics table, and builds a historical view from commit revisions when possible.
Features
- Dataset discovery from Hugging Face Hub (
huggingface_hubAPI) - Allowlist/prefix-based repo filtering via environment variables
- Robust Markdown section/table parsing for
Performance Metrics - Historical trend extraction using dataset commit history
- Filters by repo, class, and metric
- Trend chart with optional standard-deviation bands
- Latest snapshot table
- Repo-to-repo comparison chart on latest runs
- Optional per-class small multiples
- CSV export for filtered data
- Health/status panel (parsed vs failed repos)
- Auto-refresh and cached Hub calls
Project Structure
app.py: Streamlit entrypoint and UIconfig.py: env-based configurationhf_client.py: Hugging Face Hub API access and README retrievalparsing.py: Markdown section/table extractiontransforms.py: data normalization, history shaping, latest snapshotscharts.py: Altair chart buildersrequirements.txt: Python dependencies
Required Environment Variables
HF_TOKEN(optional, recommended for private repos or higher rate limits)HF_OWNER(optional namespace/organization filter, e.g.my-org)
Optional Environment Variables
EVAL_REPO_ALLOWLIST(comma-separated dataset ids)EVAL_REPO_PREFIXES(comma-separated prefixes, e.g.my-org/)EVAL_REPO_ID_CONTAINS(default:eval)EVAL_DISCOVERY_ENABLED(true/false, default:true)EVAL_MAX_REPOS(default:200)EVAL_INCLUDE_HISTORY(true/false, default:true)EVAL_MAX_COMMITS_PER_REPO(default:20)EVAL_METRICS_SECTION_HEADING(default:Performance Metrics)EVAL_CACHE_TTL_SECONDS(default:600)EVAL_AUTO_REFRESH_SECONDS(default:300)EVAL_MAX_LOAD_SECONDS(default:90)
Local Run
pip install -r requirements.txt
streamlit run app.py
Deploy to Hugging Face Space
- Create a new Space with SDK = Streamlit.
- Copy all files in this folder to the Space repository root.
- In Space settings, set secrets/variables as needed:
HF_TOKEN(as a secret)- any optional
EVAL_*vars for discovery behavior
- Push to the Space.
- The app will start from
app.py.
Notes / Limitations
- History quality depends on README/table availability across commits.
- If commit history is unavailable or inaccessible, the app still supports latest snapshot parsing.
- Table parsing is tolerant to minor Markdown inconsistencies, but severely malformed tables are skipped.
- Missing numeric values (
nan,NA, empty) are treated asNaNand handled safely in charts/tables.