Metadata-Version: 2.4
Name: cekura
Version: 1.4.1
Summary: Testing and Observability SDK for AI Agents — tracing, API client, and CLI
Author-email: Cekura <support@cekura.ai>
License-Expression: MIT
Project-URL: Homepage, https://cekura.ai
Project-URL: Documentation, https://docs.cekura.ai
Project-URL: Dashboard, https://dashboard.cekura.ai
Keywords: observability,ai-agents,livekit,monitoring,tracing,testing,cli,sdk
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.9.0
Provides-Extra: sdk
Requires-Dist: httpx>=0.27.0; extra == "sdk"
Provides-Extra: cli
Requires-Dist: httpx>=0.27.0; extra == "cli"
Requires-Dist: typer>=0.12.0; extra == "cli"
Requires-Dist: rich>=13.0.0; extra == "cli"
Provides-Extra: livekit
Provides-Extra: pipecat
Requires-Dist: aiobotocore>=2.23.0; extra == "pipecat"
Requires-Dist: loguru>=0.7.0; extra == "pipecat"
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.20.0; extra == "pipecat"
Provides-Extra: dev
Requires-Dist: httpx>=0.27.0; extra == "dev"
Requires-Dist: typer>=0.12.0; extra == "dev"
Requires-Dist: rich>=13.0.0; extra == "dev"
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Dynamic: license-file

# Cekura Python SDK

**Testing and Observability for AI Voice Agents. Launch in minutes not weeks by ensuring your agents deliver a seamless experience in every conversational scenario.**

## Installation

```bash
pip install cekura
```

## SDK

The Python SDK provides a sync and async API client for the Cekura platform.

```bash
pip install cekura[sdk]
```

```python
from cekura import Cekura

client = Cekura(api_key="your-api-key")

# List agents
agents = client.agents.list()

# Get a specific agent
agent = client.agents.get(agent_id=123)

# List scenarios for a project
scenarios = client.scenarios.list(project_id=42)
```

For async usage:

```python
from cekura import AsyncCekura

async with AsyncCekura(api_key="your-api-key") as client:
    agents = await client.agents.list()
```

See the [API documentation](https://docs.cekura.ai) for the full resource reference.

## CLI

The CLI lets you manage agents, scenarios, metrics, and test runs from the terminal.

```bash
pip install cekura[cli]
```

```bash
# Authenticate
cekura auth login

# List your agents
cekura agents list

# Start a test run
cekura run start --agent-id 123 --scenario-id 456

# Stream run progress
cekura run watch <run-id>
```

[→ CLI Reference Guide](cekura/cli/README.md)

## Integrations

### LiveKit
- One-line integration for simulation and observability
- Automatic metrics collection (STT, LLM, TTS, EOU)
- Session logs capture
- Mock tool injection for testing
- Dual-channel audio recording

[→ LiveKit Integration Guide](cekura/livekit/README.md)

### Pipecat
- Automatic transcript capture with timestamps
- Audio recording with S3 upload
- Built-in OpenTelemetry tracing (conversation, turn, STT/LLM/TTS spans)
- Session logs capture
- Minimal 3-line integration

[→ Pipecat Integration Guide](cekura/pipecat/README.md)

## Requirements

- Python 3.9+
- aiohttp>=3.9.0

## License

MIT License - see [LICENSE](LICENSE) file for details.

## Links

- [Homepage](https://cekura.ai)
- [Documentation](https://docs.cekura.ai)
- [Dashboard](https://dashboard.cekura.ai)

## Support

For support, email support@cekura.ai
