Static graph verification for agent workflows — LangGraph, ADK, AutoGen, CrewAI
Project description
Agentproof
Static graph verification for agent workflows. Prove safety properties on your workflow graph before deployment — no runtime overhead, no gatekeeping layer.
Supports LangGraph, Google ADK, AutoGen, and CrewAI.
Install
pip install agentproof
With framework extractors:
pip install agentproof[langgraph]
pip install agentproof[adk]
pip install agentproof[autogen]
pip install agentproof[crewai]
pip install agentproof[all-frameworks]
Quick Start
from agentproof import verify
from agentproof.graph.model import (
AgentGraph, GraphNode, GraphEdge, NodeKind, EdgeKind,
)
# Build a graph (or extract one from a framework — see below)
graph = AgentGraph(
name="my_pipeline",
framework="manual",
nodes=(
GraphNode(id="entry", kind=NodeKind.ENTRY, label="start"),
GraphNode(id="fetch", kind=NodeKind.TOOL, label="Fetch", tools=("http_get",)),
GraphNode(id="review", kind=NodeKind.HUMAN, label="Human Review"),
GraphNode(id="store", kind=NodeKind.TOOL, label="Store", tools=("db_insert",)),
GraphNode(id="exit", kind=NodeKind.EXIT, label="end"),
),
edges=(
GraphEdge(source="entry", target="fetch"),
GraphEdge(source="fetch", target="review"),
GraphEdge(source="review", target="store"),
GraphEdge(source="store", target="exit"),
),
entry_id="entry",
exit_ids=("exit",),
)
report = verify(graph, require_human=True)
print(report["structural"])
Features
- Structural checks — reachability, dead-end detection, human-in-the-loop enforcement, tool declaration coverage, router edge validation, entry/exit structure
- Temporal verification (LTL) — define safety rules in a lightweight LTL DSL (e.g.
G !tool:rm_rf), compile to DFA monitors, and verify against simulated traces or statically via graph-DFA product construction - Framework extractors — convert native workflow objects from LangGraph, ADK, AutoGen, and CrewAI into Agentproof's framework-agnostic
AgentGraph - Trace generation — random-walk trace generator for temporal policy testing
- Typed — full type annotations,
py.typedmarker
Supported Frameworks
| Framework | Extra | Extractor |
|---|---|---|
| LangGraph | agentproof[langgraph] |
agentproof.graph.extract._langgraph |
| Google ADK | agentproof[adk] |
agentproof.graph.extract._adk |
| AutoGen | agentproof[autogen] |
agentproof.graph.extract._autogen |
| CrewAI | agentproof[crewai] |
agentproof.graph.extract._crewai |
You can also construct an AgentGraph directly without any framework dependency.
Examples
See the examples/ directory for complete walkthroughs:
full_verification.py— end-to-end structural + temporal verification (no framework needed)langgraph_customer_support.py— extract and verify a LangGraph agentadk_pipeline.py— Google ADK extractionautogen_debate.py— AutoGen team verificationcrewai_research_crew.py— CrewAI crew verification
License
MIT
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 agentproofx-0.3.0.tar.gz.
File metadata
- Download URL: agentproofx-0.3.0.tar.gz
- Upload date:
- Size: 374.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57f2fd62059d8029a91766255b998232da3408a716d2cafcd88d144bdb62d91a
|
|
| MD5 |
f7e102b644d89c5b50807f2a09d6ca56
|
|
| BLAKE2b-256 |
4d56d62b1ef3435bc989de6c3cfa3eec670437e1b347bfe89fd180bdec05a2bb
|
File details
Details for the file agentproofx-0.3.0-py3-none-any.whl.
File metadata
- Download URL: agentproofx-0.3.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d08abaf99120528aa09d67dca52e00de0c65868f934c5e8f0f5bb1519516764
|
|
| MD5 |
6bb9102dedfb679679bc6231e3e576e3
|
|
| BLAKE2b-256 |
9607c25750368a1a05e3e3164c4c6c4f5410751bb2b353ef664a5f2ef5b046fc
|