cognis-graph (crate name cognis-graph, repo dir crates/cognisgraph) is the graph runtime. Pregel-style supersteps, typed state, conditional Goto, three checkpointer backends, seven stream modes, three viz formats.
Crate metadata
| Field | Value |
|---|---|
| Latest version | 0.3 |
| docs.rs | docs.rs/cognis-graph |
| Repo path | crates/cognisgraph |
| Default features | none |
Modules at a glance
| Module | What |
|---|---|
builder | Graph<S>, LinearBuilder. |
compiled | CompiledGraph<S> — implements Runnable<S, S>, plus checkpoint/interrupt/resume methods. |
node | Node, NodeCtx, NodeOut, node_fn. |
goto | Goto enum + constructors. |
state | GraphState trait. |
checkpoint | Checkpointer trait + InMemoryCheckpointer, SqliteCheckpointer, PostgresCheckpointer. |
engine | Internal Pregel runner. Not for direct use. |
stream_mode | StreamMode, StreamModes. |
viz | to_dot, to_mermaid, to_ascii (methods on CompiledGraph). |
subgraph | Subgraph for nested graphs. |
metrics, audit_log | Observability helpers. |
retry | NodeRetryPolicy for per-node retry. |
Key types
Graph<S>
node_fn
NodeOut
Goto
GraphState
#[derive(GraphStateV2)] from cognis-macros emits the Update struct and the impl. Reducer attributes: #[reducer(append/last_value/add/merge)].
CompiledGraph<S>
Checkpointer
InMemoryCheckpointer<S>::new(), SqliteCheckpointer::open(path) (feature sqlite), PostgresCheckpointer::connect(dsn) (feature postgres).
StreamMode
StreamModes::only(StreamMode::Updates), StreamModes::default().push(...), StreamModes::debug(), StreamModes::none().
Feature flags
| Feature | Pulls in |
|---|---|
sqlite | sqlx/sqlite for SqliteCheckpointer. |
postgres | sqlx/postgres for PostgresCheckpointer. |
serializer-cbor | CBOR-encoded checkpoint payloads. |
See also
Graphs and state
User guide.
Control flow
Goto, edges, fan-out.
Checkpointing
Time travel and resume.
Streaming
Per-mode event streams.