Releases: YG-paaleee/eegauge
v0.4.0 - renamed to EEGauge
EEGauge - new name, same project (formerly "BCI Dataset Cards").
Changed
- Renamed the project to EEGauge. The GitHub repo, the Python package, and the CLI
command are noweegauge(the old GitHub URL redirects). - Breaking: the command-line entry point changed from
bcicardstoeegauge, and
the import package frombcicardstoeegauge. Update any scripts or aliases.
Everything else is unchanged: honest dataset cards for public EEG/BCI datasets,
leakage-aware baselines, chance/significance, per-class metrics, and MOABB + EEGDash
metadata. 26 tests; CI green on Windows/Linux x Python 3.11/3.12. Not medical software.
v0.3.1 - EEGDash live-API fixes + real example
Patch release: validate the EEGDash backend against the live API and add a real example.
Fixed
- Map EEGDash dataset metadata to the real API field names: read the DOI from
dataset_doi(stripping thedoi:prefix) and the citation fromauthor_year. - Read BIDS entities (subject/session/task/run) whether nested under
entitiesor
flattened at the top level (the livefind()records use the flat form).
Added
- A real example from a live scan of
ds002718(Wakeman face-processing, 18 subjects):
examples/ds002718.mdandexamples/ds002718.provenance.json.
Verified
- 26 tests; ruff lint + format; CI green on Windows/Linux x Python 3.11/3.12.
v0.3.0 - EEGDash backend + evaluation provenance
v0.3.0 adds interoperability with EEGDash (the new OpenNeuro/NEMAR catalog) and an
evaluation-provenance record - complementary to EEGDash's discovery/loading, not a
duplicate of it.
Added
- A pluggable
DatasetBackendprotocol. The existing MOABB logic is exposed via a
moabbbackend; a neweegdashbackend reads EEGDash metadata and record listings
with no signal download. bcicards scan --backend eegdash <dataset-id>produces:- a metadata card (modalities, record/subject counts, license, DOI, BIDS validation
status, and honest leakage risk factors - not a "RISK: HIGH" verdict), and <id>.provenance.json(schemabci-evaluation-card/0.1) recording the exact
cohort (subjects/sessions/records) so an evaluation can be reproduced.
- a metadata card (modalities, record/subject counts, license, DOI, BIDS validation
- New optional card fields, an
[eegdash]install extra, and a design spec at
docs/design/eegdash-backend.md.
Scope / honesty
- The eegdash backend is metadata-only by design. No baseline is run for EEGDash
datasets (they span many modalities/tasks); that is intentionally deferred. - EEGDash is new and its API may change; the backend is isolated with a small surface.
Quality
- 24 tests (EEGDash client mocked - no network in CI); ruff lint + format enforced; CI
green on Windows/Linux x Python 3.11/3.12. Still not medical software; no diagnostic claims.
v0.2.1 - review fixes (version reporting, docs)
Patch release fixing issues found in code review.
Fixed
bcicards --versionreported the wrong version. The version is now single-sourced
frombcicards.__version__, used by both the CLI andpyproject.toml(dynamic
metadata), so it cannot drift again. Covered by a new--versionsmoke test.- Card plot paths use forward slashes, and the committed example card references its
co-located images so they render on GitHub. - Replaced non-ASCII em dashes in the README and
.gitignorewith plain ASCII.
v0.2.0 — smarter, more honest cards + more datasets
v0.2.0 makes the dataset cards smarter and more honest, and broadens dataset coverage.
Added
- Chance level + significance — cards report the chance level (1 / n_classes) and an
approximate one-sided binomial test of whether the score beats chance (closes #1). - Per-class metrics + confusion matrix — per-class precision/recall/F1 table and a
confusion-matrix plot, so a multi-class result is interpretable beyond overall accuracy. - License / DOI / citation surfaced in cards, read defensively from MOABB metadata (closes #2).
- More motor-imagery datasets —
BNCI2014_004,Zhou2016,Weibo2014(closes #3). .pre-commit-config.yaml(Ruff) and extended mocked tests for every new output.
Verified on BNCI2014_001 (subjects 1-3, leave-one-subject-out, seed 42)
- Accuracy 0.429 vs a 0.25 chance level (binomial p < 0.001) — but the per-class breakdown
shows the baseline barely detects the "feet" class, detail a single accuracy number hides.
Honesty note
The "above chance" check is an approximate binomial test versus the naive chance level, not
a permutation test — a sanity check, not proof. Still not medical software; no diagnostic claims.
v0.1.0 — first public release
First public release of BCI Dataset Cards — a small, beginner-friendly CLI for
inspecting public EEG/BCI datasets and running honest, reproducible baselines.
Features
bcicards scan— generate a Markdown dataset card from MOABB metadata.bcicards benchmark— run a CSP + LDA motor-imagery baseline (fixed seed), save
JSON results and a metrics plot.- Subject-aware (leave-one-subject-out) splitting for multiple subjects; stratified
holdout for a single subject. - Explicit leakage warnings and "what this does not prove" sections in every card.
Verified on BNCI2014_001 (seed 42)
- Within-subject (subject 1, stratified holdout): 0.751 accuracy
- Cross-subject (subjects 1-3, leave-one-subject-out): 0.429 accuracy
- Chance for 4 classes is 0.25 — the gap shows why the split method must be stated.
Quality
- Mocked unit tests; CI on Windows + Linux, Python 3.11 + 3.12.
- MIT licensed. Not medical software; no diagnostic or "mind reading" claims.