Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Weavegraph
Graph-driven, concurrent agent workflow framework for Rust.
EARLY BETA
This framework is in active development (v0.1.x). APIs are evolving rapidly, and breaking changes will happen between minor versions.
The core architecture is solid, but expect rough edges, API churn, and occasional surprises. Pin exact versions if stability matters.
Use in production at your own risk—or better yet, help us shape the future by reporting issues and suggesting improvements.
Weavegraph lets you build robust, concurrent, stateful workflows using a graph-based execution model. Ideal for AI agents, data pipelines, and any application needing versioned state and rich diagnostics.
Features
- Concurrent graph execution with dependency resolution
- Type-safe, role-based message system
- Versioned state with snapshot isolation
- Structured error handling and diagnostics
- Built-in event streaming and observability
- Flexible persistence: SQLite or in-memory
- Conditional routing and dynamic edges
- Ergonomic APIs and comprehensive examples
Install
Add to your Cargo.toml:
[]
= "0.1"
Documentation
- Developer Guide - Messages, state, and graph building
- Operations Guide - Event streaming, persistence, testing, and production
- Architecture - Core architecture and custom reducers
- Documentation Index - Complete topic reference with anchor links
- Examples - Runnable code for all patterns
Minimal Example
use ;
use async_trait;
;
async
NOTE:
NodeKind::StartandNodeKind::Endare virtual structural endpoints.
You never register them withadd_node; attempts to do so are ignored with a warning.
🧪 Testing
For testing and ephemeral workflows use the InMemory checkpointer:
// After compiling the graph into an `App`:
let runner = new.await; // In-memory state
Run the comprehensive test suite:
# All tests with output
# Specific test categories
Property-based testing with proptest ensures correctness across edge cases.
Contributing
We welcome contributions! See CONTRIBUTING.md.
License
MIT — see LICENSE.