A deterministic collection of 50 small TACO datasets, mirrored on Source Cooperative for reproducible local and remote API examples. Every payload is a Rumi file. The fixtures exercise TACO contracts, metadata hierarchies, FOLDER and ZIP containers, ZIP partitioning, TACOCAT consolidation, generated locations, and HTTP range reads.
They are API fixtures, not training data or a scientific benchmark. Spatial and temporal metadata generated here is intentionally synthetic.
The repository combines ten logical contracts with five physical topologies:
The ten contracts cover a null structure, fixed and optional assets, fixed and variable sequences, nested folders, point metadata, STAC, ISTAC, nullable coordinates, folder-level STAC, temporal-only metadata, high-dimensional Rumi arrays, and equivalent Rumi frame layouts.
Every topology is an independently openable dataset entrypoint. ZIP files referenced by a TACOCAT are partitions of that dataset and are not counted as additional matrix entries.
For example, the first single-ZIP dataset is available at:
Every object below a dataset's DATA/ tree is a Rumi container. Structured
contracts use .rumi names. The null-structure case necessarily uses TACO's
extensionless DATA/<sample-index> path. External Rumi headers are stored in
Parquet as rumi:header. TACO's own COLLECTION.json and
METADATA/*.parquet control files are present as required by the format.
Neither taco:location nor cozip:location is stored in Parquet. Readers
construct locations from the physical payload and its container.
From a checkout next to rumi-api-fixtures:
The workspace development configuration also expects the current TACO and
Rumi checkouts at ../benchmark/taco/python and ../rumi/bindings/python.
Those local sources ensure the fixtures exercise the unreleased reader changes
that own taco:location. Once matching releases are available, consumers can
resolve the declared package ranges without the workspace source overrides.
The same commands without uv work in an already configured development
environment:
After publication:
The default remote verifier opens all 40 ZIP-backed entrypoints and decodes
every Rumi through an HTTP subfile location. Pass --full-api to additionally
repeat the schema, raw-level, wide-layout, and location=False checks that the
local verifier already performs.
The generator seed, source revision, and source manifest checksum are pinned. Regeneration preserves the logical datasets and synthetic metadata. ZIP byte checksums may change when ZIP timestamps change, so published revisions should be treated as immutable fixture targets.