Twin-scoped
Environment-scoped
An environment id is always required.Date filtering
start/end accept a date, a datetime, or an ISO 8601 string (both
date-only and full datetime forms, with or without a Z/offset suffix). Provide
both bounds together — a one-sided window is rejected:
Types & viewers
Recording types:camera, robot, pointcloud (colored/lidar points), depth
(raw depth maps), audio. A depth camera typically matches camera + depth, and
also pointcloud when colored points are produced.
get() downloads every artifact to a temp directory. The readers require the data
extra:
data extra installs headless OpenCV (decoding only). For GUI video playback
with show_video(), also install a non-headless build: pip install opencv-python.
Contextual accessors
A fetched recording exposes only the accessors that apply to its streams —dir(rec)
and autocomplete list just the relevant ones. info() is always available.
read_* raises with a “retry in a few minutes” hint.
Point clouds as Parquet
When youget() a recording, point-cloud data is downloaded as a single Parquet
file (one row per frame: timestamp_us, rows, cols, dtype, and the raw frame
data). read_depth() / read_pointcloud() reconstruct the frames; to read the file
directly with pyarrow:
get() logs a notice (“being generated / updated,
retry in a few minutes”) — call get() again shortly to receive the complete file.