Runtime control plane for AI agents. Vendor-neutral SDK for signed audit logs, policy enforcement, and continuous compliance.
Project description
Praxel
Praxel — the runtime control plane for AI agents. Wrap any agent in 3 lines, get signed audit logs and policy enforcement.
Install
pip install praxel
uv add praxel
Quickstart
from praxel import Praxel, Policy, PraxelDeniedException
def agent(prompt: str, *, tool_name: str, tool_input: dict):
return f"Executed {tool_name} with {tool_input}"
policies = [
Policy(
policy_id="limit-1000",
name="Dollar Limit",
kind="dollar_limit",
config={"field_path": "amount", "max_amount": 1000.0},
enabled=True,
)
]
wrapped = Praxel.wrap(agent, workspace="demo-workspace", policies=policies)
print(wrapped("Pay vendor", tool_name="transfer_money", tool_input={"amount": 500.0}))
What It Does
- Signed audit logs for every tool call (tamper-evident event trail).
- Runtime policy enforcement (allow, deny, require approval).
- Continuous compliance evidence for investigations, audits, and controls.
Supported Providers
- Anthropic
- OpenAI
- Custom agents
Before / After
Before: basic Claude agent, no governance
from anthropic import Anthropic
client = Anthropic(api_key="...")
def transfer_money(amount: float, to_account: str) -> str:
return f"Transferred ${amount:.2f} to {to_account}"
# Tool call executes directly.
result = transfer_money(5000, "acct-risky-001")
After: wrapped with Praxel
from praxel import Praxel, Policy
policies = [
Policy(
policy_id="limit-1000",
name="Dollar Limit",
kind="dollar_limit",
config={"field_path": "amount", "max_amount": 1000.0},
enabled=True,
)
]
wrapped_agent = Praxel.wrap(agent, workspace="prod-workspace", policies=policies)
- Signed audit trail for every tool action.
- Dollar limit enforced at runtime.
- Dashboard-ready event stream for review and investigations.
License
MIT. See LICENSE.
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
praxel-0.1.4.tar.gz
(14.1 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
praxel-0.1.4-py3-none-any.whl
(15.7 kB
view details)
File details
Details for the file praxel-0.1.4.tar.gz.
File metadata
- Download URL: praxel-0.1.4.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
774a511a5c093049131216eb48ffebc9300984fa2edbf6341796efeb17df8581
|
|
| MD5 |
2935ee4789fcc84c183fe70aec857c58
|
|
| BLAKE2b-256 |
9b00a41348fc5810766848443cc2377dc8d8d585c8b0710574cf9135963ff357
|
File details
Details for the file praxel-0.1.4-py3-none-any.whl.
File metadata
- Download URL: praxel-0.1.4-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6ae408f8b0ccbaef6ada2544079df33f74308f141d4ad8aa19f89216e8d0dc5
|
|
| MD5 |
29ba49de2679b20aa3863247ef847488
|
|
| BLAKE2b-256 |
3e2f2e578ca17c589b0c0da36af1d966f211025090343c3b481bfb1f67299760
|