mava_exchange.tracks.AnnotationSeries

class mava_exchange.tracks.AnnotationSeries(name: str, description: str, parent: str | None = None, derived_from: list[str] | None = None, method: str | None = None)

Sparse interval annotations with single-label values.

Use for shot boundaries, transcripts, scene labels, or any annotation where each time segment has one string value.

Each row in the Parquet file needs: start_seconds, end_seconds, annotations.

Example:

transcript = AnnotationSeries(
    name="transcript",
    description="Speech-to-text from Whisper"
)

df = pd.DataFrame({
    "start_seconds": [0.0, 5.2, 12.1],
    "end_seconds": [5.0, 12.0, 18.5],
    "annotations": ["Hello", "Welcome", "Let's begin"]
})
__init__(name: str, description: str, parent: str | None = None, derived_from: list[str] | None = None, method: str | None = None) → None

Methods

__init__(name, description[, parent, ...])

to_dict()

Converts to dictionary for manifest.json.

Attributes

columns

Returns column names.

derived_from

Source track names this track is derived from (provenance).

method

Derivation method (e.g. 'argmax', 'cluster_to_scalar', 'aggregate_scalar').

parent

Containment parent track name (None if top-level).

type

name

Track name (must be unique within package).

description

Human-readable description of what this track contains.

name: str

Track name (must be unique within package).

description: str

Human-readable description of what this track contains.

parent: str | None = None

Containment parent track name (None if top-level).

derived_from: list[str] | None = None

Source track names this track is derived from (provenance).

method: str | None = None

Derivation method (e.g. ‘argmax’, ‘cluster_to_scalar’, ‘aggregate_scalar’).

type: Literal['mava:AnnotationSeries'] = 'mava:AnnotationSeries'
property columns: list[str]

Returns column names.

to_dict() → dict

Converts to dictionary for manifest.json.