Rayform

Python SDK

Command line

The rayform command: upload, inspect, search, slice, export and pull from a terminal.

Rayform is in private preview. APIs, formats and the SDK described here may change before general availability.

The rayform command installs with the Python package. It uses the same configuration as the SDK, and every command accepts --json for scripting.

Shell
pip install rayform
rayform --help

Commands

CommandDoes
rayform loginStore an API key in ~/.config/rayform/credentials for interactive use
rayform whoamiShow the organisation and key in use
rayform upload PATH --site SITE [--wait] [--recursive]Upload a file or folder
rayform sessions list [--site SITE] [--status STATUS]List sessions
rayform sessions show IDShow a session, its issues and segments
rayform sessions delete IDDelete a session and everything derived from it
rayform search [FILTERS]Search segments
rayform slice create [FILTERS] --name NAMEFreeze a slice
rayform export SLICE --format FORMAT [--out DIR | --to URI]Export a slice
rayform pull SLICEDownload a slice into the local cache
rayform verify PATH --expect HASHCheck a file against a content hash
rayform calibration upload FILEStore a device calibration

Examples

Upload everything recorded today and wait for processing:

Shell
rayform upload ~/recordings/2026-10-14/ --site lab-2 --recursive --wait

Search and freeze in one line:

Shell
rayform slice create --site lab-2 --event grasp --object mug --quality-min psnr=28 --name "mug grasps"
Text
slc_7c1e04aa  mug grasps  412 segments  47.9 min

Export to LeRobot on local disk:

Shell
rayform export slc_7c1e04aa --format lerobot --fps 15 --camera cam0/rgb --camera wrist/rgb --out ./data/mug-grasps

Machine-readable output:

Shell
rayform sessions list --status failed --json | jq -r '.[].id'

Exit codes

CodeMeaning
0Success
1The API returned an error; the message includes the request ID
2Invalid arguments
3Processing or export failed (with --wait)
4Integrity check failed

Last updated October 18, 2026