Skip to main content

Python SDK for the to11.ai platform

Project description

to11ai-sdk

Python SDK for to11.ai — the AI engineering platform for prompt management, tracing, and evals.

Installation

pip install to11ai-sdk
# or with uv
uv add to11ai-sdk

Getting started

from to11ai_sdk import create_client

client = create_client(
    base_url="https://api.to11.ai",
    api_key="...",
)

result = client.prompts.resolve(
    project_id="proj_abc123",
    slug="chat-system-prompt",
    labels=["production"],
    variables={"user_name": "Alice"},
)

print(result.rendered.text)  # "Hello, Alice!"

Features

  • Prompt resolution with label-based version selection and Liquid template rendering
  • Project label registry CRUD, reverse-lookup, and immutable event history
  • Typed errors for auth, rate limiting, validation, and network failures
  • Compatible with Python 3.10+

Project label registry

The project label registry is the source of truth for which labels exist on a project. Strict-mode projects reject move_label calls for labels that are not in the registry; the SDK surfaces those as a typed PromptLabelNotRegisteredError.

from to11ai_sdk import create_client, PromptLabelNotRegisteredError

client = create_client(base_url="https://api.to11.ai", api_key="...")

# Register a new label
client.prompts.create_project_label(
    project_id="proj_abc123",
    label="staging",
    is_default=False,
    description="rolling staging pointer",
    display_color="amber",
)

# List active labels
labels = client.prompts.list_project_labels(project_id="proj_abc123")

# List prompts currently pointed at by a label
usages = client.prompts.list_project_label_usages(
    project_id="proj_abc123", label="production",
)

# Inspect the immutable move history at any scope
events = client.prompts.list_label_events(
    scope="project", project_id="proj_abc123", limit=50,
)

# Strict-mode-friendly move
try:
    client.prompts.move_label(
        project_id="proj_abc123",
        prompt_id="prompt_xyz",
        label="production",
        version_id="ver_42",
        reason="promote to production",
    )
except PromptLabelNotRegisteredError as exc:
    # exc.project_id, exc.label carry the structured payload
    print(f"Register {exc.label!r} first")

update_project_label(description=None) means "leave unchanged"; pass description="" to clear it.

Documentation

Full API reference and guides: https://docs.to11.ai

License

MPL-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

to11ai_sdk-0.3.0.tar.gz (89.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

to11ai_sdk-0.3.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file to11ai_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: to11ai_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 89.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for to11ai_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2822fc802bb2d6dc27f7b301cd0252a251b86a97d65f5d8c338da2a309590fbc
MD5 557e76592b93374b05fbb9e7a168556d
BLAKE2b-256 227fbf2f42a4cdd6e0de1082650d9cfd82a3135348387e231985b8d030da23bf

See more details on using hashes here.

File details

Details for the file to11ai_sdk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: to11ai_sdk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for to11ai_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39f281a5aa2ec26e0422750811e3a7064bbf53310ec30a1965b21ed5ecb769c9
MD5 9e1a0b6d1046bb795eb31741251fb11c
BLAKE2b-256 962d15b5fcbf252c68fe31f75e0bf15df9ba4512a7717d74a0bc2e991b49385f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page