Le CLI Avala vous permet de lister les jeux de données, créer des exports, gérer le stockage cloud et plus encore — directement depuis la ligne de commande.
Installation
curl -fsSL https://avala.ai/install.sh | bash
Le script d’installation detecte votre version de Python, installe avala[cli] via pip et verifie la configuration. Necessite Python 3.9+.
Ceci installe la commande avala ainsi que Click et Rich pour un affichage formate dans le terminal.
Authentification
Définissez votre clé API comme variable d’environnement (recommandé) :
export AVALA_API_KEY="avk_your_api_key"
Ou passez-la comme option sur n’importe quelle commande :
avala --api-key avk_your_api_key datasets list
Pour configurer les identifiants de manière interactive :
Ceci vous guide dans la saisie de votre clé API et de l’URL de base, puis affiche les instructions export à ajouter à votre profil shell.
Options globales
| Option | Description |
|---|
--api-key TEXT | Clé API Avala (ou définissez la variable d’env AVALA_API_KEY). |
--base-url TEXT | URL de base de l’API (ou définissez la variable d’env AVALA_BASE_URL). Défaut : https://api.avala.ai/api/v1. |
--help | Affiche l’aide pour n’importe quelle commande. |
Commandes
datasets
# List all datasets
avala datasets list
# Limit results
avala datasets list --limit 10
# Get a specific dataset
avala datasets get <uid>
Options de list :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
Champs de sortie de get : UID, Name, Slug, Items, Type, Created, Updated.
projects
# List all projects
avala projects list
# Get a specific project
avala projects get <uid>
Options de list :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
Champs de sortie 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>
Options de list :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
Champs de sortie 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>
Options de create :
| Option | Description |
|---|
--dataset TEXT | UID du jeu de données à exporter. |
--project TEXT | UID du projet à exporter. |
storage-configs
Gérez les connexions de stockage cloud (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>
Options de create :
| Option | Description |
|---|
--name TEXT | Nom de la configuration de stockage (requis). |
--provider CHOICE | aws_s3 ou gc_storage (requis). |
Options AWS S3 :
| Option | Description |
|---|
--s3-bucket-name TEXT | Nom du bucket S3. |
--s3-bucket-region TEXT | Région AWS (par ex., us-west-1). |
--s3-bucket-prefix TEXT | Préfixe de clé d’objet. |
--s3-access-key-id TEXT | ID de clé d’accès AWS. |
--s3-secret-access-key TEXT | Clé d’accès secrète AWS. |
Options Google Cloud Storage :
| Option | Description |
|---|
--gc-bucket-name TEXT | Nom du bucket GCS. |
--gc-prefix TEXT | Préfixe de clé d’objet. |
--gc-auth-json TEXT | Identifiants JSON du compte de service. |
agents
Gérez les agents d’automatisation.
# 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>
Options de create :
| Option | Description |
|---|
--name TEXT | Nom de l’agent (requis). |
--events TEXT | Liste de types d’événements séparés par des virgules. |
--callback-url TEXT | URL de callback webhook (HTTPS). |
--description TEXT | Description de l’agent. |
--project TEXT | UID du projet pour limiter la portée de l’agent. |
--task-types TEXT | Liste de types de tâches séparés par des virgules. |
Options de list :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
Options de executions :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
webhooks
Gérez les abonnements webhook.
# 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
Options de create :
| Option | Description |
|---|
--target-url TEXT | URL cible du webhook, HTTPS (requis). |
--events TEXT | Liste de types d’événements séparés par des virgules (requis). |
--secret TEXT | Secret de signature HMAC (généré automatiquement si omis). |
Options de list / deliveries :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
quality-targets
Gérez les objectifs de qualité pour les projets.
# 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>
Options de create :
| Option | Description |
|---|
--project TEXT | UID du projet (requis). |
--name TEXT | Nom de l’objectif (requis). |
--metric TEXT | Métrique à surveiller (requis). |
--threshold FLOAT | Valeur de seuil (requis). |
--operator TEXT | Opérateur de comparaison (gt, lt, gte, lte). |
--severity CHOICE | Sévérité de l’alerte : warning ou critical. |
Options de list :
| Option | Description |
|---|
--project TEXT | UID du projet (requis). |
--limit INTEGER | Nombre maximum de résultats à retourner. |
consensus
Gérez le scoring de consensus pour les projets.
# 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
Options de summary / scores / compute :
| Option | Description |
|---|
--project TEXT | UID du projet (requis). |
Options de scores :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
Options de config (passez n’importe lequel pour mettre à jour, omettez tous pour voir) :
| Option | Description |
|---|
--project TEXT | UID du projet (requis). |
--iou-threshold FLOAT | Seuil IoU (0.0-1.0). |
--min-agreement-ratio FLOAT | Ratio d’accord minimum (0.0-1.0). |
--min-annotations INTEGER | Nombre minimum d’annotations requises. |
inference-providers
Gérez les fournisseurs d’inférence.
# 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>
Options de create :
| Option | Description |
|---|
--name TEXT | Nom du fournisseur (requis). |
--provider-type CHOICE | http ou sagemaker (requis). |
--config TEXT | Configuration du fournisseur en chaîne JSON (requis). |
--description TEXT | Description du fournisseur. |
--project TEXT | UID du projet pour limiter la portée du fournisseur. |
Options de list :
| Option | Description |
|---|
--limit INTEGER | Nombre maximum de résultats à retourner. |
auto-label
Gérez les jobs d’auto-étiquetage.
# 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>
Options de create :
| Option | Description |
|---|
--project TEXT | UID du projet (requis). |
--model-type CHOICE | Modèle d’inférence : sam3 ou yolo. |
--confidence-threshold FLOAT | Confiance minimum (0.0-1.0). |
--labels TEXT | Liste d’étiquettes séparées par des virgules à filtrer. |
--dry-run | Exécuter l’inférence sans sauvegarder les résultats. |
Options de list :
| Option | Description |
|---|
--project TEXT | Filtrer par UID de projet. |
--limit INTEGER | Nombre maximum de résultats à retourner. |
fleet
Les commandes fleet sont en aperçu. Les commandes décrites ici peuvent changer.
Gérez les appareils de flotte, enregistrements, événements, règles et alertes.
# 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
Options de devices list :
| Option | Description |
|---|
--status CHOICE | Filtrer par statut : online, offline, maintenance. |
--type TEXT | Filtrer par type d’appareil. |
--limit INTEGER | Nombre maximum de résultats à retourner. |
Options de recordings list :
| Option | Description |
|---|
--device TEXT | Filtrer par UID d’appareil. |
--since TEXT | Enregistrements des N derniers jours (par ex., 7d, 30d). |
--status CHOICE | Filtrer par statut : uploading, processing, ready, error, archived. |
--limit INTEGER | Nombre maximum de résultats à retourner. |
Options de alerts list :
| Option | Description |
|---|
--status CHOICE | Filtrer par statut : open, acknowledged, resolved. |
--severity CHOICE | Filtrer par sévérité : info, warning, error, critical. |
--limit INTEGER | Nombre maximum de résultats à retourner. |
Assistant de configuration interactif pour les identifiants CLI.
Vous demande votre clé API et l’URL de base, puis affiche les commandes export à ajouter à votre profil shell (~/.bashrc, ~/.zshrc, etc.).
Exemples
Lister les jeux de données et exporter un projet
# 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
# 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
Utilisation avec 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 d’environnement
| Variable | Description | Défaut |
|---|
AVALA_API_KEY | Votre clé API Avala. | Requis |
AVALA_BASE_URL | Remplacement de l’URL de base de l’API. | https://api.avala.ai/api/v1 |
Le CLI utilise Rich pour un affichage formaté :
- Les commandes list affichent les résultats dans des tableaux formatés.
- Les commandes get affichent une vue détaillée clé-valeur.
- Les commandes create/delete affichent des messages de confirmation.
Les couleurs et le formatage sont automatiquement désactivés lorsque la sortie est redirigée.
Le CLI ne supporte pas encore les options --output json ou --format. Toute la sortie est formatée pour la lisibilité dans le terminal. Pour une sortie lisible par machine, utilisez directement le Python SDK ou la REST API.