Python SDK for the Kevros A2A Governance Gateway — precision decisioning, provenance attestation, and intent binding for autonomous agents.
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
kevros
Python SDK for the Kevros A2A Governance Gateway — three cryptographic primitives for autonomous agents: precision decisioning, provenance attestation, and intent binding.
pip install kevros
What This Does
Before your AI agent takes an action, ask Kevros: "Is this within policy bounds?"
After your agent acts, tell Kevros: "Here's what I did."
Every decision is HMAC-signed. Every action is hash-chained. Every intent is cryptographically bound to its command. Downstream services verify independently — no callbacks, no trust assumptions.
Quick Start
from kevros_governance import GovernanceClient
client = GovernanceClient(api_key="kvrs_...")
# 1. VERIFY before acting — get ALLOW, CLAMP, or DENY
result = client.verify(
action_type="trade",
action_payload={"symbol": "AAPL", "shares": 100, "price": 185.50},
policy_context={"max_values": {"shares": 500, "price": 200.0}},
agent_id="trading-bot-001",
)
if result.decision.value == "ALLOW":
execute_trade(result.applied_action)
# 2. ATTEST after acting — create provenance record
attestation = client.attest(
agent_id="trading-bot-001",
action_description="Executed AAPL buy order",
action_payload={"symbol": "AAPL", "shares": 100, "filled_price": 185.42},
)
print(f"Provenance hash: {attestation.hash_curr}")
Intent Binding
Bind a declared intent to a specific command. Prove later that what happened is what was planned.
from kevros_governance import GovernanceClient, IntentType
client = GovernanceClient(api_key="kvrs_...")
binding = client.bind(
agent_id="nav-agent-001",
intent_type=IntentType.NAVIGATION,
intent_description="Navigate to waypoint Alpha",
command_payload={"lat": 38.0293, "lon": -78.4767, "alt": 100},
goal_state={"lat": 38.0293, "lon": -78.4767},
)
# Save binding.intent_id and binding.binding_id for verification
Async Support
Every method has an async counterpart prefixed with a:
async with GovernanceClient(api_key="kvrs_...") as client:
result = await client.averify(
action_type="trade",
action_payload={"symbol": "AAPL", "shares": 50},
agent_id="async-bot-001",
)
Pricing
- Free tier: 100 calls/month, instant signup, no payment required
- Scout: $29/mo — 5,000 calls
- Sentinel: $149/mo — 50,000 calls
- Sovereign: $499/mo — 500,000 calls
Agent Card
The gateway publishes an A2A Agent Card for agent-to-agent discovery.
MCP
For MCP-native agents, connect via streamable-http transport:
https://governance.taskhawktech.com/mcp/
Links
- Gateway: https://governance.taskhawktech.com
- Agent Card: https://governance.taskhawktech.com/.well-known/agent.json
- Website: https://taskhawktech.com
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 kevros-0.3.2.tar.gz.
File metadata
- Download URL: kevros-0.3.2.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0552dfa64b8866da5a73a978242a4e3976b2738dd1d2b3114ca1fd5763aa7dab
|
|
| MD5 |
8a351b9e8af97b94aada6169bfed7d2f
|
|
| BLAKE2b-256 |
9a259ea6a8507c643f22556f5c98809c0acc48ca98ca8431187d251bcba21219
|
File details
Details for the file kevros-0.3.2-py3-none-any.whl.
File metadata
- Download URL: kevros-0.3.2-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01b8732c55cc88bffbaf44ff74e216357198a82099b47b953989d9a873ddc377
|
|
| MD5 |
7794855c22f97a7036320797fac71bdf
|
|
| BLAKE2b-256 |
189ca28c43b42051140905de79d824f57f345b6b8246723edb3e1fe32f0543ae
|