#!/bin/bash# Create projectPROJECT_ID=$(cvat-cli --auth user project create "Batch Processing" \ --labels '[{"name": "object"}]')echo "Created project: $PROJECT_ID"# Process multiple directoriesfor dir in dataset1 dataset2 dataset3; do echo "Processing $dir..." TASK_ID=$(cvat-cli --auth user task create \ "Task from $dir" \ local \ ./$dir/*.jpg \ --project_id $PROJECT_ID \ --image_quality 85) echo " Created task: $TASK_ID"done# List all tasks in projectecho "\nAll tasks:"cvat-cli --auth user task ls
Backup tasks from one server and restore to another.
#!/bin/bash# Backup from production serverecho "Backing up from production..."SOURCE_SERVER="--server-host https://cvat-prod.company.com"SOURCE_AUTH="--auth user:prod_pass"mkdir -p backups# Backup multiple tasksfor TASK_ID in 10 11 12; do echo "Backing up task $TASK_ID..." cvat-cli $SOURCE_AUTH $SOURCE_SERVER task backup $TASK_ID \ ./backups/task_${TASK_ID}_backup.zipdone# Restore to development serverecho "\nRestoring to development server..."DEST_SERVER="--server-host http://localhost:8080"DEST_AUTH="--auth admin:dev_pass"for backup_file in ./backups/*.zip; do echo "Restoring $backup_file..." NEW_TASK_ID=$(cvat-cli $DEST_AUTH $DEST_SERVER \ task create-from-backup $backup_file) echo " Restored as task: $NEW_TASK_ID"done
Create tasks, auto-annotate them, and export results.detector.py:
"""Simple auto-annotation function for CVAT."""import cvat_sdk.auto_annotation as cvataadef spec(): return cvataa.DetectionFunctionSpec( labels=[ cvataa.label_spec("car", 0), cvataa.label_spec("person", 1), ] )def detect(context, image): # Your detection logic here # This is a placeholder example results = [ cvataa.rectangle(0, [100, 100, 200, 200]), # car cvataa.rectangle(1, [300, 300, 400, 400]), # person ] return results
#!/bin/bash# Function to create task in organizationcreate_org_task() { local ORG=$1 local TASK_NAME=$2 echo "Creating task '$TASK_NAME' in organization '$ORG'..." TASK_ID=$(cvat-cli --auth user --org $ORG task create \ "$TASK_NAME" \ local \ ./data/*.jpg \ --labels '[{"name": "object"}]') echo " Task ID: $TASK_ID"}# Create tasks in different organizationscreate_org_task "team-alpha" "Alpha Dataset"create_org_task "team-beta" "Beta Dataset"create_org_task "team-gamma" "Gamma Dataset"# List tasks per organizationecho "\nTasks in team-alpha:"cvat-cli --auth user --org team-alpha task lsecho "\nTasks in team-beta:"cvat-cli --auth user --org team-beta task ls# List all accessible tasks (across all orgs)echo "\nAll accessible tasks:"cvat-cli --auth user task ls
#!/bin/bashPROJECT_ID=5# Get list of task IDs (requires jq for JSON parsing)TASK_IDS=$(cvat-cli --auth user task ls --json | \ jq -r ".[] | select(.project_id == $PROJECT_ID) | .id")echo "Found tasks: $TASK_IDS"mkdir -p exports# Export each taskfor TASK_ID in $TASK_IDS; do echo "Exporting task $TASK_ID..." cvat-cli --auth user task export-dataset $TASK_ID \ ./exports/task_${TASK_ID}_export.zip \ --format "CVAT for images 1.1" \ --with-images falsedoneecho "All exports complete in ./exports/"
#!/bin/bash# backup-all-tasks.shBACKUP_DIR="/backups/cvat/$(date +%Y-%m-%d)"mkdir -p "$BACKUP_DIR"echo "Starting backup to $BACKUP_DIR"# Get all task IDsTASK_IDS=$(cvat-cli --auth user task ls --json | jq -r '.[].id')for TASK_ID in $TASK_IDS; do echo "Backing up task $TASK_ID..." cvat-cli --auth user task backup $TASK_ID \ "$BACKUP_DIR/task_${TASK_ID}.zip" || \ echo "Failed to backup task $TASK_ID"done# Clean up old backups (keep last 7 days)find /backups/cvat -type d -mtime +7 -exec rm -rf {} \;echo "Backup complete!"
#!/bin/bashset -e # Exit on errorset -u # Exit on undefined variableset -o pipefail # Exit on pipe failuretrap 'echo "Error on line $LINENO"' ERR# Your commands here