Selection and copiesΒΆ

A selection is an ordered list of ordinals into an existing dataset. Order is preserved and duplicates are kept, so a selection can reorder a dataset, drop records from it, or repeat one:

import signal_dataset as sds

dataset = sds.open("captures.sds")

# Reversed, with observation-0002 repeated so it is seen twice per epoch.
chosen = [2, 2, 1, 0]
view = dataset.select(chosen)

assert [item.id for item in view.record_metadata] == [
    dataset.record_metadata[index].id for index in chosen
]

Publish a lightweight reference dataset pinned to the same immutable shard objects:

subset = view.publish(
    "subset.sds",
    dataset_id="subset",
    snapshot_id="selection-001",
)

Or rewrite independent data and metadata shards:

copy = view.materialize(
    "copy.sds",
    dataset_id="copy",
    snapshot_id="materialized-001",
)

Current annotation sets are projected through the same indices in both cases. Reference chains are flattened during publication.