eegdash.nemar_backend module#
Experimental, metadata-only NEMAR backend (not a recording client).
Uses the same neuroschema field mappings as the ingestion adapter, but deliberately retains unknown modalities/species/ages instead of its ingestion defaults. The records.json fast path and nemar-py remain responsible for signal metadata and retrieval; neither implies parity with EEGDash’s primary-file record contract.
- exception eegdash.nemar_backend.NemarContractError[source]
Bases:
RuntimeErrorUpstream metadata cannot satisfy the supported contract safely.
- class eegdash.nemar_backend.NemarMetadataClient[source]
Bases:
objectPublic discovery only; explicit canonical IDs, no automatic failover.
Requests have 5s connect/15s read timeouts, a 30s streaming deadline, a 2 MiB decoded body cap and no retries or redirects. Listings allow at most 1000 documents (five 200-document pages). They are live views, not snapshot-consistent exports. Errors never return a partial list.
- API_URL = 'https://api.nemar.org'
- DATA_URL = 'https://data.nemar.org'
- MAX_BYTES = 2097152
- count_documents(*args, **kwargs)[source]
- find(*args, **kwargs)[source]
- find_datasets(query=None, limit=1000)[source]
List up to limit datasets, or fetch one exact canonical dataset ID.
Only {} / None / {‘dataset_id’: ‘nmNNNNNN’ or ‘onNNNNNN’} is supported. No Mongo filters, source aliases, fuzzy search, record counts or writes.
- find_one(*args, **kwargs)[source]
- get_dataset(dataset_id)[source]
Read current rich metadata, preserving its reported source snapshot.
The metadata endpoint is mutable; version DOIs do not make the document an immutable historical snapshot. No historical metadata claim is made.
- insert_many(*args, **kwargs)[source]
- insert_one(*args, **kwargs)[source]
- update_dataset(*args, **kwargs)[source]
- update_many(*args, **kwargs)[source]
- upsert_many(*args, **kwargs)[source]
- exception eegdash.nemar_backend.NemarUnsupportedOperation[source]
Bases:
NotImplementedErrorAn operation needs EEGDash semantics not supplied by this backend.