Metadata-Version: 2.4
Name: sovara
Version: 0.4.10
Summary: Python SDK for Sovara agent observability and runtime instrumentation
Project-URL: Documentation, https://docs.sovara-labs.com
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: dill
Requires-Dist: filelock
Requires-Dist: flatten_dict
Requires-Dist: flatten_json
Requires-Dist: httpx
Requires-Dist: jsonpickle>=4.1.1
Requires-Dist: pydantic
Provides-Extra: examples
Requires-Dist: openai; extra == "examples"
Requires-Dist: anthropic; extra == "examples"
Requires-Dist: openai-agents; extra == "examples"
Requires-Dist: google-genai; extra == "examples"
Requires-Dist: claude-agent-sdk; extra == "examples"

# Sovara Python SDK

The `sovara` package instruments Python agents so Sovara can record LLM calls,
tool calls, logs, and custom trace spans.

Install it in the Python environment where your agent runs:

```bash
python -m pip install sovara
```

Or with `uv`:

```bash
uv add sovara
```

Create a project-bound client and use it to record runs:

```python
from sovara import SovaraClient

sovara_client = SovaraClient(project_name="My Project")

with sovara_client.run("support-agent"):
    run_agent()
```

For a remote/headless agent, pass the exec server and project token directly:

```python
import os

sovara_client = SovaraClient(
    project_name="My Project",
    base_url="https://exec.example.com",
    agent_token=os.environ["SOVARA_AGENT_TOKEN"],
)
```

`http_client=` optionally accepts a caller-owned synchronous `httpx.Client`
for custom proxy, certificate, or transport behavior. Sovara does not close it.

The terminal command is distributed separately as the native Sovara CLI. Install
that CLI for commands such as `sovara record`, `sovara status`, and
`sovara probe`.

Documentation: https://docs.sovara-labs.com
