Skip to main content

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

  1. Create a new agent in the Cekura dashboard
  2. Select LiveKit as the provider in agent settings
  3. Enable tracing for your agent
  4. 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:

  1. Create mock tools in the Cekura dashboard under your agent settings
  2. Define input/output pairs for each tool
  3. When tests run, the SDK automatically replaces matching tools with mocks

Configuration

Parameters

  • api_key (str, required): Your Cekura API key
  • agent_id (int, required): Unique identifier for your agent from Cekura dashboard
  • host (str, optional): API host URL (default: https://api.cekura.ai)
  • enabled (bool, optional): Enable/disable tracer. Defaults to True if not set

Environment Variables

  • CEKURA_TRACING_ENABLED (default: "true"): Enable/disable track_session() for simulation calls
  • CEKURA_OBSERVABILITY_ENABLED (default: "true"): Enable/disable observe_session() for production call recording
  • CEKURA_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cekura-1.1.0rc1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cekura-1.1.0rc1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

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

Hashes for cekura-1.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 24275d89aa5775ab87644918c59ca77135c7e33a80223ec81a32590409b7ba4a
MD5 4e1d02a600f8b3ccff347f92bf44fd13
BLAKE2b-256 6138bdd14e2566c2961576b3cb927d0b96ec1ed35b8dc28de6d08908c60fdbeb

See more details on using hashes here.

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

Hashes for cekura-1.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 096f4cb0c6cff7010d5633ef9901d828d7ca81efa64b71e53550b007208fb81c
MD5 edfb50ac45a68af340132379e58c83ba
BLAKE2b-256 93ebeaf4c3ef2a80b7d8cb4a7dd29859d3454ef9a2623399fd8bcd1ae8294d52

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page