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.0.tar.gz (54.8 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.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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.0.tar.gz
Algorithm Hash digest
SHA256 6c471ac3d853def992d42270287a3e88afcecd4273ad3f3bf4e089f74eabe6c1
MD5 fe6c35b368d5fa9611017b6616718f9f
BLAKE2b-256 2473336de379e245f14f72eaeed9b7ace39ff047c0c7f0f84820aaef1d085a99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: voiceeval_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e4162d763b7266ec3b75add366fb846c8618d723722c40f63887f09866d6a61
MD5 db59b660d843d8ea053fb57556a1edb9
BLAKE2b-256 1a77c9ef4c0339140eab4af51a8598c433c1316da6645707e15f7fc7d1b4de22

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