NSchuetz commited on
Commit
b49e5fb
·
verified ·
1 Parent(s): c7aa3bf

Add Submit-a-model CTA pill + how-to-submit blurb (links to leaderboard dataset + guide)

Browse files
Files changed (1) hide show
  1. app.py +25 -0
app.py CHANGED
@@ -135,6 +135,9 @@ TRACKS = [
135
  CODE_URL = "https://github.com/AshleyLab/myheartcounts-dataset"
136
  MAIN_URL = "https://myheartcounts.stanford.edu"
137
  MODELS_URL = "https://huggingface.co/MyHeartCounts/models"
 
 
 
138
 
139
  PAGE = """<!doctype html>
140
  <html lang="en">
@@ -171,9 +174,15 @@ h1{font-size:clamp(34px,6vw,52px);font-weight:800;letter-spacing:-.025em;line-he
171
  border-radius:999px;font-weight:600;font-size:14px;background:#fff;transition:border-color .15s,background .15s;}
172
  a.pill:hover{border-color:#c9ccd1;background:var(--soft);}
173
  .pill.disabled{color:var(--muted);background:var(--soft);cursor:default;}
 
 
174
 
175
  .section{padding:8px 0 64px;}
176
  .section-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;}
 
 
 
 
177
 
178
  thead th.filter-th{cursor:pointer;user-select:none;}
179
  thead th.filter-th:hover{color:var(--fg);}
@@ -258,6 +267,7 @@ thead th[data-tip]{position:relative;}
258
  <h1>OpenMHC Leaderboard</h1>
259
  <p class="lede">Wearable &amp; mobile health benchmark on MyHeartCounts. Track 2a (imputation) reconstructs masked daily, minute-level signals; Track 2b (forecasting) predicts future hourly signals. Each method is ranked by skill score vs a track baseline, computed live from the per-user evaluation substrate.</p>
260
  <div class="pills">
 
261
  <a class="pill" href="%%CODE%%" target="_blank" rel="noopener">&#9881;&#65039; Code</a>
262
  <span class="pill disabled">&#128202; Dataset &middot; coming soon</span>
263
  <span class="pill disabled">&#128196; Paper &middot; coming soon</span>
@@ -267,6 +277,19 @@ thead th[data-tip]{position:relative;}
267
  </div>
268
 
269
  %%CONTENT%%
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  </div>
271
  <script>
272
  (function(){
@@ -570,6 +593,8 @@ def index() -> str:
570
  .replace("%%CODE%%", CODE_URL)
571
  .replace("%%MAIN%%", MAIN_URL)
572
  .replace("%%MODELS%%", MODELS_URL)
 
 
573
  )
574
 
575
 
 
135
  CODE_URL = "https://github.com/AshleyLab/myheartcounts-dataset"
136
  MAIN_URL = "https://myheartcounts.stanford.edu"
137
  MODELS_URL = "https://huggingface.co/MyHeartCounts/models"
138
+ # Where submissions go (PRs) + the step-by-step guide.
139
+ DATA_URL = "https://huggingface.co/datasets/MyHeartCounts/OpenMHC-leaderboard-data"
140
+ SUBMIT_URL = "https://github.com/AshleyLab/myheartcounts-dataset#submit-to-the-leaderboard"
141
 
142
  PAGE = """<!doctype html>
143
  <html lang="en">
 
174
  border-radius:999px;font-weight:600;font-size:14px;background:#fff;transition:border-color .15s,background .15s;}
175
  a.pill:hover{border-color:#c9ccd1;background:var(--soft);}
176
  .pill.disabled{color:var(--muted);background:var(--soft);cursor:default;}
177
+ a.pill.primary{border-color:var(--accent);color:var(--accent);font-weight:700;}
178
+ a.pill.primary:hover{background:#fdecef;border-color:var(--accent);}
179
 
180
  .section{padding:8px 0 64px;}
181
  .section-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;}
182
+ .submit{padding:26px 0 60px;border-top:1px solid var(--line);}
183
+ .submit p:not(.section-title){font-size:14px;color:#3f4754;line-height:1.65;max-width:780px;margin:0;}
184
+ .submit a{color:var(--accent);border-bottom:1px solid transparent;transition:border-color .15s;}
185
+ .submit a:hover{border-bottom-color:currentColor;}
186
 
187
  thead th.filter-th{cursor:pointer;user-select:none;}
188
  thead th.filter-th:hover{color:var(--fg);}
 
267
  <h1>OpenMHC Leaderboard</h1>
268
  <p class="lede">Wearable &amp; mobile health benchmark on MyHeartCounts. Track 2a (imputation) reconstructs masked daily, minute-level signals; Track 2b (forecasting) predicts future hourly signals. Each method is ranked by skill score vs a track baseline, computed live from the per-user evaluation substrate.</p>
269
  <div class="pills">
270
+ <a class="pill primary" href="%%SUBMIT%%" target="_blank" rel="noopener">&#128228; Submit a model</a>
271
  <a class="pill" href="%%CODE%%" target="_blank" rel="noopener">&#9881;&#65039; Code</a>
272
  <span class="pill disabled">&#128202; Dataset &middot; coming soon</span>
273
  <span class="pill disabled">&#128196; Paper &middot; coming soon</span>
 
277
  </div>
278
 
279
  %%CONTENT%%
280
+
281
+ <div class="submit">
282
+ <p class="section-title">Submit your model</p>
283
+ <p>Add a method by opening a pull request on the
284
+ <a href="%%DATA%%" target="_blank" rel="noopener">OpenMHC leaderboard dataset</a>
285
+ that adds your per-user evaluation substrate
286
+ (<code>&lt;track&gt;/&lt;method&gt;.parquet</code>) plus a small
287
+ <code>&lt;method&gt;.meta.json</code> sidecar. Produce the substrate by running the OpenMHC
288
+ eval with <code>output_dir=&hellip;</code>; the maintainers recompute the skill, fairness,
289
+ and rank scores from it. See the
290
+ <a href="%%SUBMIT%%" target="_blank" rel="noopener">step-by-step submission guide</a>
291
+ for the exact file schema.</p>
292
+ </div>
293
  </div>
294
  <script>
295
  (function(){
 
593
  .replace("%%CODE%%", CODE_URL)
594
  .replace("%%MAIN%%", MAIN_URL)
595
  .replace("%%MODELS%%", MODELS_URL)
596
+ .replace("%%SUBMIT%%", SUBMIT_URL)
597
+ .replace("%%DATA%%", DATA_URL)
598
  )
599
 
600