Zero-throw LLM observability SDK for OpenAI, Anthropic, Gemini, Groq, Mistral, and Cohere
Project description
Evalytic Python SDK
Zero-throw LLM observability — one line of code, full visibility into every call.
Install
pip install evalytic-sdk
Quickstart
Set your API key (get one at evalytic-dashboard.vercel.app):
export EVALYTIC_API_KEY=evl_...
from evalytic import wrap
import anthropic
client = wrap(anthropic.Anthropic())
response = client.messages.create(...) # all calls are automatically logged
That's it. No init, no config, no boilerplate.
Per-user tracking
Pass a user ID to attribute calls to specific users. The dashboard groups calls by user and shows per-user cost, call count, and last-seen time.
from evalytic import wrap
import anthropic
# Attach a user to this client — every call made with it is attributed to that user
client = wrap(anthropic.Anthropic(), user=request.user_id)
response = client.messages.create(...)
# Attach extra context via metadata
client = wrap(anthropic.Anthropic(), user=request.user_id, metadata={"plan": "pro", "env": "production"})
Supported providers
from evalytic import wrap
# Anthropic
import anthropic
client = wrap(anthropic.Anthropic())
# OpenAI
from openai import OpenAI
client = wrap(OpenAI())
# Groq
from groq import Groq
client = wrap(Groq())
# Mistral
from mistralai import Mistral
client = wrap(Mistral(api_key="..."))
# Cohere
import cohere
client = wrap(cohere.Client("..."))
# Google Gemini (new SDK)
from google import genai
client = wrap(genai.Client(api_key="..."))
# Google Gemini (legacy SDK)
import google.generativeai as genai
model = wrap(genai.GenerativeModel("gemini-2.0-flash"))
Server apps
For long-running servers, call configure() once at startup to control batching:
import evalytic
evalytic.configure() # reads EVALYTIC_API_KEY from env
# Then use wrap() anywhere
from evalytic import wrap
client = wrap(anthropic.Anthropic(), user=user_id)
Config file
Create .evalytic in your project root as an alternative to environment variables:
EVALYTIC_API_KEY=evl_...
Dashboard
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evalytic_sdk-0.3.3.tar.gz.
File metadata
- Download URL: evalytic_sdk-0.3.3.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f21708ebeb6484b40ed26bbff57e83aef167b87a5ff267db1fcfa2bb9217d684
|
|
| MD5 |
fb4f3d7df842f49d08ca2fcfda103d4c
|
|
| BLAKE2b-256 |
41db6f776bba337aec3395d6d5b422f8238fc5a5cb503e108c6d9919eec5aebd
|
File details
Details for the file evalytic_sdk-0.3.3-py3-none-any.whl.
File metadata
- Download URL: evalytic_sdk-0.3.3-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33e549711c59a56664c4a53d76db0144aad775d5cdb5f10acb4977d6517f953f
|
|
| MD5 |
8ece69db44167906d5d799975975f978
|
|
| BLAKE2b-256 |
8711bd13e548ae09d25b1a2152e6f215832e119cc24c187d978a34b9e1bafd9d
|