Skip to main content
Containers are hosted records that describe runtime environments Synth can reference.

List containers

from synth_ai import SynthClient

client = SynthClient()

for container in client.containers.list():
    print(container.id, container.name, container.status)

Create a container

from synth_ai.sdk.containers import ContainerSpec, ContainerType

container = client.containers.create(
    ContainerSpec(
        name="docs-code-task",
        task_type=ContainerType.harbor_code,
        definition={"repo": "https://github.com/owner/repo"},
    )
)

print(container.id)

Wait for readiness

ready = client.containers.wait_ready(container.id, timeout=300, poll_interval=2)
print(ready.status)

Delete a container

client.containers.delete(container.id)

CLI

synth-ai containers list
synth-ai containers get container_123
synth-ai containers create \
  --name docs-code-task \
  --task-type harbor_code \
  --definition '{"repo":"https://github.com/owner/repo"}'
synth-ai containers delete container_123

Container types

Current SDK enum values include harbor_code, harbor_browser, archipelago, and openenv.