Official Python SDK for the Avala API
Project description
Avala Python SDK
Official Python SDK for the Avala API. Build and manage ML annotation datasets, projects, exports, and tasks programmatically.
Note: This repository is a read-only mirror. To report bugs or request features, please open an issue. See CONTRIBUTING.md for details.
Installation
pip install avala
Requires Python 3.9+.
Quick Start
from avala import Client # or: from avala import Avala
client = Client() # reads AVALA_API_KEY env var
# List datasets
page = client.datasets.list(limit=10)
for dataset in page:
print(dataset.uid, dataset.name)
# Get a specific dataset
dataset = client.datasets.get("dataset-uid")
# Create an export and wait for completion
export = client.exports.create(project="project-uid")
finished = client.exports.wait(export.uid) # polls until done
print(finished.download_url)
# List tasks with filters
tasks = client.tasks.list(project="project-uid", status="completed")
Authentication
The client reads your API key from the AVALA_API_KEY environment variable by default:
export AVALA_API_KEY="avk_your_api_key"
Or pass it explicitly:
client = Client(api_key="avk_your_api_key")
Async Support
from avala import AsyncClient
async with AsyncClient() as client:
page = await client.datasets.list()
for dataset in page:
print(dataset.name)
Pagination
All .list() methods return a CursorPage that supports iteration:
page = client.datasets.list(limit=20)
for dataset in page:
print(dataset.name)
# Manual pagination
if page.has_more:
next_page = client.datasets.list(cursor=page.next_cursor)
Error Handling
from avala.errors import AvalaError, NotFoundError, RateLimitError, AuthenticationError
try:
dataset = client.datasets.get("nonexistent")
except NotFoundError:
print("Dataset not found")
except RateLimitError:
print("Rate limited")
except AuthenticationError:
print("Invalid API key")
except AvalaError as e:
print(f"API error: {e}")
CLI Tool
Install the CLI with one command:
curl -fsSL https://avala.ai/install.sh | bash
Or install directly with pip:
pip install avala[cli]
avala configure # Interactive API key setup + validation
avala status # Organization dashboard overview
avala datasets list # List datasets
avala projects list # List projects
avala exports create --project <uid> # Create an export
avala exports wait <uid> # Poll until export completes
avala fleet devices list # List fleet devices
avala -o json datasets list | jq . # JSON output for scripting
avala shell-completion zsh >> ~/.zshrc # Enable tab completion
avala --version # Show CLI version
Available Resources
| Resource | Methods | Description |
|---|---|---|
client.datasets |
list(), get(uid) |
Browse and inspect datasets |
client.projects |
list(), get(uid) |
Browse and inspect projects |
client.exports |
list(), get(uid), create(), wait(uid) |
Create, poll, and manage annotation exports |
client.tasks |
list(), get(uid) |
Browse tasks with project/status filters |
client.storage_configs |
list(), create(), test(), delete() |
Manage cloud storage connections |
client.agents |
list(), get(), create(), update(), delete(), list_executions(), test() |
Manage automation agents |
client.inference_providers |
list(), get(), create(), update(), delete(), test() |
Manage inference providers |
client.auto_label_jobs |
list(), get(), create() |
Batch auto-labeling jobs |
client.quality_targets |
list(), get(), create(), update(), delete(), evaluate() |
Project quality targets |
client.consensus |
get_summary(), list_scores(), compute(), get_config(), update_config() |
Consensus scoring |
client.webhooks |
list(), get(), create(), update(), delete(), test() |
Manage webhook subscriptions |
client.webhook_deliveries |
list(), get() |
Inspect webhook delivery logs |
Documentation
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
MIT - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avala-0.7.0.tar.gz.
File metadata
- Download URL: avala-0.7.0.tar.gz
- Upload date:
- Size: 78.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b64925d856e1c8d8436790c938dfff3635dc8b81aecc952e8ace45e84637870a
|
|
| MD5 |
d744327ec82543ba81f3a6db1340e089
|
|
| BLAKE2b-256 |
f00d3f2942f8e1a9f39565d2e704cb465b902541400475361c7d4d7df74b974e
|
File details
Details for the file avala-0.7.0-py3-none-any.whl.
File metadata
- Download URL: avala-0.7.0-py3-none-any.whl
- Upload date:
- Size: 81.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57007ccf4bb412e9286260f0640b52f80fc007b1fdd519a5b84f2b75e922f1a5
|
|
| MD5 |
a575835e937db4b5e070bc73e42f9e80
|
|
| BLAKE2b-256 |
5d086bdbc8ddb162e014eb1a42621b62502c41f3229e1c9c2c65bcccbd26eb16
|