Skip to main content

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

evalytic-dashboard.vercel.app

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

evalytic_sdk-0.3.3.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evalytic_sdk-0.3.3-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

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

Hashes for evalytic_sdk-0.3.3.tar.gz
Algorithm Hash digest
SHA256 f21708ebeb6484b40ed26bbff57e83aef167b87a5ff267db1fcfa2bb9217d684
MD5 fb4f3d7df842f49d08ca2fcfda103d4c
BLAKE2b-256 41db6f776bba337aec3395d6d5b422f8238fc5a5cb503e108c6d9919eec5aebd

See more details on using hashes here.

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

Hashes for evalytic_sdk-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 33e549711c59a56664c4a53d76db0144aad775d5cdb5f10acb4977d6517f953f
MD5 8ece69db44167906d5d799975975f978
BLAKE2b-256 8711bd13e548ae09d25b1a2152e6f215832e119cc24c187d978a34b9e1bafd9d

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