Python-only SDK for Synth containers, tunnels, pools, and Research
Project description
Synth AI SDK
Python SDK and CLI for Synth infrastructure surfaces: tunnels, pools, and hosted containers.
Documentation: https://docs.usesynth.ai/sdk/overview
Installation
uv add synth-ai
Or install with pip:
pip install synth-ai
Authenticate
Set SYNTH_API_KEY before using the SDK or CLI:
export SYNTH_API_KEY="sk_..."
Local Workspaces
For local multi-repo development, synth-ai treats workspace resolution as a
read-only overlay. .env and Synth home config may provide defaults and
secrets; selecting a worktree must not rewrite those defaults.
Use SYNTH_WORKSPACE_MANIFEST or SYNTH_WORKSPACE_ROOT for command-scoped
worktree resolution. The resolver in synth_ai.core.utils.workspace returns
repo paths and a scoped env mapping for subprocesses without mutating .env.
Pass base_url when you need to pin a production, local, staging, or private
backend explicitly:
from synth_ai import SynthClient
client = SynthClient(base_url="http://127.0.0.1:8000")
The CLI also reads SYNTH_BACKEND_URL and accepts --backend-url.
Quickstart
from synth_ai import SynthClient
client = SynthClient()
print(client.containers.list())
print(client.tunnels.health())
print(client.pools.list())
CLI
synth-ai --help
synth-ai containers list
synth-ai tunnels health
synth-ai pools list
Public Surface
Use SynthClient as the front door:
| Surface | Client namespace | Use it for |
|---|---|---|
| Managed Research / Factory | client.research |
Hosted research runs, projects, evidence, MCP (synth-ai[research]). |
| Containers | client.containers |
Hosted container records and lifecycle operations. |
| Tunnels | client.tunnels |
Managed tunnel records, leases, health, and rotation. |
| Pools | client.pools |
Container pools, tasks, rollouts, artifacts, usage, and events. |
| CLI | synth-ai |
Terminal access to containers, tunnels, and pools. |
Use Managed Research when you want hosted research workers, repo runs, evidence, checkpoints, MCP, or final reports.
Links
Local Development
Use uv run for Python tools:
uv sync --group dev
uv run ruff format --check .
uv run ruff check .
uv run ty check
Optional: install Lefthook and run
lefthook install to run formatting, linting, and type checks on staged Python
files.
SMR Handoff X thread — hand agent tasks to Managed Research from Cursor, Codex, or Claude Code (repo).
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 synth_ai-0.11.3.tar.gz.
File metadata
- Download URL: synth_ai-0.11.3.tar.gz
- Upload date:
- Size: 402.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9591e887925bcdc73e928a9b920efef803d8f06aad1f292a985ef0eba457f701
|
|
| MD5 |
984d93b0879266bcafc27c0d45d737b3
|
|
| BLAKE2b-256 |
2f5883ae439a2457cda4706e2d2e91600a4cbfe956462c2a4e8c37df9bc6931e
|
Provenance
The following attestation bundles were made for synth_ai-0.11.3.tar.gz:
Publisher:
publish-dev.yml on synth-laboratories/synth-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synth_ai-0.11.3.tar.gz -
Subject digest:
9591e887925bcdc73e928a9b920efef803d8f06aad1f292a985ef0eba457f701 - Sigstore transparency entry: 1920551000
- Sigstore integration time:
-
Permalink:
synth-laboratories/synth-ai@11cf49c075227544f941610b813ead5d3e0c8fc7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/synth-laboratories
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
publish-dev.yml@11cf49c075227544f941610b813ead5d3e0c8fc7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file synth_ai-0.11.3-py3-none-any.whl.
File metadata
- Download URL: synth_ai-0.11.3-py3-none-any.whl
- Upload date:
- Size: 480.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4104183fa8675cdeea7d5ec042362fa9469a325940a3f9a3903667249929b5df
|
|
| MD5 |
9a6d8c7aace8a4082a12b4a2e4e27347
|
|
| BLAKE2b-256 |
10e3be2e893d30d7437af5ed31f799ddf1c9d737899d741382a5fe829774afa7
|
Provenance
The following attestation bundles were made for synth_ai-0.11.3-py3-none-any.whl:
Publisher:
publish-dev.yml on synth-laboratories/synth-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synth_ai-0.11.3-py3-none-any.whl -
Subject digest:
4104183fa8675cdeea7d5ec042362fa9469a325940a3f9a3903667249929b5df - Sigstore transparency entry: 1920551204
- Sigstore integration time:
-
Permalink:
synth-laboratories/synth-ai@11cf49c075227544f941610b813ead5d3e0c8fc7 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/synth-laboratories
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
publish-dev.yml@11cf49c075227544f941610b813ead5d3e0c8fc7 -
Trigger Event:
push
-
Statement type: