The install script detects your Python version, installs 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.
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.
avala -o json datasets list | jq '.[].name'
When -o json is set, all output goes to stdout as valid JSON. Progress indicators and status messages are sent to stderr, so piping works cleanly.
Interactive setup wizard that prompts for your API key and base URL, validates the key against the API, and prints the export statements to add to your shell profile.
avala configure
Configure your Avala CLI credentials.API Key: avk_your_api_keyBase URL [https://api.avala.ai/api/v1]:Validating API key... OK Organization: Acme RoboticsAdd these to your shell profile (.zshrc): export AVALA_API_KEY='avk_your_api_key'
If validation fails (wrong key, network issue), the wizard asks whether to save anyway. This is useful for offline setup or when working with a custom base URL.
# List all exportsavala exports list# Get export detailsavala exports get <uid># Create a new exportavala exports create --project <uid>avala exports create --dataset <uid># Wait for an export to finishavala exports wait <uid>
create options:
Option
Description
--dataset TEXT
Dataset UID to export.
--project TEXT
Project UID to export.
wait options:
Option
Description
--interval FLOAT
Seconds between polls (default: 2.0).
--timeout FLOAT
Maximum seconds to wait (default: 300).
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:
# Create and wait in one pipelineavala exports create --project proj_abc123 \ | grep -oP 'exp_\w+' \ | xargs avala exports wait
# List agentsavala agents list# Get agent detailsavala agents get <uid># Create an agentavala agents create \ --name "QA Bot" \ --events "task.completed,result.submitted" \ --callback-url https://example.com/hook# Delete an agent (prompts for confirmation)avala agents delete <uid># List executions for an agentavala agents executions <uid># Test an agentavala agents test <uid>
# List webhooksavala webhooks list# Get webhook detailsavala webhooks get <uid># Create a webhookavala webhooks create \ --target-url https://example.com/webhook \ --events "task.completed,export.ready"# Delete a webhook (prompts for confirmation)avala webhooks delete <uid># Test a webhookavala webhooks test <uid># List webhook deliveriesavala webhooks deliveries
# List quality targets for a projectavala quality-targets list --project <uid># Get a specific quality targetavala quality-targets get --project <uid> <target_uid># Create a quality targetavala quality-targets create \ --project <uid> \ --name "Accuracy Target" \ --metric accuracy \ --threshold 0.95 \ --operator gte \ --severity critical# Delete a quality target (prompts for confirmation)avala quality-targets delete --project <uid> <target_uid># Evaluate all quality targets for a projectavala quality-targets evaluate --project <uid>
# List inference providersavala inference-providers list# Get provider detailsavala inference-providers get <uid># Create a provideravala inference-providers create \ --name "My SageMaker" \ --provider-type sagemaker \ --config '{"endpoint": "my-endpoint", "region": "us-east-1"}'# Delete a provider (prompts for confirmation)avala inference-providers delete <uid># Test provider connectionavala inference-providers test <uid>
Fleet commands are in preview. Commands described here may change.
Manage fleet devices, recordings, events, rules, and alerts.
# List online devicesavala fleet devices list --status online# Register a new deviceavala fleet devices register --name "robot-arm-01" --type manipulator --firmware "2.4.1"# List recordings for a deviceavala fleet recordings list --device dev_abc123 --since 7d# Create a timeline eventavala fleet events create --recording rec_abc123 --type anomaly --label "Gripper force spike"# List recording rulesavala fleet rules list# List active alertsavala fleet alerts list --status open
devices list options:
Option
Description
--status CHOICE
Filter by status: online, offline, maintenance.
--type TEXT
Filter by device type.
--limit INTEGER
Maximum number of results to return.
recordings list options:
Option
Description
--device TEXT
Filter by device UID.
--since TEXT
Recordings from the last N days (e.g., 7d, 30d).
--status CHOICE
Filter by status: uploading, processing, ready, error, archived.
--limit INTEGER
Maximum number of results to return.
alerts list options:
Option
Description
--status CHOICE
Filter by status: open, acknowledged, resolved.
--severity CHOICE
Filter by severity: info, warning, error, critical.
# See what datasets you haveavala datasets list# Export annotations from a projectavala exports create --project proj_abc123# Check export statusavala exports get exp_xyz789
# In your CI pipelineexport AVALA_API_KEY="${AVALA_API_KEY}"# Trigger an export and wait for it to completeavala exports create --project proj_abc123avala exports wait exp_xyz789 --timeout 600# Use JSON output for scriptingDATASET_COUNT=$(avala -o json datasets list | jq 'length')echo "Found $DATASET_COUNT datasets"
Colors and formatting are automatically disabled when output is piped or redirected.Pass --output json (or -o json) to any command for machine-readable JSON output. See the JSON Output section for examples.