Skip to content

Overview

The official Python SDK for the Qualia robotics data and VLA platform.

To use the SDK, you need an API key. Create one in Settings in the Qualia dashboard.

Terminal window
pip install 'qualia-sdk==0.7.0rc4'
# or with uv
uv pip install 'qualia-sdk==0.7.0rc4'

This deployment runs ahead of the public release, so it needs the matching pre-release wheel — 0.7.0rc4. Pin it rather than upgrading: the upload protocol is negotiated exactly, so the client and the endpoint it talks to have to be the same generation. A plain pip install qualia-sdk resolves to the current public release and will be turned away by this deployment.

The native transfer engine behind data upload/download is bundled in the wheel — nothing else to install.

from qualia import Qualia
# Initialize the client
client = Qualia(api_key="your-api-key")
# Or use the QUALIA_API_KEY environment variable
client = Qualia()
# Inspect the exact camera schema of a pinned dataset version
dataset_version_id = "44444444-4444-4444-8444-444444444444"
features = client.data.get_training_features(dataset_version_id)
print([camera.key for camera in features.camera_features])

Continuing with the same client:

# List available VLA models
models = client.models.types()
for model in models:
print(f"{model.id}: {model.name}")
print(f" Camera slots: {model.camera_slots}")
# Create a project
project = client.projects.create(name="My Robot Project")
print(f"Created project: {project.project_id}")
# Start a finetune job
job = client.finetune.create(
project_id=project.project_id,
model_id="lerobot/smolvla_base",
vla_type="smolvla",
dataset_version_id=dataset_version_id,
hours=2.0,
camera_mappings={"cam_1": "observation.images.top"},
)
print(f"Started job: {job.job_id}")
# Check job status
status = client.finetune.get(job.job_id)
print(f"Status: {status.status}")
print(f"Current phase: {status.current_phase}")
# Cancel a job if needed
result = client.finetune.cancel(job.job_id)
  • Python 3.10+
  • httpx
  • pydantic