SonnyLabsClient
The main sonnylabs client class — constructor, scan methods, identity and API-key endpoints, and the underlying httpx transport hook.
SonnyLabsClient is the main entry point exported from sonnylabs. It
wraps httpx against the v1 OpenAPI schema, layers in authentication,
idempotency, retry-on-429/503, and translates
application/problem+json responses into the typed
exception hierarchy.
import os
from sonnylabs import SonnyLabsClient
client = SonnyLabsClient(api_key=os.environ["SONNY_API_KEY"])The full set of constructor arguments lives on its own page: Constructor options.
Methods
Prop
Type
Methods listed as raising
NotImplementedErrorare stubs for operations declared in the OpenAPI spec that the hand-rolled client has not implemented yet — they will be filled in by the codegen pass tracked in the Python SDK codegen issue. Until then, calling them raisesNotImplementedErrorso call sites get a clear failure mode rather than a silentAttributeError.
Lifecycle
SonnyLabsClient holds an httpx.Client connection pool. Use it as a
context manager so the pool is released deterministically, or call
.close() from a teardown hook:
with SonnyLabsClient(api_key=os.environ["SONNY_API_KEY"]) as client:
scan = client.create_scan(
surface="user_message",
content={"type": "text", "text": user_prompt},
)USER_AGENT
USER_AGENT is the string the SDK sends on the User-Agent header of
every request. Useful for surfacing the SDK version in your own logs:
from sonnylabs.client import USER_AGENT
print(USER_AGENT)
# sonnylabs-python/0.1.0 httpx/0.27.0Python SDK reference
Auto-generated symbol reference for sonnylabs (PyPI) — every public class, method, options bag, exception subclass, and helper, rendered from the docstrings on the source.
Constructor options
Constructor arguments for SonnyLabsClient — api_key, base_url, api_version, timeout_s, max_retries, and the httpx transport injection point.