Skip to main content

Production-grade AI application observability SDK — monitor every LLM call automatically

Project description

ObservIQ SDK

PostHog for AI agents. Monitor every LLM call in production — automatically.

PyPI version Python 3.9+ License: MIT

What is ObservIQ?

ObservIQ is a production-grade AI observability platform. Add 2 lines of code to any AI application and instantly get:

  • ✅ Real-time trace monitoring — every LLM call recorded
  • ✅ Cost tracking — per feature, per user, per model
  • ✅ Latency analytics — p50, p95, p99 breakdowns
  • ✅ AI-powered anomaly detection — Groq detects issues automatically
  • ✅ Multi-tenant — isolate data per team with API keys

Installation

pip install observiq-sdk

Quick Start

from groq import Groq
from observiq_sdk import ObservIQ

# Setup
groq_client = Groq(api_key="your-groq-key")
oiq = ObservIQ(
    api_key="oiq_your_key_here",
    base_url="https://api.observiq.io"  # or http://localhost:8000
)

# Wrap your AI function — that's it!
response = oiq.trace(groq_client.chat.completions.create)(
    model="llama-3.3-70b-versatile",
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)
# Trace automatically saved to ObservIQ dashboard ✅

Supported Providers

Provider Status
Groq ✅ Supported
OpenAI ✅ Supported
Anthropic ✅ Supported
Any OpenAI-compatible API ✅ Supported

Features

Automatic Capture

ObservIQ automatically captures:

  • Model name
  • Input prompt (first 1000 chars)
  • Output response (first 1000 chars)
  • Latency (ms)
  • Token usage (prompt + completion)
  • Cost (USD) — calculated per model pricing
  • Status (success/error)
  • Error messages

Feature Tracking

response = oiq.trace(
    groq_client.chat.completions.create,
    feature_name="customer_support",   # track by feature
    user_identifier="user_123"         # track by user
)(model="llama-3.3-70b-versatile", messages=[...])

Error Tracking

Errors are automatically captured — no extra code needed:

try:
    response = oiq.trace(groq_client.chat.completions.create)(...)
except Exception as e:
    # ObservIQ already logged this error trace
    raise

Disable in Tests

oiq = ObservIQ(
    api_key="oiq_xxx",
    enabled=False  # No traces sent in test environment
)

Dashboard

View all your traces at observiq.io

License

MIT © 2026 ObservIQ

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

observiq_sdk-0.1.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

observiq_sdk-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: observiq_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for observiq_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f78cbbebff24f75f8ec460d9efaeb77dfcb150fd72227f45235e3e8ee4898b7b
MD5 87353e29e82b2af6db3956003e9c3ef6
BLAKE2b-256 e18ee286c32c7e2cc8574f2158fff33c1f95f90027302391d2cdb4e243e53284

See more details on using hashes here.

File details

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

File metadata

  • Download URL: observiq_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for observiq_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ac8ac935d082b31cd6d7c7ae5e7c6d94d08b067bd05457cf55f5b6351b67f9c
MD5 3b9e63cf90304485f5edf7404ee13563
BLAKE2b-256 5ededcc517cdf3fba437b0cf1cdc123f97a31051bb2ec3644d231736f725b152

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