Team Ai
Datasetpublic

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.

sourceHugging Faceotherupdated 16d agoView on Hugging Face
0likes168downloads
Dataset Card

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

text
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 notes

Each .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

python
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

FixtureSource corpusPurpose
s2-00-tileSentinel-2 L1CWindow and band-selective reads
s2-01-tileSentinel-2 L1CBatch reads
s2-02-tileSentinel-2 L1CBatch reads
s2-00-planarSentinel-2 L1CPlanar frame layout
s2-00-chunkySentinel-2 L1CPixel-interleaved frame layout
era5-t2m-00-timeERA5Temporal selections and ragged edges
alphaearth-00AlphaEarthSigned int8 with 64 bands
emit-00EMIT L2ASigned int16 with 285 bands
s1-00Sentinel-1 GRDSigned radar values
worldcover-00ESA WorldCoverSingle-band categorical data

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:

bash
python verify/verify_local.py

After publication, validate actual remote range reads:

bash
python verify/verify_huggingface.py --revision main

The 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.