DictStore
DictStore(data=None)Generic EventStore with arbitrary named EventData tables.
Used by AlignmentLoaders that produce a variable number of timelines (e.g., MatchfileLoader: 1 score + N performances; TiliaJsonLoader: one table per annotated timeline).
Maintains the uniform EventStore interface (iteration, keys, items, getitem) while supporting any number of named data sources.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| data | dict[str, 'EventData'] | None |
Dictionary mapping names to EventData tables. | None |
Examples
>>> store = DictStore({
... "score": score_event_data,
... "perf:p01": perf_01_event_data,
... "perf:p02": perf_02_event_data,
... })
>>> for name, events in store.items():
... print(f"{name}: {len(events)} events")Methods
| Name | Description |
|---|---|
| add | Add or replace a named EventData table. |
| items | Iterate over (name, EventData) pairs in insertion order. |
| keys | Return data names in insertion order. |
add
DictStore.add(name, events)Add or replace a named EventData table.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| name | str |
The name for this data (e.g., "score", "perf:p01"). |
required |
| events | 'EventData' | The EventData to store. | required |
items
DictStore.items()Iterate over (name, EventData) pairs in insertion order.
keys
DictStore.keys()Return data names in insertion order.