Python SDK for AI agent auditing and tracing
Project description
AgentGuard Python SDK
High-integrity auditing SDK for AI agents with automatic tracing, cryptographic signing, and safety validation.
Installation
pip install agentguard
Quick Start
from agentguard import agent_guard
# Simple usage with decorator
@agent_guard.trace()
def process_user_request(prompt: str):
# Your agent logic here
response = llm.complete(prompt)
return response
# With custom configuration
from agentguard import AgentGuard, AgentGuardConfig
config = AgentGuardConfig(
agent_id="my-agent-001",
gateway_url="https://agentguard.mycompany.com",
enable_signing=True,
private_key_path="/path/to/private.key",
)
guard = AgentGuard(config)
@guard.trace(tool_name="data_processor")
def process_data(data):
# Processing logic
return processed_data
Features
Automatic Tracing
- Captures function inputs, outputs, and execution time
- Records stdout/stderr output
- Intercepts LLM API calls (OpenAI, Anthropic)
Cryptographic Security
- Ed25519 signing of all traces
- SHA-256 hash chain for integrity
- Secure key storage with password protection
Performance
- Asynchronous trace delivery
- Batching for efficiency
- Local fallback storage
- OpenTelemetry integration
Safety Features
- Integration with MCP Gateway for policy validation
- Support for high-risk operation approval workflows
- Automatic kill-switch on repeated violations
Configuration
config = AgentGuardConfig(
# Core settings
agent_id="unique-agent-id",
environment="production", # development, staging, production
gateway_url="http://localhost:8080",
# Security
enable_signing=True,
private_key_path="/secure/path/private.key",
private_key_password="optional-password",
# Performance
batch_size=100,
flush_interval_seconds=5.0,
enable_async=True,
# Capture settings
capture_stdout=True,
capture_stderr=True,
capture_llm_calls=True,
capture_exceptions=True,
# Telemetry
enable_telemetry=True,
otel_endpoint="http://localhost:4317",
)
Generating Keys
from agentguard.crypto import generate_and_save_keypair
# Generate new Ed25519 keypair
private_key, public_key_path = generate_and_save_keypair(
path="/secure/location/agent.key",
password="strong-password" # Optional
)
Advanced Usage
Context Management
# Manually manage trace context
with guard._create_trace_context() as ctx:
# Your code here
pass
Custom Interceptors
# Add custom LLM provider
class CustomLLMInterceptor:
def patch_custom_llm(self):
# Your patching logic
pass
# Register with AgentGuard
guard._llm_interceptor = CustomLLMInterceptor()
License
See LICENSE file in the root directory.
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
agentguard_aegis-1.1.2.tar.gz
(22.0 kB
view details)
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 agentguard_aegis-1.1.2.tar.gz.
File metadata
- Download URL: agentguard_aegis-1.1.2.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f508df5c91b4ca75940fa8c5fe94fa3a8848e5a6de43975da07db8481ce0b595
|
|
| MD5 |
5944c8b0f4a31f207799a0d4d24b067d
|
|
| BLAKE2b-256 |
4f485e8cdd57111c0e18741c7241d95a45c0e71c30e852c4fa68b7a312fde28b
|
File details
Details for the file agentguard_aegis-1.1.2-py3-none-any.whl.
File metadata
- Download URL: agentguard_aegis-1.1.2-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
397b5e752ac4e955bc81c4d447b95f2a43da398e5cda818ac2e555f152b196fe
|
|
| MD5 |
b82aa12ea89289a6e1f88e54da80bf24
|
|
| BLAKE2b-256 |
e0ba87309c552f433bfa9973f6b25454681a392eb02036c5b0884b2401f2cd68
|