AgentWall Python Client SDK
Python client for the Vexa AgentWall AI Security Gateway & Firewall.
Routes AI agent tool calls and LLM egress through the out-of-process AgentWall proxy, enforcing default-deny policies, DLP secret redaction, prompt injection scanning, spend caps, and Human-in-the-Loop approvals without running governance logic in-process.
Installation
pip install vexaagentwall
Quick Start
Make sure agentwall is running locally (agentwall dev or via Docker / Kubernetes):
from agentwall import AgentWallClient, AgentWallDenied, AgentWallApprovalPending
# Auto-discovers local proxy at http://127.0.0.1:8080 or AGENTWALL_PROXY_URL env var
client = AgentWallClient()
# Method 1: Decorator for transparent governance
@client.governed
def read_project_file(path: str) -> str:
with open(path, "r") as f:
return f.read()
# Safe call
try:
content = read_project_file("/home/user/project/src/main.rs")
print(content)
except AgentWallDenied as e:
print(f"Blocked by policy: {e.rule_name} — {e.reason}")
except AgentWallApprovalPending as e:
print(f"Action requires human approval: {e.approval_url}")
# Method 2: Direct tool call routing
result = client.call_tool("read_file", {"path": "/home/user/project/README.md"})
print(result.data)
Async Support
import asyncio
from agentwall import AsyncAgentWallClient
async def main():
client = AsyncAgentWallClient()
@client.governed
async def async_fetch(url: str):
# Your tool logic
return "data"
res = await async_fetch("https://api.internal.corp/data")
print(res)
asyncio.run(main())
LangChain Integration
from langchain.tools import tool
from agentwall import AgentWallClient
client = AgentWallClient()
@tool
@client.governed
def query_customer_db(query: str) -> str:
"""Run read-only database query."""
return db.execute(query)
License
MIT License.
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 vexaagentwall-1.0.26.tar.gz.
File metadata
- Download URL: vexaagentwall-1.0.26.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6579dace8f9fd2df8467edac99a22e68f15275690abcab104fd9357806e75685
|
|
| MD5 |
f192f52db59b6a159784c5ab7207e505
|
|
| BLAKE2b-256 |
9c072330b4e83bdadcb42d376e3699485d8d3f521b9954e91e6a7628c2c6a44b
|
Provenance
The following attestation bundles were made for vexaagentwall-1.0.26.tar.gz:
Publisher:
release.yml on noviqtechnologies/agentwall
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vexaagentwall-1.0.26.tar.gz -
Subject digest:
6579dace8f9fd2df8467edac99a22e68f15275690abcab104fd9357806e75685 - Sigstore transparency entry: 2405919362
- Sigstore integration time:
-
Permalink:
noviqtechnologies/agentwall@ebc4b91e33b08d76fa62bf9913167b2c6eb529de -
Branch / Tag:
refs/heads/main - Owner: https://github.com/noviqtechnologies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ebc4b91e33b08d76fa62bf9913167b2c6eb529de -
Trigger Event:
push
-
Statement type:
File details
Details for the file vexaagentwall-1.0.26-py3-none-any.whl.
File metadata
- Download URL: vexaagentwall-1.0.26-py3-none-any.whl
- Upload date:
- Size: 2.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4b325a86c31dc83dc2dac3249eca96c59592183e46027f3c24f7866a690c3fc
|
|
| MD5 |
1aba1d6be1a77e72ddd5a994ffc68c6d
|
|
| BLAKE2b-256 |
3d42dc6daa0553d754e63191a7e9a72836054a66e133e6f0e01ed1c029c15870
|
Provenance
The following attestation bundles were made for vexaagentwall-1.0.26-py3-none-any.whl:
Publisher:
release.yml on noviqtechnologies/agentwall
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vexaagentwall-1.0.26-py3-none-any.whl -
Subject digest:
e4b325a86c31dc83dc2dac3249eca96c59592183e46027f3c24f7866a690c3fc - Sigstore transparency entry: 2405919403
- Sigstore integration time:
-
Permalink:
noviqtechnologies/agentwall@ebc4b91e33b08d76fa62bf9913167b2c6eb529de -
Branch / Tag:
refs/heads/main - Owner: https://github.com/noviqtechnologies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ebc4b91e33b08d76fa62bf9913167b2c6eb529de -
Trigger Event:
push
-
Statement type: