Skip to content

Commit dffe4a1

Browse files
ihhclaude
andcommitted
Add submit.py script and document it in README and leaderboard page
submit.py validates entries locally with colored output, creates a PR, monitors CI checks, and reports pass/fail with detailed feedback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent db3ed78 commit dffe4a1

4 files changed

Lines changed: 404 additions & 11 deletions

File tree

README.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,36 @@ This is Stage 1 of a project to train a DNA language model on the ITm transposon
88

99
Teams submit curated entries. A CI pipeline validates each submission and assigns a score. The leaderboard ranks all submissions.
1010

11-
## How to submit
11+
## Quick start
12+
13+
The easiest way to submit is with the included `submit.py` script, which validates locally, creates a PR, and monitors CI:
14+
15+
```bash
16+
# Install dependencies
17+
pip install -r ci/requirements.txt
18+
19+
# Validate and submit (auto-detects entries/{your-github-username}/)
20+
python submit.py
21+
22+
# Or specify your entry explicitly
23+
python submit.py entries/my-team
24+
```
25+
26+
The script will:
27+
1. Run all validation checks locally and show a detailed score report
28+
2. Create a branch and PR for your entry
29+
3. Wait for CI checks to pass and report the result
30+
31+
Additional options:
32+
```bash
33+
python submit.py --no-pr # Validate locally only, don't create a PR
34+
python submit.py --no-wait # Create PR but don't wait for CI
35+
python submit.py --timeout 600 # Wait up to 10 minutes for CI (default: 5 min)
36+
```
37+
38+
## How to submit (manual)
39+
40+
If you prefer to submit manually:
1241

1342
1. **Fork this repo.**
1443
2. Create a directory `entries/{your-github-username}/` containing:
@@ -48,15 +77,6 @@ Scores are also available as JSON:
4877
- `leaderboard.json` — ranked summary
4978
- `scores/{team}.json` — detailed per-team results
5079

51-
## Local validation
52-
53-
Test your entry locally before opening a PR:
54-
55-
```bash
56-
pip install -r ci/requirements.txt
57-
python ci/validate.py --entry entries/your-github-username/
58-
```
59-
6080
## Entry format summary
6181

6282
- **`protein.sto`**: Stockholm 1.0 alignment with `#=GC catalytic_triad` marking D, d, E (or D) positions.

docs/index.html

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,17 @@ <h1>ITm Seed Dataset Leaderboard</h1>
3333
</table>
3434

3535
<section class="how-to-submit">
36-
<h2>How to submit</h2>
36+
<h2>Quick start</h2>
37+
<p>The easiest way to submit is with the <code>submit.py</code> script:</p>
38+
<pre class="code-block"><code>pip install -r ci/requirements.txt
39+
python submit.py # auto-detects entries/{your-username}/
40+
python submit.py entries/my-team # or specify explicitly
41+
python submit.py --no-pr # validate locally only</code></pre>
42+
<p>
43+
The script validates your entry locally (with a detailed score report),
44+
creates a PR, waits for CI, and reports pass/fail with feedback.
45+
</p>
46+
<h2>Manual submission</h2>
3747
<ol>
3848
<li><strong>Fork</strong> this repo.</li>
3949
<li>Create <code>entries/{your-github-username}/</code> with three files:

docs/style.css

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,19 @@ tbody tr:hover { background: var(--accent-subtle); }
188188
border-radius: 3px;
189189
font-size: 0.85em;
190190
}
191+
.code-block {
192+
background: var(--bg);
193+
border: 1px solid var(--border);
194+
border-radius: 4px;
195+
padding: 0.75rem 1rem;
196+
overflow-x: auto;
197+
font-size: 0.85em;
198+
margin: 0.5rem 0 1rem;
199+
}
200+
.code-block code {
201+
background: none;
202+
padding: 0;
203+
}
191204

192205
@media (max-width: 768px) {
193206
body { padding: 1rem 0.5rem; }

0 commit comments

Comments
 (0)