Skip to main content

Drop-in cost tracking for the Anthropic Python SDK — see exactly where your LLM spend goes.

Project description

useleak (python)

Drop-in cost tracking for the Anthropic Python SDK. See exactly where your LLM spend goes — broken down by feature, user, and model.

Install

pip install useleak

Usage

Get a workspace SDK key from Settings → Workspace SDK key in your Leak dashboard. Set it as LEAK_KEY in your env (alongside ANTHROPIC_API_KEY).

import os
from useleak import Anthropic

client = Anthropic()  # picks up ANTHROPIC_API_KEY + LEAK_KEY from env

response = client.messages.create(
    model="claude-opus-4-7",
    feature="icp-scoring",     # ← the one extra param Leak needs
    user="user_123",            # optional but lets you group by customer
    max_tokens=1024,
    messages=[{"role": "user", "content": "..."}],
)

print(response.content[0].text)

That's it. Every call gets tracked to your Leak dashboard within a few seconds: model, tokens in/out, cost, feature, user, request ID.

API

useleak.Anthropic accepts every kwarg the official anthropic.Anthropic accepts, plus two of its own:

Parameter Default Description
leak_key LEAK_KEY env Your workspace SDK key (lk_live_...)
leak_url https://useleak.cloud/api/ingest Ingest endpoint, override only if self-hosting

client.messages.create(...) accepts every kwarg the Anthropic SDK accepts, plus three of its own:

Parameter Required Description
feature recommended The feature in your app that triggered this call ("icp-scoring", "playground", etc.)
user optional An end-user identifier — lets you see who is burning tokens
api_key_label optional Free-form label like "Production" / "Staging"

Tracking is async and non-blocking. If useleak.cloud is down, your Anthropic call still succeeds — Leak failures never propagate.

What it tracks

  • model
  • input tokens / output tokens
  • USD cost (computed locally from the Anthropic price table)
  • feature, user, api_key_label (your tags)
  • Anthropic request ID

It does not send prompts, responses, or any message content.

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

useleak-0.1.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

useleak-0.1.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for useleak-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b7ad964c063bbb9e0a607be68e339f925e667814df37183defe3269f9f57ff11
MD5 7925c2d92b81594b12b344ad49a33799
BLAKE2b-256 31f50c41c11d8d93e640e2a48a3542d4edfcde9b8e47aab8f0eb71678f1ba5d4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for useleak-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83e2fe6cade4aac11a55f64ced3a6ea5e24d10a9da1cbf70dea9e021e382bb3a
MD5 c1f49919372c839d96976df835a622b8
BLAKE2b-256 b47857f4dfc5929af0f0e6d01861b0cbad940c86b1b880906d3d2d83cad34d30

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