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.2.tar.gz (57.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.2-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.2.tar.gz
  • Upload date:
  • Size: 57.3 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.2.tar.gz
Algorithm Hash digest
SHA256 71dd7fa04ff65a1f3fcf6498f5965b34612b2d96a0d938956a3500d4c2d3cf1d
MD5 3b2796b1e468968e6b33b06d9ab1140a
BLAKE2b-256 bb408cc1cdbe0611e35e0d984cb03d54d11ffa620f19d4adfb005d9f5e711ef2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 50d6d26109c7d0ddb53337692ae10c8069142b02285201068def3811d6468c08
MD5 d3ba57da554acb98b5abefcbe47cb68f
BLAKE2b-256 cd416895bacce2305bbbc21c5808a60ec3d177ac01538b7bf60555c60781be1e

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