OpenMHC / README.md
fnerrise's picture
Revert Space to pre-change live-compute leaderboard (state b49e5fb685)
072ef88 verified
|
Raw
History Blame Contribute Delete
1.62 kB
---
title: OpenMHC Leaderboard
emoji: πŸ«€
colorFrom: red
colorTo: gray
sdk: docker
app_port: 7860
pinned: false
license: mit
---
# OpenMHC Leaderboard
Self-rendering leaderboard website for the OpenMHC wearable-health benchmark.
Currently serves **Track 2 β€” Imputation**, computed live from per-user error
substrate in the
[`MyHeartCounts/OpenMHC-leaderboard-data`](https://huggingface.co/datasets/MyHeartCounts/OpenMHC-leaderboard-data)
dataset.
## How it works
- `GET /` renders the leaderboard table (HTML).
- On first request the app downloads each method's `imputation/<method>.parquet`
substrate, reduces it to paired skill scores + cross-method ranks using the
canonical `openmhc` point-flow reducers, and caches the result in-process.
- `GET /health` β€” liveness + method count.
There is **no JSON API** β€” this Space *is* the leaderboard UI.
## Files
| file | role |
|---|---|
| `Dockerfile` | builds the container (slim deps + `openmhc --no-deps`) |
| `app.py` | FastAPI app: computes + renders the HTML leaderboard |
| `leaderboard_compute.py` | downloads substrate + runs the canonical reducers |
| `requirements.txt` | slim runtime deps (no torch) |
## Configuration
The substrate dataset is private, so set an **`HF_TOKEN`** Space secret with read
access (Settings β†’ Variables and secrets). Making the dataset public removes this
requirement.
## Local dev
```bash
pip install -r requirements.txt
pip install --no-deps "openmhc @ git+https://github.com/AshleyLab/myheartcounts-dataset@<ref>"
export HF_TOKEN=hf_...
uvicorn app:app --reload --port 7860
# open http://localhost:7860/
```