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 (automatic tool injection and export)
await cekura.track_session(ctx, session, assistant)
# 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
track_session()API for seamless integration - Automatic Metrics Collection: Captures STT, LLM, TTS, and End-of-Utterance metrics
- Conversation Tracking: Records complete chat history with tool calls
- Mock Tool Injection: Automatically replaces tools with mock versions configured in Cekura dashboard
- 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 tracing. Defaults toCEKURA_TRACING_ENABLEDenv var ("true" if not set)
Environment Variables
CEKURA_TRACING_ENABLED(default:"true"): Enable/disable session tracingCEKURA_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
- 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.0.0rc2.tar.gz.
File metadata
- Download URL: cekura-1.0.0rc2.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81fa4d3512409ee5ddf02a3de9a256d15b087e3387419c52ef5263bd9fe2e2a9
|
|
| MD5 |
b78388dfdf400ffcca1ce239b4d148ad
|
|
| BLAKE2b-256 |
208b62e06a9ed6a41c1f69eea343c72457cf63200f90cddb6bca41c0bf3bee67
|
File details
Details for the file cekura-1.0.0rc2-py3-none-any.whl.
File metadata
- Download URL: cekura-1.0.0rc2-py3-none-any.whl
- Upload date:
- Size: 11.2 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 |
e280a9158b8fcc5f1aca2678d6b35b1fd3ebb8a944f5644fedb11ce49aadc0de
|
|
| MD5 |
209b16f9693d80a67d28cd3589add2de
|
|
| BLAKE2b-256 |
c55ad011c8a641dcaa5c7f74a9f81e2dc5a6eb0e76f0451fa0ebf3f23a6207b9
|