Skip to main content
The Python SDK installs from PyPI as agentmeter-ai and imports as agentmeter.
pip install agentmeter-ai

Initialize

import os
import agentmeter

agentmeter.init(api_key=os.environ["AGENTMETER_API_KEY"])
You can pass endpoint for self-hosted deployments. Omit it for AgentMeter Cloud.

Auto-instrumentation

Importing agentmeter patches supported provider clients in the host process. Current coverage:
  • OpenAI.
  • Anthropic.
Captured fields include provider, model, tokens in, tokens out, latency, status, customer_id, and step_name when a tracking context is active.

Tracking context

from agentmeter import track_context

with track_context(customer_id="acme-corp", step_name="draft_reply"):
    response = openai_client.chat.completions.create(
        model="gpt-4o-mini",
        messages=messages,
    )
track_context uses Python context variables so metadata follows async work without manual argument threading.

Non-LLM usage

from agentmeter import report_usage

report_usage(
    customer_id="acme-corp",
    step_name="speak_answer",
    metric="characters",
    metric_value=4200,
)
Report raw usage, not dollars. AgentMeter applies pricing on the server.

Budget hard stops

import agentmeter
from agentmeter import AgentMeterBudgetExceeded

agentmeter.init(api_key=os.environ["AGENTMETER_API_KEY"])

try:
    response = openai_client.chat.completions.create(...)
except AgentMeterBudgetExceeded:
    response = cached_or_smaller_response()
SDK errors fail open unless an active, cached rule intentionally blocks the call.

Webhook verification

from agentmeter import verify_webhook

ok = verify_webhook(
    raw_body,
    signature_header,
    webhook_secret,
    timestamp_header,
)
The helper accepts raw hex signatures and sha256= prefixed signatures.