Testing and Observability SDK for AI Agents
Project description
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
pip install cekura
LiveKit Integration
Setup
- Create a new agent in the Cekura dashboard
- Select LiveKit as the provider in agent settings
- Enable tracing for your agent
- Copy your API key and Agent ID
Quick Start
import os
from livekit import agents
from cekura.livekit import LiveKitTracer
# Initialize Cekura tracer
cekura = LiveKitTracer(
api_key=os.getenv("CEKURA_API_KEY"),
agent_id=123
)
@server.rtc_session(agent_name="my_agent")
async def entrypoint(ctx: agents.JobContext):
# Create your assistant and session
assistant = YourAssistant()
session = agents.AgentSession(...)
# Track session with Cekura for simulation calls (includes mock tool injection)
await cekura.track_session(ctx, session, assistant)
# Send call with audio to Cekura for observability
await cekura.observe_session(ctx, session)
# Start your session
await session.start(room=ctx.room, agent=assistant)
Next Steps
After integrating the SDK, you can:
- Run tests from the Cekura platform
- Monitor real-time conversations
- Analyze performance metrics
- Review conversation transcripts and tool calls
Features
- One-Line Integration: Simple one line API for seamless integration for both simulation calls and observability
- Automatic Metrics Collection: Captures STT, LLM, TTS, and End-of-Utterance metrics
- Dual-Channel Audio Recording: Records production calls with dual audio channel for analysis
- Conversation Tracking: Records complete chat history with tool calls
- Mock Tool Injection: Automatically replaces tools with mock versions configured in Cekura dashboard for simulation calls
- Session Reports: Generates comprehensive session reports from LiveKit
Mock Tools
The SDK automatically injects mock tools when running tests from the Cekura platform. Mock tools return predefined responses configured in the dashboard.
Setup:
- Create mock tools in the Cekura dashboard under your agent settings
- Define input/output pairs for each tool
- When tests run, the SDK automatically replaces matching tools with mocks
Configuration
Parameters
api_key(str, required): Your Cekura API keyagent_id(int, required): Unique identifier for your agent from Cekura dashboardhost(str, optional): API host URL (default:https://api.cekura.ai)enabled(bool, optional): Enable/disable tracer. Defaults toTrueif not set
Environment Variables
CEKURA_TRACING_ENABLED(default:"true"): Enable/disabletrack_session()for simulation callsCEKURA_OBSERVABILITY_ENABLED(default:"true"): Enable/disableobserve_session()for production call recordingCEKURA_MOCK_TOOLS_ENABLED(default:"true"): Enable/disable mock tool injection
Data Collected
The SDK automatically collects:
- Session start/end timestamps
- Complete conversation transcripts
- Tool/function calls and outputs
- Dual-channel audio recording for production calls
- Performance metrics:
- Speech-to-Text (STT) latency and duration
- LLM token usage and timing
- Text-to-Speech (TTS) generation time
- End-of-Utterance detection timing
- Room and job information
- Custom metadata
Requirements
- Python 3.9+
- aiohttp>=3.9.0
License
MIT License - see LICENSE file for details.
Links
Support
For support, email support@cekura.ai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cekura-1.1.0rc1.tar.gz.
File metadata
- Download URL: cekura-1.1.0rc1.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24275d89aa5775ab87644918c59ca77135c7e33a80223ec81a32590409b7ba4a
|
|
| MD5 |
4e1d02a600f8b3ccff347f92bf44fd13
|
|
| BLAKE2b-256 |
6138bdd14e2566c2961576b3cb927d0b96ec1ed35b8dc28de6d08908c60fdbeb
|
File details
Details for the file cekura-1.1.0rc1-py3-none-any.whl.
File metadata
- Download URL: cekura-1.1.0rc1-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
096f4cb0c6cff7010d5633ef9901d828d7ca81efa64b71e53550b007208fb81c
|
|
| MD5 |
edfb50ac45a68af340132379e58c83ba
|
|
| BLAKE2b-256 |
93ebeaf4c3ef2a80b7d8cb4a7dd29859d3454ef9a2623399fd8bcd1ae8294d52
|