Skip to main content

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.typed marker

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 agent
  • adk_pipeline.py — Google ADK extraction
  • autogen_debate.py — AutoGen team verification
  • crewai_research_crew.py — CrewAI crew verification

License

MIT

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

agentproofx-0.3.0.tar.gz (374.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentproofx-0.3.0-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

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

Hashes for agentproofx-0.3.0.tar.gz
Algorithm Hash digest
SHA256 57f2fd62059d8029a91766255b998232da3408a716d2cafcd88d144bdb62d91a
MD5 f7e102b644d89c5b50807f2a09d6ca56
BLAKE2b-256 4d56d62b1ef3435bc989de6c3cfa3eec670437e1b347bfe89fd180bdec05a2bb

See more details on using hashes here.

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

Hashes for agentproofx-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d08abaf99120528aa09d67dca52e00de0c65868f934c5e8f0f5bb1519516764
MD5 6bb9102dedfb679679bc6231e3e576e3
BLAKE2b-256 9607c25750368a1a05e3e3164c4c6c4f5410751bb2b353ef664a5f2ef5b046fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page