Argus observability SDK for Python — tracks per-call cost and latency for Anthropic and OpenAI
Project description
buildit-argus
Track per-call LLM cost and latency for Python apps — powered by the Argus observability dashboard.
Zero dependencies. Works with Anthropic, OpenAI, or any provider via manual tracking.
Installation
pip install buildit-argus
Quick start
import argus
argus.init(
endpoint='https://api.buildit.sh',
api_key='bld_live_...', # Settings → API Keys on app.buildit.sh
)
Usage
Anthropic
Wrap your Anthropic client once — every messages.create call is tracked automatically.
import anthropic
import argus
argus.init(endpoint='https://api.buildit.sh', api_key='bld_live_...')
client = argus.wrap_anthropic(anthropic.Anthropic())
msg = client.messages.create(
model='claude-haiku-4-5-20251001',
max_tokens=1024,
messages=[{'role': 'user', 'content': 'Hello'}],
)
OpenAI
from openai import OpenAI
import argus
argus.init(endpoint='https://api.buildit.sh', api_key='bld_live_...')
client = argus.wrap_openai(OpenAI())
res = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Hello'}],
)
Manual tracking
result = argus.track(
provider='my-provider',
model='my-model-v1',
fn=lambda: my_llm_call(),
op_name='chat', # optional label shown in dashboard
)
API
argus.init(endpoint, api_key)
| Param | Default | Description |
|---|---|---|
endpoint |
ARGUS_ENDPOINT env var |
Your Argus ingest URL |
api_key |
ARGUS_KEY env var |
API key from buildit.sh |
argus.wrap_anthropic(client)
Patches client.messages.create to auto-track every call. Returns the same client.
argus.wrap_openai(client)
Patches client.chat.completions.create to auto-track every call. Returns the same client.
argus.track(provider, model, fn, op_name, options)
| Param | Type | Description |
|---|---|---|
provider |
str |
Provider name (e.g. anthropic, openai) |
model |
str |
Model ID |
fn |
callable |
The call to wrap |
op_name |
str |
Optional label shown in dashboard |
options |
list |
Optional feature flags |
Environment variables
export ARGUS_ENDPOINT=https://api.buildit.sh
export ARGUS_KEY=bld_live_...
If set, you don't need to call argus.init().
Get an API key
- Sign in at app.buildit.sh
- Go to Settings → API Keys
- Click Create key
- Pass it to
argus.init()or setARGUS_KEYin your environment
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file buildit_argus-0.1.0.tar.gz.
File metadata
- Download URL: buildit_argus-0.1.0.tar.gz
- Upload date:
- Size: 3.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f9f759c09e115d7c39745ca349a99decd0ae60500a83c803a18f573c9e2379e
|
|
| MD5 |
f8f170004e2f9771139c490db22e8d4d
|
|
| BLAKE2b-256 |
7f239c64d5b6b614cdb3c9ae84dc5275ec303adc9a2e4c68df3ffc865b6c8a45
|
File details
Details for the file buildit_argus-0.1.0-py3-none-any.whl.
File metadata
- Download URL: buildit_argus-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa7c8ed6f1be262168ce01750bfad1855f260d37062af8778a6f84334ce36287
|
|
| MD5 |
e800c46efb25cb6a4db50b9fb2e2fd2d
|
|
| BLAKE2b-256 |
a4d5bdbd6cca9d5ae472cae71750cfd6dfcfdaf0cc01c0a0b717277a6cd6ed8c
|