asterisk-labs/rumi-api-fixtures
Rumi API Fixtures A small, deterministic collection of Earth-observation arrays encoded as Rumi files. This repository exists to test the Rumi API and its stateless remote range reads through Karu. It is not a training dataset, a scientific benchmark, or a general-purpose imagery archive. What this dataset tests The fixtures cover: complete and windowed reads; band selection and ordering; temporal selection; batch reads with rumi.read_many; different Rumi frame… See the full description on the dataset page: https://huggingface.co/datasets/asterisk-labs/rumi-api-fixtures.
Rumi API Fixtures
A small, deterministic collection of Earth-observation arrays encoded as Rumi files.
This repository exists to test the Rumi API and its stateless remote range reads through Karu. It is not a training dataset, a scientific benchmark, or a general-purpose imagery archive.
What this dataset tests
The fixtures cover:
- complete and windowed reads;
- band selection and ordering;
- temporal selection;
- batch reads with
rumi.read_many; - different Rumi frame layouts;
- signed and unsigned integer types;
- single-band, multiband, and high-dimensional arrays;
- geospatial and temporal metadata;
- HTTP Range reads from Hugging Face.
Repository structure
data/ Rumi containers
headers/ external binary headers required for remote reads
verify/ local and Hugging Face verification programs
manifest.json source identity, storage metadata, and expected results
checksums.sha256 SHA-256 checksums for every container and header
SOURCE_DATA.md source attribution and licensing notesEach .rumi file has a corresponding external header. The manifest records its original EarthCompress sample, logical shape, data type, frame layout, tile size, metadata, and checksums.
Reading a fixture
from pathlib import Path
import rumi
from huggingface_hub import hf_hub_download
repo = "asterisk-labs/rumi-api-fixtures"
name = "s2-00-tile"
header_path = hf_hub_download(
repo_id=repo,
repo_type="dataset",
filename=f"headers/{name}.header",
)
header = Path(header_path).read_bytes()
image = rumi.read(
f"hf://datasets/{repo}/data/{name}.rumi",
header,
bands=[0, 3],
window=(0, 0, 256, 256),
)
print(image.shape)For reproducible tests, replace the default repository revision with a pinned commit or release tag.
Fixtures
The three encodings of s2-00 contain the same logical array. They are intentionally repeated to verify that frame layout changes storage and range behavior without changing decoded results.
Verification
Validate the generated files locally:
python verify/verify_local.pyAfter publication, validate actual remote range reads:
python verify/verify_huggingface.py --revision mainThe remote verifier downloads only the manifest and the small external headers through huggingface_hub. Rumi reads the selected array windows directly from the remote .rumi objects.
Data provenance
The arrays are selected from the EarthCompress benchmark corpora. Their values are preserved; only their storage representation changes when encoded as Rumi files.
manifest.json identifies the exact source corpus and sample for every fixture and preserves the original array checksum. See SOURCE_DATA.md for the required source attributions.
Licensing
The underlying observations remain subject to the terms of their respective data providers. The applicable attribution and redistribution notes are recorded in SOURCE_DATA.md.
Scope
These fixtures are deliberately small and are not statistically representative of their source datasets. Passing these tests establishes API and format compatibility; it does not measure compression performance or scientific fitness.
