Installation
avala[cli] via pip, and verifies the setup. Requires Python 3.9+.
This installs the avala command along with Click and Rich for formatted terminal output.
Authentication
Set your API key as an environment variable (recommended):export statements to add to your shell profile.
Global Options
Version
Print the installed CLI version:JSON Output
Pass--output json (or -o json) to any command to get machine-readable JSON instead of Rich tables. This is useful for scripting and piping into tools like jq.
Shell Completion
Enable tab-completion for allavala commands and options. The CLI supports bash, zsh, and fish.
SHELL environment variable.
Configure
Interactive setup wizard that prompts for your API key and base URL, validates the key against the API, and prints theexport statements to add to your shell profile.
Status Dashboard
Get a quick overview of your organization — datasets, projects, pending exports, and fleet health — in a single command.- Organization name from your API key
- Recent datasets (up to 5)
- Recent projects with status
- Pending exports (if any are processing)
- Fleet devices online/offline count (if Fleet is enabled)
-o json for a machine-readable snapshot:
Commands
datasets
list options:
get output fields: UID, Name, Slug, Items, Type, Created, Updated.
health output fields: dataset UID/status, item/sequence/frame counts, S3 prefix, ingest_ok flag, detected issues, per-sequence frame counts and calibration presence.
get-frame output fields: frame index, camera model (pinhole / doublesphere), xi, alpha, device position/heading, number of cameras.
get-calibration output fields: per-camera table — camera id, model, intrinsics (fx, fy, cx, cy), double-sphere parameters (xi, alpha) when applicable.
import
Bring data into Mission Control from outside Avala.import uploads local media and registers a dataset in one step, auto-detecting the data type from file extensions. It is the fast path for “I have a folder of frames / video / LiDAR / MCAP — turn it into an Avala dataset.”
folder source accepts a single file or a directory tree (uploaded recursively, preserving relative paths). Files are uploaded in parallel via presigned URLs, and the dataset is created from the manual-upload batch. Data type is inferred from extensions that the Avala indexer admits — images (.jpg, .png, .webp, .bmp, .tif, …), video (.mp4, .webm, .mkv, .mov), LiDAR (.alp, .alp.gz), MCAP (.mcap), and splats (.ply, .splat, .spz, …). Pass --data-type to override when extensions are ambiguous; the importer refuses up front if none of the files are indexable for the chosen type (so you never finalize an empty dataset).
folder options:
The same importers are available from the Python SDK via
avala.importers:
LeRobot / Hugging Face Hub
Import a LeRobot robotics dataset — from the Hugging Face Hub or a local directory — as an Avala MCAP dataset. Each episode becomes one.mcap file (one Avala MCAP episode): camera streams are written as foxglove.CompressedImage so they render in the Mission Control viewer, and proprioception (observation.state, action) is written as protobuf Struct messages so the values are preserved in the file.
Requires the lerobot extra:
lerobot options:
Mission Control’s embedded MCAP viewer renders images, point clouds and logs. Scalar time-series (joint state / actions) are preserved in the
.mcap and viewable as raw messages, but are not charted yet.ROS bags
Import a ROS bag (ROS1.bag or ROS2 .db3) as an Avala MCAP dataset. Camera topics (sensor_msgs/Image and sensor_msgs/CompressedImage) are re-encoded as foxglove.CompressedImage so they render in the Mission Control viewer. Reading uses the pure-Python rosbags library — no ROS install required.
Requires the rosbag extra:
rosbag options:
This increment carries camera topics only. Non-image topics (point clouds, TF, joint states, …) are reported but not yet carried over — faithfully copying ROS-encoded messages through (preserving their schemas) is a planned follow-up.
Cloud buckets (S3 / GCS) — zero-copy
Import data you already have in an S3 or GCS bucket without re-uploading it. Avala points the dataset at your bucket + prefix and indexes the objects in place — nothing is copied. Ideal for terabyte-scale data that already lives in the cloud.--data-type (image / video / lidar / mcap / splat) — the same indexer filter as uploads. Use --include-extensions / --ignore-paths to narrow the scope.
cloud options:
projects
list options:
get output fields: UID, Name, Status, Created, Updated.
tasks
list options:
get output fields: UID, Name, Type, Status, Project, Created, Updated.
exports
create options:
wait options:
The
wait command polls the export until it reaches a terminal state (completed or failed), then prints the final export details. Progress dots are printed to stderr so you can pipe the result:
storage-configs
Manage cloud storage connections (AWS S3, Google Cloud Storage).create options:
AWS S3 options:
Google Cloud Storage options:
agents
Manage automation agents.create options:
list options:
executions options:
webhooks
Manage webhook subscriptions.create options:
list / deliveries options:
quality-targets
Manage quality targets for projects.create options:
list options:
consensus
Manage consensus scoring for projects.summary / scores / compute options:
scores options:
config options (pass any to update, omit all to view):
inference-providers
Manage inference providers.create options:
list options:
auto-label
Manage auto-label jobs.create options:
list options:
fleet
Manage fleet devices, recordings, events, rules, and alerts.devices list options:
recordings list options:
alerts list options:
configure
Interactive setup wizard for CLI credentials. See the Configure section above for the full walkthrough.Examples
List datasets and export a project
Set up cloud storage
Use with CI/CD
Environment Variables
Output Format
The CLI uses Rich for formatted output:- List commands display results in formatted tables.
- Get commands display a key-value detail view.
- Create/delete commands print confirmation messages.
--output json (or -o json) to any command for machine-readable JSON output. See the JSON Output section for examples.