agent-guard-python
Python bindings for execution control at the agent side-effect boundary.
This package provides Python bindings for agent-guard, giving Python hosts a pre-execution decision layer before agent tool calls turn into shell commands or other side effects.
🚀 Quick Start (Python Adapters)
Status: The Python wrapper layer is a beta adapter surface. The clearest current proof point is still shell-first execution control, and Node remains the most mature integration path in the repository.
Integrate agent-guard into your existing LangChain tools with a policy gate in front of the original tool:
from agent_guard import Guard, wrap_langchain_tool
# 1. Initialize the Guard with your security policy
guard = Guard.from_yaml_file("policy.yaml")
# 2. Secure your existing tools
bash_tool = ShellTool() # Your original tool
secured_tool = wrap_langchain_tool(guard, bash_tool, agent_id="researcher")
# 3. Use the tool as normal - agent-guard handles the rest!
secured_tool.run("ls -la")
OpenAI-style handler wrapping is also available:
from agent_guard import Guard, wrap_openai_tool, AgentGuardDeniedError
guard = Guard.from_yaml_file("policy.yaml")
guarded_handler = wrap_openai_tool(
guard,
lambda input_data: {"ok": True, "query": input_data["query"]},
tool="web_search",
mode="check",
trust_level="trusted",
)
try:
print(guarded_handler({"query": "agent-guard"}))
except AgentGuardDeniedError as error:
print("blocked", error.code)
✨ Features
- 🛡️ Pre-execution policy decisions: Put allow/deny/ask checks in front of Python tool handlers.
- 💻 Shell-first execution control: The strongest current execution path is still shell / Bash style tooling.
- ⚠️ Typed adapter errors: Distinct deny, ask-required, and execution failure exceptions.
- 📜 Signed receipts: Optional cryptographic proof of execution when you need deeper verification.
- 🔏 Signed policy loading: Optional detached-signature verification for
policy.yaml. - 📊 Auditing support: JSONL logs and metrics integration for operator-visible outcomes.
Current boundary note:
- explicit
checkmode remains a policy-only gate; inautomode, non-shell tools useGuard.run(). AHandoffcloses its one-shot lifecycle before returning the original handler result, while Guard-owned WriteFile or mutating HTTP outcomes may execute without invoking that handler - the exact tool ID
bashis the owned shell path; shell-like custom IDs such asshell,terminal,sh,cmd, orpowershellfail closed inautowithUnsupportedShellAliasuntil explicitly mapped or assigned a mode - Python is an active adapter surface, but still below the current Node path in maturity
Guard.execute()/Guard.run()use the SDK default sandbox selection, or accept an explicitbackend=keyword ("none","linux-seccomp","linux-landlock","macos-seatbelt","windows-job-object","windows-appcontainer"); a backend that is not compiled into the module or not functional on the host resolves truthfully to"none", and an unknown name raises- to get real isolation through
backend=, build the module with the matching feature forwarded, e.g.maturin develop --features extension-module,seccomp(requires libseccomp on Linux); the default build carries no sandbox feature - if the default sandbox diagnosis falls back to
NoopSandbox, the policy gate still runs, but OS-level isolation is not equivalent - unknown, expired, or duplicate handoff report IDs raise
GuardError; a successful host action whose report fails surfacesAgentGuardExecutionErrorwith the host result, request ID, attempted handoff result, and an explicit do-not-retry marker rather than silently returning success
🔧 Installation
The latest published package is 0.2.6:
python -m pip install agent-guard-python==0.2.6
To test the current 0.2.6 source, install it from a repository checkout
(requires Python and a Rust toolchain):
python -m pip install ./crates/agent-guard-python
The distribution name is agent-guard-python; the import name remains
agent_guard:
from agent_guard import Guard
For local development in this repository:
cd crates/agent-guard-python
maturin develop --features extension-module
pytest tests -v
📺 Demos
Check the examples/ directory for full usage scenarios:
demo_langchain.py: Comprehensive 3-line integration demo.provenance_receipt.py: Cryptographic verification example.
Metadata
Release files for agent-guard-python 0.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| agent_guard_python-0.2.6-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| agent_guard_python-0.2.6-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| agent_guard_python-0.2.6-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| agent_guard_python-0.2.6-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| agent_guard_python-0.2.6-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 22.6 MB
Release files / agent_guard_python-0.2.6-cp310-abi3-win_amd64.whl
| Download URL | agent_guard_python-0.2.6-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
3aa01a9e60796e4617c63cb22c68e8e0314d2f0b98f8b8b815e786db851f91b6
|
|
BLAKE2b-256 checksum How to use checksums |
557390ac318b05d97baa099fa9055be8d24d5b115841405cfcbc196be1b452b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / agent_guard_python-0.2.6-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | agent_guard_python-0.2.6-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9609d51ed7949d1fbc8525fd4b2ef253635098a4dcd06742e13d5f112a4c7477
|
|
BLAKE2b-256 checksum How to use checksums |
6126bc474fc3a853890b04d938f754f0f62e9e96e414b6b13b80641d3b3bab2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / agent_guard_python-0.2.6-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | agent_guard_python-0.2.6-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 4.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
999166808f574efd618d96067aa6dc2554e39c083ca868159a25e53ad38c3f0b
|
|
BLAKE2b-256 checksum How to use checksums |
00e9314aca5dd0569c594f9c2f084787bcc922a402049daca9d65d25a8f4d3f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / agent_guard_python-0.2.6-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | agent_guard_python-0.2.6-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 4.4 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ecc7194ff732c6286455c23d875bb412a2fcbdba73235d8317ddcc9d814530ba
|
|
BLAKE2b-256 checksum How to use checksums |
83d5c3cc288974b1df75a373000c38dff4e4a236744c56bb9e6c1bc0be7450af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / agent_guard_python-0.2.6-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | agent_guard_python-0.2.6-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a76e90c6fb3c5cd1cd0a517f00ab43d10f2edd0fa3decf907307bda3545af341
|
|
BLAKE2b-256 checksum How to use checksums |
4d7862f085a59128ff7ea799a644a0959dd21ca0c7573d1339c3cc153572c46f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logSecurity for agent-guard-python 0.2.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 5 files in this release have been uploaded with provenance metadata.
Attestation for agent_guard_python-0.2.6-cp310-abi3-win_amd64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.