Production monitoring SDK for AI agents
Project description
AgentWatch Python SDK
Production monitoring for AI agents: rule-based checks on every trace, optional LLM judge analysis when a step is flagged, plus async delivery to your AgentWatch API.
Install
pip install agentwatch-io
From a clone of this repo (editable / dev):
pip install -e ./agentwatch-sdk
Import name is always agentwatch after either install.
Quick start
import agentwatch
import openai
agentwatch.init(
api_key="aw_...", # Dashboard → API Keys
server_url="http://localhost:8000",
agent_name="my-agent",
)
client = agentwatch.watch(openai.OpenAI())
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Hello"}],
)
init alone does not trace calls — you must use watch(client) (or a patched default client) so requests go through the wrapper.
LLM analysis (optional judge)
When rule checks flag a trace, the server can call your OpenAI, Anthropic, or Groq API with a judge prompt. Enable in init:
import os
agentwatch.init(
api_key="aw_...",
server_url="https://your-api.example.com",
agent_name="my-agent",
deep_analysis=True,
llm_provider="openai",
llm_api_key=os.environ["OPENAI_API_KEY"],
llm_model="gpt-4o-mini",
)
Your LLM key is sent only to your provider from the API process; AgentWatch does not log or store it.
Parameters
| Parameter | Description |
|---|---|
api_key |
AgentWatch key (aw_...). |
server_url |
FastAPI base URL. |
agent_name |
Shown in dashboard. |
deep_analysis |
Enable LLM judge on flagged traces. |
llm_provider |
"openai", "anthropic", or "groq". |
llm_api_key |
Provider key for judge (including Groq). |
groq_api_key |
Optional; same as putting the Groq key in llm_api_key. |
llm_model |
Optional model override. |
content_mode |
If True, server runs extra content-creation checks (repetition, length, injection phrases, off-topic heuristic). |
redact_fields |
Field names to redact in trace text. |
silent |
Suppress stdout from init. |
Anthropic
import anthropic
agentwatch.init(api_key="aw_...", server_url="...", agent_name="bot")
client = agentwatch.watch(anthropic.Anthropic())
client.messages.create(model="claude-3-5-haiku-20241022", max_tokens=256, messages=[...])
Groq
Install Groq’s Python SDK (pip install groq). The client is OpenAI-compatible for chat.completions:
import os
import agentwatch
from groq import Groq
agentwatch.init(
api_key="aw_...",
server_url="http://localhost:8000",
agent_name="content-generator",
deep_analysis=True,
llm_provider="groq",
llm_api_key=os.environ["GROQ_API_KEY"],
llm_model="llama-3.3-70b-versatile",
)
client = agentwatch.watch(Groq())
client.chat.completions.create(
model="llama-3.3-70b-versatile",
messages=[{"role": "user", "content": "Write a short paragraph about Python."}],
)
Full documentation
See the Documentation page in the AgentWatch dashboard (/docs) for architecture, runs, alerts, and dashboard setup.
Project details
Release history Release notifications | RSS feed
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 agentwatch_io-0.1.0.tar.gz.
File metadata
- Download URL: agentwatch_io-0.1.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b9a321b03670235490ed9c774cd4afab6519c7a48d71e2093d4e178a36ba045
|
|
| MD5 |
65ba5773a6fdac8325ca190dcc3c1fa1
|
|
| BLAKE2b-256 |
ae470fae744745c3266677973d76816130640219ec5851cb0bd037eed478f413
|
Provenance
The following attestation bundles were made for agentwatch_io-0.1.0.tar.gz:
Publisher:
workflow.yml on Harshvardhan4134/AG
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentwatch_io-0.1.0.tar.gz -
Subject digest:
8b9a321b03670235490ed9c774cd4afab6519c7a48d71e2093d4e178a36ba045 - Sigstore transparency entry: 1244287825
- Sigstore integration time:
-
Permalink:
Harshvardhan4134/AG@de71e3d7d7d9fce1ee8c26e31bb86aa907ef2c29 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Harshvardhan4134
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@de71e3d7d7d9fce1ee8c26e31bb86aa907ef2c29 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agentwatch_io-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentwatch_io-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bec3bb7be9996ba4d875098e65b590306ba6bc786b8b0f9d9b21d973be8fb2f
|
|
| MD5 |
a222af4a96ce0cb3dfd0fb87575d71f1
|
|
| BLAKE2b-256 |
1bfb93f241187679c23ab1d6cf7954e00170313eacad1df10866a97e246bf9c6
|
Provenance
The following attestation bundles were made for agentwatch_io-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on Harshvardhan4134/AG
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentwatch_io-0.1.0-py3-none-any.whl -
Subject digest:
8bec3bb7be9996ba4d875098e65b590306ba6bc786b8b0f9d9b21d973be8fb2f - Sigstore transparency entry: 1244287838
- Sigstore integration time:
-
Permalink:
Harshvardhan4134/AG@de71e3d7d7d9fce1ee8c26e31bb86aa907ef2c29 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Harshvardhan4134
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@de71e3d7d7d9fce1ee8c26e31bb86aa907ef2c29 -
Trigger Event:
workflow_dispatch
-
Statement type: