El CLI de Avala le permite listar datasets, crear exportaciones, gestionar almacenamiento en la nube y más — directamente desde la línea de comandos.
Instalación
curl -fsSL https://avala.ai/install.sh | bash
El script de instalación detecta su versión de Python, instala avala[cli] a través de pip y verifica la configuración. Requiere Python 3.9+.
Esto instala el comando avala junto con Click y Rich para salida formateada en terminal.
Autenticación
Configure su API key como variable de entorno (recomendado):
export AVALA_API_KEY="avk_your_api_key"
O pásela como flag en cualquier comando:
avala --api-key avk_your_api_key datasets list
Para configurar credenciales de forma interactiva:
Esto le guía a través de la entrada de su API key y URL base, luego imprime las sentencias export para agregar a su perfil de shell.
Opciones globales
| Opción | Descripción |
|---|
--api-key TEXT | API key de Avala (o configure la variable de entorno AVALA_API_KEY). |
--base-url TEXT | URL base de la API (o configure la variable de entorno AVALA_BASE_URL). Por defecto: https://api.avala.ai/api/v1. |
--help | Mostrar ayuda para cualquier comando. |
Comandos
datasets
# List all datasets
avala datasets list
# Limit results
avala datasets list --limit 10
# Get a specific dataset
avala datasets get <uid>
Opciones de list:
| Opción | Descripción |
|---|
--limit INTEGER | Número máximo de resultados a devolver. |
Campos de salida de get: UID, Name, Slug, Items, Type, Created, Updated.
projects
# List all projects
avala projects list
# Get a specific project
avala projects get <uid>
Opciones de list:
| Opción | Descripción |
|---|
--limit INTEGER | Número máximo de resultados a devolver. |
Campos de salida de get: UID, Name, Status, Created, Updated.
tasks
# List all tasks
avala tasks list
# Limit results
avala tasks list --limit 50
# Get a specific task
avala tasks get <uid>
Opciones de list:
| Opción | Descripción |
|---|
--limit INTEGER | Número máximo de resultados a devolver. |
Campos de salida de get: UID, Name, Type, Status, Project, Created, Updated.
exports
# List all exports
avala exports list
# Get export details
avala exports get <uid>
# Create a new export
avala exports create --project <uid>
avala exports create --dataset <uid>
Opciones de create:
| Opción | Descripción |
|---|
--dataset TEXT | UID del dataset a exportar. |
--project TEXT | UID del proyecto a exportar. |
storage-configs
Gestione conexiones de almacenamiento en la nube (AWS S3, Google Cloud Storage).
# List storage configurations
avala storage-configs list
# Add an S3 bucket
avala storage-configs create \
--name "Production S3" \
--provider aws_s3 \
--s3-bucket-name my-bucket \
--s3-bucket-region us-west-1 \
--s3-access-key-id $AWS_ACCESS_KEY_ID \
--s3-secret-access-key $AWS_SECRET_ACCESS_KEY
# Add a GCS bucket
avala storage-configs create \
--name "Production GCS" \
--provider gc_storage \
--gc-bucket-name my-gcs-bucket \
--gc-auth-json '{"type":"service_account",...}'
# Test a storage connection
avala storage-configs test <uid>
# Delete a storage config (prompts for confirmation)
avala storage-configs delete <uid>
Opciones de create:
| Opción | Descripción |
|---|
--name TEXT | Nombre para la configuración de almacenamiento (requerido). |
--provider CHOICE | aws_s3 o gc_storage (requerido). |
Opciones de AWS S3:
| Opción | Descripción |
|---|
--s3-bucket-name TEXT | Nombre del bucket S3. |
--s3-bucket-region TEXT | Región de AWS (ej., us-west-1). |
--s3-bucket-prefix TEXT | Prefijo de clave de objeto. |
--s3-access-key-id TEXT | ID de clave de acceso de AWS. |
--s3-secret-access-key TEXT | Clave de acceso secreta de AWS. |
Opciones de Google Cloud Storage:
| Opción | Descripción |
|---|
--gc-bucket-name TEXT | Nombre del bucket GCS. |
--gc-prefix TEXT | Prefijo de clave de objeto. |
--gc-auth-json TEXT | Credenciales JSON de cuenta de servicio. |
agents
Gestione agentes de automatización.
# List agents
avala agents list
# Get agent details
avala agents get <uid>
# Create an agent
avala 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 agent
avala agents executions <uid>
# Test an agent
avala agents test <uid>
Opciones de create:
| Opción | Descripción |
|---|
--name TEXT | Nombre del agente (requerido). |
--events TEXT | Lista de tipos de eventos separados por comas. |
--callback-url TEXT | URL de callback del webhook (HTTPS). |
--description TEXT | Descripción del agente. |
--project TEXT | UID del proyecto para limitar el alcance del agente. |
--task-types TEXT | Lista de tipos de tarea separados por comas. |
Opciones de list:
| Opción | Descripción |
|---|
--limit INTEGER | Número máximo de resultados a devolver. |
Opciones de executions:
| Opción | Descripción |
|---|
--limit INTEGER | Número máximo de resultados a devolver. |
webhooks
Gestione suscripciones de webhooks.
# List webhooks
avala webhooks list
# Get webhook details
avala webhooks get <uid>
# Create a webhook
avala 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 webhook
avala webhooks test <uid>
# List webhook deliveries
avala webhooks deliveries
Opciones de create:
| Opción | Descripción |
|---|
--target-url TEXT | URL de destino del webhook, HTTPS (requerido). |
--events TEXT | Lista de tipos de eventos separados por comas (requerido). |
--secret TEXT | Secreto de firma HMAC (generado automáticamente si se omite). |
Opciones de list / deliveries:
| Opción | Descripción |
|---|
--limit INTEGER | Número máximo de resultados a devolver. |
quality-targets
Gestione objetivos de calidad para proyectos.
# List quality targets for a project
avala quality-targets list --project <uid>
# Get a specific quality target
avala quality-targets get --project <uid> <target_uid>
# Create a quality target
avala 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 project
avala quality-targets evaluate --project <uid>
Opciones de create:
| Opción | Descripción |
|---|
--project TEXT | UID del proyecto (requerido). |
--name TEXT | Nombre del objetivo (requerido). |
--metric TEXT | Métrica a monitorear (requerido). |
--threshold FLOAT | Valor umbral (requerido). |
--operator TEXT | Operador de comparación (gt, lt, gte, lte). |
--severity CHOICE | Severidad de la alerta: warning o critical. |
Opciones de list:
| Opción | Descripción |
|---|
--project TEXT | UID del proyecto (requerido). |
--limit INTEGER | Número máximo de resultados a devolver. |
consensus
Gestione puntuación de consenso para proyectos.
# Get consensus summary for a project
avala consensus summary --project <uid>
# List consensus scores
avala consensus scores --project <uid>
# Compute consensus scores
avala consensus compute --project <uid>
# View or update consensus config
avala consensus config --project <uid>
avala consensus config --project <uid> --iou-threshold 0.7 --min-annotations 3
inference-providers
Gestione proveedores de inferencia.
# List inference providers
avala inference-providers list
# Get provider details
avala inference-providers get <uid>
# Create a provider
avala 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 connection
avala inference-providers test <uid>
auto-label
Gestione trabajos de auto-etiquetado.
# List auto-label jobs
avala auto-label list
# Filter by project
avala auto-label list --project <uid>
# Get job details
avala auto-label get <uid>
# Create an auto-label job
avala auto-label create \
--project <uid> \
--model-type sam3 \
--confidence-threshold 0.85 \
--labels "car,truck"
# Cancel a running job (prompts for confirmation)
avala auto-label cancel <uid>
fleet
Los comandos de flota están en vista previa. Los comandos descritos aquí pueden cambiar.
Gestione dispositivos de flota, grabaciones, eventos, reglas y alertas.
# List online devices
avala fleet devices list --status online
# Register a new device
avala fleet devices register --name "robot-arm-01" --type manipulator --firmware "2.4.1"
# List recordings for a device
avala fleet recordings list --device dev_abc123 --since 7d
# Create a timeline event
avala fleet events create --recording rec_abc123 --type anomaly --label "Gripper force spike"
# List recording rules
avala fleet rules list
# List active alerts
avala fleet alerts list --status open
Asistente de configuración interactiva para credenciales del CLI.
Le solicita su API key y URL base, luego muestra los comandos export para agregar a su perfil de shell (~/.bashrc, ~/.zshrc, etc.).
Ejemplos
Listar datasets y exportar un proyecto
# See what datasets you have
avala datasets list
# Export annotations from a project
avala exports create --project proj_abc123
# Check export status
avala exports get exp_xyz789
Configurar almacenamiento en la nube
# Connect an S3 bucket
avala storage-configs create \
--name "Training Data" \
--provider aws_s3 \
--s3-bucket-name ml-training-data \
--s3-bucket-region us-east-1 \
--s3-access-key-id $AWS_ACCESS_KEY_ID \
--s3-secret-access-key $AWS_SECRET_ACCESS_KEY
# Verify the connection works
avala storage-configs test sc_abc123
Uso con CI/CD
# In your CI pipeline
export AVALA_API_KEY="${AVALA_API_KEY}"
# Trigger an export and capture the UID
avala exports create --project proj_abc123
Variables de entorno
| Variable | Descripción | Valor por defecto |
|---|
AVALA_API_KEY | Su API key de Avala. | Requerido |
AVALA_BASE_URL | Sobrescritura de URL base de la API. | https://api.avala.ai/api/v1 |
El CLI usa Rich para salida formateada:
- Comandos de lista muestran resultados en tablas formateadas.
- Comandos de obtención muestran una vista detallada de clave-valor.
- Comandos de crear/eliminar imprimen mensajes de confirmación.
Los colores y el formato se desactivan automáticamente cuando la salida se redirige o canaliza.
El CLI aún no soporta flags --output json o --format. Toda la salida está formateada para legibilidad en terminal. Para salida procesable por máquinas, use el Python SDK o la REST API directamente.