Skip to main content

Enterprise-grade Observability and Evaluation SDK for Voice Agents

Project description

VoiceEval SDK (Python)

Python License OpenTelemetry

VoiceEval is an enterprise-grade observability and evaluation SDK designed specifically for Voice Agents and LLM-powered applications. It provides detailed tracing, latency breakdown, and cost analysis with zero configuration.

🚀 Key Features

  • 🔎 Zero-Config Auto-Instrumentation: Automatically detects and traces calls from major LLM providers (OpenAI, Anthropic, Google Gemini) without any code changes.
  • 🛡️ Secure Ingestion Proxy: All traces are sent through a secure proxy (server/), separating your application logic from downstream observability backends (like Langfuse). This ensures you maintain full control over your data and API keys.
  • ⚡ High Performance: Built on top of OpenTelemetry, utilizing efficient asynchronous Batch exports (OTLP/HTTP) to ensure negligible runtime overhead.
  • 🧩 Standardized Data Model: Uses standard OTel semantic conventions, making your data portable and interoperable with any OTel-compatible backend.

📦 Installation

Install the SDK via pip (or uv):

pip install voiceeval-sdk
# or
uv add voiceeval-sdk

For local development:

git clone https://github.com/voiceeval/voiceeval-sdk.git
cd voiceeval-sdk
pip install -e .

🏁 Quickstart

1. Initialize the Client

Initialize the Client at the start of your application. This single line sets up the OTel exporter and enables auto-instrumentation for all installed LLM libraries.

from voiceeval import Client

# Initialize SDK - connects to your local proxy or prod endpoint
client = Client(
    api_key="your_voiceeval_api_key",  # or set VOICE_EVAL_API_KEY env var
    base_url="http://api.voiceeval.com/v1/traces"
)

2. Run Your Agent

That's it! Any calls to supported libraries like openai or anthropic are now automatically traced.

from openai import OpenAI

# No manual wrapping needed!
client_openai = OpenAI()
response = client_openai.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello world"}]
)

3. Manual Tracing (Optional)

For functions that don't call LLMs (like your business logic or RAG pipeline), use the @observe decorator:

from voiceeval import observe

@observe(name_override="rag_retrieval")
def retrieve_documents(query: str):
    # Your complex logic here
    return docs

🔌 Supported Providers

The SDK automatically instruments the following libraries if they are found in your environment:

Provider Library Status
OpenAI openai ✅ Auto-Instrumented
Anthropic anthropic ✅ Auto-Instrumented
Google Gemini google-generativeai ✅ Auto-Instrumented

Note: If a library is not installed, the SDK gracefully skips it.

📄 License

MIT

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

voiceeval_sdk-0.1.3.tar.gz (57.4 kB view details)

Uploaded Source

Built Distribution

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

voiceeval_sdk-0.1.3-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file voiceeval_sdk-0.1.3.tar.gz.

File metadata

  • Download URL: voiceeval_sdk-0.1.3.tar.gz
  • Upload date:
  • Size: 57.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for voiceeval_sdk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0a17cfbd35ee9f0b2780d076917ae298e2afda1d081498b6d1b38ff5a366f835
MD5 98d9b6f9a5ace29e8714e0dd7e385a9c
BLAKE2b-256 a26c5ea3e3635b8155faad70d94427787e6dc25b5c40d3707b5c0217e49cc5e2

See more details on using hashes here.

File details

Details for the file voiceeval_sdk-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: voiceeval_sdk-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for voiceeval_sdk-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8b40aff8fb7af725ab531da2e27cebf385fcc63db2953c1d98dc1ba02ba30e25
MD5 5fad285b1317c140b41f326a8b34b9f7
BLAKE2b-256 e5faece8cdc8e01b960c894cfd690cd8c35ce17a93d7d2aa9798523846cee86e

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