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-1.1.0.tar.gz (104.5 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-1.1.0-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: to11ai_sdk-1.1.0.tar.gz
  • Upload date:
  • Size: 104.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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-1.1.0.tar.gz
Algorithm Hash digest
SHA256 59406a3de657de6d27b0bc11827872bdeb95d91fe57ceccaf712e8809f814fee
MD5 a9e8403b9c4c174026f6890fec66ce1b
BLAKE2b-256 73ced645d846538cb20dc83b57f0e4d584fe339597676eae84e5559b18b3094c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: to11ai_sdk-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 44.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d81d36ce8b73d9e60cf85b9a73c7f2f646fa6d3f7e531badfcd33dfe4090e329
MD5 9627e26412df5f19ec997f4cff88b01b
BLAKE2b-256 82d4c49aa68b676b74ca7bb3297a2e0d8acd4410deaf9a4701ae21c692da3c74

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