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.2.1.tar.gz
(40.6 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.2.1.tar.gz.
File metadata
- Download URL: agentguard_aegis-1.2.1.tar.gz
- Upload date:
- Size: 40.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eea4559d6029819f2e9e34dfa3947af822f1a1fdb9231843b49b94343520663
|
|
| MD5 |
f0d315bbf57293cd625c163ac05175e2
|
|
| BLAKE2b-256 |
97757c944c89c60525d220f4fbc37af1f9942f13b13827b1c5266be33c3d303f
|
File details
Details for the file agentguard_aegis-1.2.1-py3-none-any.whl.
File metadata
- Download URL: agentguard_aegis-1.2.1-py3-none-any.whl
- Upload date:
- Size: 45.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
225cb72ff9480d213e15a088b01a3060a16e293e74f4e5ecee077d73204c119c
|
|
| MD5 |
fb1b9b1ebe99c888ee8d302c88e1e65a
|
|
| BLAKE2b-256 |
a4392ea07a3ff43ee0c0b7b3e21cd9a92770a32d7b32a2011eab9100b04d556f
|