Ingest containers: MCAP, multi-modal HDF5, cloud buckets
Use this recipe when a customer hands you a third-party recording — an MCAP/ROS 2 bag, an ALOHA/ACT .h5 episode drop, or a cloud-bucket prefix — and wants Euler to turn it into inspectable, scored episodes.
MCAP payloads are decoded (CDR/ros2msg): the busiest telemetry topic becomes per-frame data, every topic contributes a per-stream timing summary (rate + offset vs the primary clock), and readiness scores the actual action values. ALOHA and HOMIE .h5 files are auto-detected structurally — register the directory and run.
For HOMIE-shaped egocentric recordings, Euler preserves the video-rate mocap/SLAM timeline and the native-rate IMU as separate artifacts. The ingest receipt records source-clock cadence, video/IMU keyframe residuals, content-based sub-frame correlation, Welch spectral evidence, Allan deviation when the recording is long enough, companion-video frame counts, calibration/depth inventory, and caption structure. These are immutable measurements; a certification policy decides what is ideal, reviewable, or failing later.
A publicly-readable gs:// bucket needs no credentials at all:
euler source add drive-program --id encord-bdd --format assets \
--uri gs://enc-techint-datasets/ds-challenge-bddfde26/10k/train/a
Register the project and source
euler project create warehouse-arm --name "Warehouse Arm"
euler source add warehouse-arm --id shift-2026-05-25 --format mcap --uri file:///data/shift.mcap
Reusing a source in another project
A source uploaded into Euler can be copied into another project of the same account without uploading it again: open Sources, choose Copy on the source, and pick the project. Only the original files are copied. Each file is linked to the same stored bytes where the storage allows, so even multi-gigabyte recordings copy in seconds and take no extra space; otherwise it is copied in full. Annotations, previews and other derived files stay with the original project, and the new project runs its own layers on the copy, so neither project can overwrite the other’s work. Ingest and annotation settings belong to each project, so set them on the new one before its first run. The same action is available from the API:
curl -X POST "$EULER_API/v1/projects/warehouse-arm/sources/shift-2026-05-25/copy" \
-H "Authorization: Bearer $EULER_TOKEN" -H "Content-Type: application/json" \
-d '{"target_project_id": "warehouse-arm-demo"}'
The answer names the new source and counts the files that were linked or copied. To hand a source and its finished annotations over instead, use Move, which keeps one copy in the new project.
To copy only part of a source, add "include_globs" (or fill Only files matching in the dialog) with patterns on the path inside the source, for example ["episode_000000/*"] for one episode folder of a parquet and video source or ["clip_0001.*"] for a clip and its same-name companions; only matching originals are copied, the new source keeps those patterns so its runs read only them, "dry_run": true lists the matches without copying, and a pattern that matches nothing is refused.
Map topics
Euler keeps topic mapping explicit so schema uncertainty is visible before it can affect exported training data. When confidence is low, the hosted command-led run routes the step through an approval checkpoint.
Run and inspect
euler run warehouse-arm shift-2026-05-25
The run emits inventories, health reports, aligned episode candidates, quality reports, and readiness receipts.
Export accepted data
euler export warehouse-arm --out ./export
Exports include lineage and receipt sidecars so downstream training jobs can verify where data came from.
For report-only training-readiness work, create a workspace with the data-assessment use case and follow the Data Assessment guide.