You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Each stage reads outputs from previous stages and can be run independently.
@@ -20,28 +20,39 @@ Each stage reads outputs from previous stages and can be run independently.
20
20
21
21
**Data**: Pipeline outputs go to `data/` as JSON. The dashboard loads these via fetch. Schema defined in `schema/openneuro-dashboard.yaml` (LinkML, version 1.0.0).
22
22
23
-
## Running Scripts
23
+
## Running the Pipeline
24
24
25
-
All Python scripts use **`uv`** with inline PEP 723 dependency declarations (no requirements.txt or pyproject.toml). Run with:
25
+
The pipeline is an installable Python package with a `openneuro-dashboard` CLI:
26
26
27
27
```bash
28
-
uv run scripts/fetch_graphql.py
29
-
uv run scripts/check_github.py
30
-
uv run scripts/check_s3_version.py
31
-
uv run scripts/check_s3_files.py --cache-dir ~/.cache/openneuro-dashboard/repos
28
+
cd code
29
+
uv sync
30
+
uv run openneuro-dashboard run-all --output-dir ../data
32
31
```
33
32
34
-
Test data generators:
33
+
Individual stages:
34
+
35
+
```bash
36
+
cd code
37
+
uv run openneuro-dashboard fetch-graphql --output-dir ../data
38
+
uv run openneuro-dashboard check-github --output-dir ../data
39
+
uv run openneuro-dashboard check-s3-version --output-dir ../data
40
+
uv run openneuro-dashboard check-s3-files --output-dir ../data --cache-dir ~/.cache/openneuro-dashboard/repos
41
+
uv run openneuro-dashboard summarize --output-dir ../data
42
+
```
43
+
44
+
Test data generation:
45
+
35
46
```bash
36
-
uv run scripts/gen_data/graphql.py
37
-
uv run scripts/gen_data/github.py
38
-
uv run scripts/gen_data/s3_version.py
47
+
cd code
48
+
uv run openneuro-dashboard gen-data --output-dir ../data --seed 42
39
49
```
40
50
41
-
After running either the full or test scripts, aggregate summary data with:
51
+
## Running Tests
42
52
43
53
```bash
44
-
uv run scripts/summarize.py
54
+
cd code
55
+
uv run --group test pytest -v
45
56
```
46
57
47
58
## Serving the Dashboard
@@ -54,7 +65,7 @@ python -m http.server 8000
54
65
## Key Conventions
55
66
56
67
- Dataset IDs match pattern `^ds[0-9]{6}$`
57
-
- All output JSON files include `schemaVersion: "1.1.0"` (from `scripts/utils.py:SCHEMA_VERSION`)
68
+
- All output JSON files include `schemaVersion: "1.1.0"` (from `code/src/openneuro_dashboard/utils.py:SCHEMA_VERSION`)
58
69
- Snapshot metadata and file listings are immutable; registry, check results, and summary are mutable
59
-
-Scripts use async I/O (asyncio) and include `--validate` flags for data consistency checking
60
-
- Python requires >=3.13
70
+
-Pipeline modules use async I/O (asyncio) and include `--validate` flags for data consistency checking
0 commit comments