The Python SDK requires Python 3.9+.
Installation
Quick Start
Create an Account
Thesignup function creates a new Avala account and returns an API key. It does not require authentication.
Authentication
The SDK authenticates using your Avala API key, which is sent via theX-Avala-Api-Key header on every request.
You can provide the key directly or let the SDK read it from the environment.
Option 1: Pass the key directly
Async Support
The SDK ships with a fully async client built on top ofhttpx. Use AsyncClient for non-blocking I/O in async applications.
Working with Datasets
The Python SDK ships an
avala datasets upload CLI command for uploading local files. See Upload local files for the end-to-end flow, including the per-user 10 GB storage cap.List Datasets
Get a Dataset
Working with Projects
List Projects
Get a Project
Working with Tasks
List Tasks
Get a Task
Working with Exports
The Python SDK supports full CRUD operations for agents, webhooks, storage configurations, inference providers, quality targets, consensus config, and organizations. Datasets support upload via the
avala datasets upload CLI command. Projects remain read-only — use the REST API for project mutations.Create an Export
Poll for Completion
Working with Organizations
List Organizations
Create an Organization
Manage Members
Working with Slices
List Slices
Browsing Dataset Items
List Items in a Dataset
List Sequences
Get a Sequence
Validating a Dataset After Ingest
The SDK ships typed helpers for post-ingest validation — useful for scripts or AI agents that need to verify an upload without opening Mission Control.Dataset Health
Inspect a Single Frame
Read Calibration
Type Hints
The SDK is fully typed. All response objects are Pydantic models with complete type annotations, giving you autocomplete and type checking out of the box.Error Handling
The SDK raises typed exceptions so you can handle different failure modes precisely.Polling with datasets.wait()
After uploading a dataset, use wait() to block until it finishes processing:
wait() polls the dataset status at the specified interval. If the dataset does not reach the target status before the timeout, it raises TimeoutError.
An async variant is also available:
Pagination
List methods return aCursorPage object. You can iterate through items directly or control pagination manually.
Fleet Management
Thefleet namespace provides access to device registry, recordings, events, rules, and alerts.