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.5.tar.gz (67.3 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.5-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.5.tar.gz
  • Upload date:
  • Size: 67.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","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.5.tar.gz
Algorithm Hash digest
SHA256 08cea5054fbf4819d0e77b46e21a3d3f89a2df5f94abfdff76ad8f8e15a74a95
MD5 05d92335140959105d8aa3de3d2b3450
BLAKE2b-256 de755c71ca483da5f5b7fb2cc82fe81195e2a73b17b43ae61308bb00f9e4f0ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2dfebe2a1cb2e4e632e5816c16dded29012ddcbc983904a239f335fa267a4e8e
MD5 732fdceeebd7f0face84fb9bbbb2b94a
BLAKE2b-256 51ef821e6cb7cc0ffad49d117f836a1a4d80779d61d8e1f7c4a2bdc6aeca5cad

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