Skip to main content

agent-meter

Lightweight Python SDK to track AI agent tool calls, costs, and latency.

Install

pip install agentmeter-obs
# or
pip install dnorio-agent-meter

# From source:
cd sdk/python && python3 -m pip install -e .

Quick Start (60 seconds)

from agent_meter import AgentMeter

# Initialize (picks up AGENT_METER_API_KEY from env)
am = AgentMeter(api_key="am_live_...")

# Track a tool call
span = am.track("web_search", model="gpt-4o")
result = do_web_search(query)
span.finish()

# Track with tokens/cost
span = am.track("code_review", model="claude-sonnet-4-20250514")
span.estimated_input_tokens = 2000
span.estimated_output_tokens = 500
span.usd_cost = 0.012
span.finish()

# Flush happens automatically every 5s, or on exit
# Force flush:
am.flush()

Configuration

Env Variable Description Default
AGENT_METER_API_KEY API key (am_live_...) —
AGENT_METER_ENDPOINT Server URL http://localhost:8081
AGENT_METER_IDE IDE identifier python-sdk
AGENT_METER_AGENT Agent name —

Or pass directly:

am = AgentMeter(
    api_key="am_live_...",
    endpoint="http://localhost:3000",
    ide="my-custom-agent",
    agent="research-bot",
)

Context Manager

import contextlib

@contextlib.contextmanager
def tracked(am, tool_name, **kwargs):
    span = am.track(tool_name, **kwargs)
    try:
        yield span
    except Exception as e:
        span.finish(ok=False, error=str(e))
        raise
    else:
        span.finish()

# Usage
with tracked(am, "database_query", model="gpt-4o") as span:
    results = db.execute(sql)
    span.estimated_input_tokens = len(sql) // 4

Conversations & Tasks

Group spans into conversations (sessions) and tasks:

span = am.track(
    "generate_code",
    model="claude-sonnet-4-20250514",
    conversation_id="conv-abc123",
    task_id="implement-feature-x",
)

Protocol

The SDK sends spans as OTLP-compatible JSON to POST /v1/traces. This is the same format used by OpenTelemetry, making it compatible with any OTLP collector.

Metadata

Release files for dnorio-agent-meter 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dnorio-agent-meter 0.1.5
File Size Uploaded Provenance Actions
dnorio_agent_meter-0.1.5.tar.gz 4.9 kB Without provenance Details for dnorio_agent_meter-0.1.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dnorio-agent-meter 0.1.5
File Interpreter ABI Platform Actions
dnorio_agent_meter-0.1.5-py3-none-any.whl Python 3 none any Details for dnorio_agent_meter-0.1.5-py3-none-any.whl

Total release size: 10.4 kB

Release files / dnorio_agent_meter-0.1.5.tar.gz

Download URL dnorio_agent_meter-0.1.5.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e9809f198906d74d00c676dc900568bdc9c73e2beb2028214b848112ee1a562f
BLAKE2b-256 checksum
How to use checksums
eba34b40c39780e05d8535676842d6d26ea2a759a9993df45e935577def5ede7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / dnorio_agent_meter-0.1.5-py3-none-any.whl

Download URL dnorio_agent_meter-0.1.5-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b288f016308d444b155dcce9ce80bdfd03ea2bb032dca9a017accf5c8836fa2
BLAKE2b-256 checksum
How to use checksums
3ca2bb1e244d338f8d07c0c8681b0c3ade048c792cd311f0fb64eee71691c1af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Security for dnorio-agent-meter 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page