For the complete documentation index, see llms.txt. This page is also available as Markdown.

CLI quickstart

Configure the CLI, create a project, upload data, wait for processing, and emit JSON for automation.

Outcome: Configure the CLI, create a project, upload data, wait for processing, and emit JSON for automation.

unitlab configure --api-key YOUR_API_KEY
unitlab project create "Road review" --json
unitlab project list
unitlab project upload PROJECT_ID ./data --fps 2.0 --json
unitlab batch-queue wait PROJECT_ID BATCH_QUEUE_ID --json
unitlab project data-units PROJECT_ID --json

Use --json when another process will parse the result. Human output is concise and can change for readability; JSON output is the machine interface. A project upload exits non-zero on partial file failure, even when some files succeeded. Capture output and inspect the created Batch Queue before deciding whether to retry.

Every command group supports --help. Use the installed command’s help as the authoritative option list for the pinned SDK version.

Operating contract

Concern
Required behavior

Execution surface

Pinned unitlab==3.0.0 command in the intended Python 3.10+ environment.

Machine contract

Use --json; human-readable output is not an automation interface.

Target resolution

Resolve stable IDs with a read command before a state-changing command.

Success evidence

Exit status, JSON result, returned IDs, and a read-after-write state check.

Failure and recovery boundary

Condition
Response

Authentication or authorization fails

Stop, correct the service identity or access model, rotate exposed credentials, and rerun a read-only check.

Validation or entitlement rejects the operation

Correct the input or entitlement; do not retry an unchanged request.

A request times out

Inspect remote state before repeating a mutation because the server may have accepted it.

Asynchronous processing exceeds its deadline

Preserve the Batch Queue or release ID, continue bounded monitoring, and inspect item-level failures.

Only part of a batch succeeds

Keep successful identifiers, isolate failed rows, and retry only the corrected subset.


Explore related Unitlab capabilities: enterprise data annotation workflows