rust-langgraph 0.1.0

Stateful graph runtime for LLM workflows in Rust (community project; not affiliated with LangChain). Pregel-style execution: nodes, conditional edges, checkpoints, streaming. Optional adapters for Ollama, OpenAI, OpenRouter (OpenAI-compatible), and Anthropic; optional ReAct agent + tools. Crate import: rust_langgraph (underscore). Default features include in-memory checkpoints. Enable Cargo features explicitly for LLM modules (e.g. ollama, openai, openrouter, anthropic, prebuilt). See README.md on crates.io for copy-paste Cargo.toml, env vars, and common mistakes.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "rust-langgraph"
version = "0.1.0"
authors = ["Rust LangGraph contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Stateful graph runtime for LLM workflows in Rust (community project; not affiliated with LangChain).
Pregel-style execution: nodes, conditional edges, checkpoints, streaming. Optional adapters for
Ollama, OpenAI, OpenRouter (OpenAI-compatible), and Anthropic; optional ReAct agent + tools.
Crate import: rust_langgraph (underscore). Default features include in-memory checkpoints.
Enable Cargo features explicitly for LLM modules (e.g. ollama, openai, openrouter, anthropic, prebuilt).
See README.md on crates.io for copy-paste Cargo.toml, env vars, and common mistakes.
"""
documentation = "https://docs.rs/rust-langgraph"
readme = "README.md"
keywords = [
    "langgraph",
    "llm",
    "agent",
    "workflow",
    "async",
]
categories = [
    "asynchronous",
    "web-programming",
]
license = "MIT"
repository = "https://github.com/yourusername/rust-langgraph"

[features]
anthropic = ["dep:reqwest"]
default = ["memory-checkpoint"]
memory-checkpoint = []
ollama = ["dep:reqwest"]
openai = [
    "dep:reqwest",
    "dep:async-openai",
]
openrouter = [
    "dep:reqwest",
    "dep:async-openai",
]
postgres = [
    "dep:sqlx",
    "sqlx/postgres",
    "sqlx/runtime-tokio",
]
prebuilt = []
sqlite = [
    "dep:sqlx",
    "sqlx/sqlite",
    "sqlx/runtime-tokio",
]

[lib]
name = "rust_langgraph"
path = "src/lib.rs"

[[example]]
name = "checkpointing"
path = "examples/03_checkpointing.rs"

[[example]]
name = "conditional_edges"
path = "examples/02_conditional_edges.rs"

[[example]]
name = "custom_state"
path = "examples/08_custom_state.rs"

[[example]]
name = "ollama_chat"
path = "examples/05_ollama_chat.rs"
required-features = ["ollama"]

[[example]]
name = "openrouter_chat"
path = "examples/07_openrouter_chat.rs"
required-features = ["openrouter"]

[[example]]
name = "react_agent_ollama"
path = "examples/06_react_agent_ollama.rs"
required-features = [
    "ollama",
    "prebuilt",
]

[[example]]
name = "simple_graph"
path = "examples/01_simple_graph.rs"

[[example]]
name = "streaming"
path = "examples/04_streaming.rs"

[[test]]
name = "test_ollama_integration"
path = "tests/test_ollama_integration.rs"

[dependencies.anyhow]
version = "1.0"

[dependencies.async-openai]
version = "0.24"
optional = true

[dependencies.async-trait]
version = "0.1"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.futures]
version = "0.3"

[dependencies.pin-project]
version = "1.1"

[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.sqlx]
version = "0.8"
features = ["json"]
optional = true

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.40"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tracing]
version = "0.1"

[dependencies.uuid]
version = "1.10"
features = [
    "v4",
    "serde",
]

[dev-dependencies.proptest]
version = "1.5"

[dev-dependencies.tokio-test]
version = "0.4"