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

Developer overview

Choose the Python SDK, CLI, or authenticated HTTP interface for a Unitlab automation.

One platform, three automation surfaces

Choose the integration surface by runtime and operating model. All three surfaces address the same authenticated Unitlab resources.

Outcome: Choose the Python SDK, CLI, or authenticated HTTP interface for a Unitlab automation.

Supported surfaces

Surface
Best fit
Contract

Python SDK

Applications, notebooks, workers, data pipelines

Typed resource handles and exceptions

CLI

Shell workflows, CI jobs, operator runbooks

Human output or machine-readable JSON

HTTP API

Runtimes where Python and the CLI cannot be used

Authenticated JSON requests to the SDK API routes

The Python SDK and CLI cover projects, Data Units, Batch Queues, Assets, folders, cloud storage, Data Groups, datasets and versions, custom embedding spaces, ontologies, workflow tasks, and releases. The current package requires Python 3.10 or newer.

Resource model

Use the highest-level public method that expresses the operation. The resource handles normalize identifiers, translate product terms, page list responses, and map HTTP failures to typed exceptions.

Operating contract

Concern
Required behavior

Execution surface

Pinned unitlab==3.0.0 application environment on Python 3.10+.

Identity

Least-privilege API key supplied through approved configuration.

Target resolution

Stable resource IDs and an explicitly bounded target set.

Success evidence

Typed return fields, server-side state, and downstream acceptance of the result.

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.


Related Unitlab capability guides: Unitlab’s data annotation platform