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.6.tar.gz (69.5 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.6-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.6.tar.gz
  • Upload date:
  • Size: 69.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.1 {"installer":{"name":"uv","version":"0.10.1","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.6.tar.gz
Algorithm Hash digest
SHA256 9cd02d8fc05649f342af41b4190c544cd03d4700b3944e865d7ecdc797111585
MD5 06fbf6918b14b7d69bd8a631812ad928
BLAKE2b-256 e7a325ade22cc992eeda0b96960ba5acc19ba693afc9781fd87e98da2dbb84c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.1 {"installer":{"name":"uv","version":"0.10.1","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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6d02175867f48e6187e1c829156a64acd58a7a6351f810cec530c831bd4bfea7
MD5 3c5ac71d357e8a1704ac0627a6972d0b
BLAKE2b-256 a1cbc09f2f9bb931eba37323e436bafdea60d5e518e72fedb9ee9b7fbdbd98b8

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