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.