Declare it once.
Run it anywhere.
A pyagent-blueprint YAML manifest compiles unmodified onto five structurally
different runtime engines — validated, diffed, and contract-tested before a single LLM call.
agents:
classifier: {provider: fast}
billing: {provider: primary}
tech: {provider: primary}
workflows:
support:
pattern: supervisor
agents:
classifier: classifier
routes: {billing: billing, tech: tech}
Four independent pillars
Each one stands alone. None of them requires another.
Blueprint
Agents, workflows, providers, and governance in one reviewable YAML file — validate, diff, and test before running anything.
pyagent-blueprint Read more →Execution & Routing
18 named orchestration patterns, difficulty-aware model routing, multi-provider fallback, and token budgets.
pyagent-patterns · router · providers · compress Read more →Context & Memory
Three-tier memory with a trust-aware context ledger and PII redaction between agents.
pyagent-context Read more →Observability
OpenTelemetry tracing, cost tracking, and a dashboard for replaying exactly what a run did.
pyagent-trace · pyagent-studio Read more →Why not hand-write the orchestration instead
What a blueprint gets you that a script doesn't
Diff and review like infrastructure
pyagent-blueprint diff old.yaml new.yaml produces a semantic diff over the IR — not a text diff of hand-wired Python — so a reviewer sees exactly which agent, route, or SLA changed.
Governance is never silently dropped
Budgets, SLAs, memory tiers, and recovery policies are either honored by the runtime or surfaced as a stable diagnostic code like BUDGET_UNSUPPORTED — never silently ignored.
Validate before you run anything
Static analysis catches dangling references and schema violations before an LLM call is ever made.
Test without live API calls
pyagent-blueprint test checks contract conformance against a MockLLM, so CI validates a system's shape before spending a token.
Zero to running
Your first pattern, in Python — no YAML required
from pyagent_patterns.base import Agent, MockLLM
from pyagent_patterns.resolution import SelfReflection
pattern = SelfReflection(agent=Agent("coder", llm), max_rounds=3)
result = await pattern.run("Write an efficient Fibonacci function")
Where to start
Three doors in, depending on what you're doing
Start with Quickstart
Install, run your first pattern, then browse the 18-pattern catalog.
Browse the Cookbook
37 complete, runnable recipes across 21 domains.
See the Adapters
The same manifest compiled onto LangGraph, CrewAI, and three other runtimes.