langchainrust 0.2.12

A LangChain-inspired framework for building LLM applications in Rust. Supports OpenAI, Agents, Tools, Memory, Chains, RAG, BM25, Hybrid Retrieval, LangGraph, HyDE, Reranking, MultiQuery, and native Function Calling.
# 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 = "langchainrust"
version = "0.2.12"
authors = ["atliliw"]
build = false
exclude = [
    "/docs",
    "/.github",
    "/langchain",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A LangChain-inspired framework for building LLM applications in Rust. Supports OpenAI, Agents, Tools, Memory, Chains, RAG, BM25, Hybrid Retrieval, LangGraph, HyDE, Reranking, MultiQuery, and native Function Calling."
homepage = "https://github.com/atliliw/langchainrust"
documentation = "https://docs.rs/langchainrust"
readme = "README.md"
keywords = [
    "llm",
    "langchain",
    "ai",
    "rag",
    "agent",
]
categories = [
    "algorithms",
    "asynchronous",
    "api-bindings",
    "science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/atliliw/langchainrust"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
default = []
experimental = []
mongodb-persistence = ["mongodb"]
qdrant-integration = ["qdrant-client"]

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

[[test]]
name = "bm25_chunked"
path = "tests/bm25/chunked.rs"

[[test]]
name = "bm25_hybrid_rag"
path = "tests/bm25/hybrid_rag.rs"

[[test]]
name = "bm25_llm_integration"
path = "tests/bm25/llm_integration.rs"

[[test]]
name = "bm25_rag"
path = "tests/bm25/rag.rs"

[[test]]
name = "e2e_full_application"
path = "tests/e2e/full_application.rs"

[[test]]
name = "function_calling_agent"
path = "tests/function_calling/agent_fc.rs"

[[test]]
name = "integration_agent"
path = "tests/integration/agent_test.rs"

[[test]]
name = "integration_agent_memory"
path = "tests/integration/agent_memory.rs"

[[test]]
name = "integration_agent_react"
path = "tests/integration/agent_react.rs"

[[test]]
name = "integration_bm25_real_docs"
path = "tests/integration/bm25_real_docs.rs"

[[test]]
name = "integration_callbacks"
path = "tests/integration/callbacks_integration.rs"

[[test]]
name = "integration_callbacks_llm"
path = "tests/integration/callbacks_llm_integration.rs"

[[test]]
name = "integration_chain_workflow"
path = "tests/integration/chain_workflow.rs"

[[test]]
name = "integration_chains"
path = "tests/integration/chains.rs"

[[test]]
name = "integration_embeddings"
path = "tests/integration/embeddings.rs"

[[test]]
name = "integration_llm_chat"
path = "tests/integration/llm_chat.rs"

[[test]]
name = "integration_ollama"
path = "tests/integration/ollama_chat.rs"

[[test]]
name = "integration_rag"
path = "tests/integration/rag.rs"

[[test]]
name = "integration_rag_full"
path = "tests/integration/rag_full.rs"

[[test]]
name = "integration_rag_pipeline"
path = "tests/integration/rag_pipeline.rs"

[[test]]
name = "integration_tool_callbacks"
path = "tests/integration/tool_callbacks_integration.rs"

[[test]]
name = "langgraph_basic"
path = "tests/langgraph/basic.rs"

[[test]]
name = "langgraph_checkpointer"
path = "tests/langgraph/checkpointer.rs"

[[test]]
name = "langgraph_conditional"
path = "tests/langgraph/conditional.rs"

[[test]]
name = "langgraph_edge"
path = "tests/langgraph/edge.rs"

[[test]]
name = "langgraph_example"
path = "tests/langgraph/example.rs"

[[test]]
name = "langgraph_openai_demo"
path = "tests/langgraph/openai_demo.rs"

[[test]]
name = "langgraph_parallel"
path = "tests/langgraph/parallel.rs"

[[test]]
name = "langgraph_persistence"
path = "tests/langgraph/persistence.rs"

[[test]]
name = "langgraph_recursion"
path = "tests/langgraph/recursion.rs"

[[test]]
name = "langgraph_state"
path = "tests/langgraph/state.rs"

[[test]]
name = "langgraph_subgraph"
path = "tests/langgraph/subgraph.rs"

[[test]]
name = "langgraph_subgraph_mechanism"
path = "tests/langgraph/subgraph_mechanism.rs"

[[test]]
name = "langsmith_connection"
path = "tests/integration/langsmith_connection.rs"

[[test]]
name = "qdrant_tutorial"
path = "tests/qdrant_tutorial.rs"
required-features = ["qdrant-integration"]

[[test]]
name = "unit_bm25"
path = "tests/unit/bm25.rs"

[[test]]
name = "unit_callbacks"
path = "tests/unit/callbacks.rs"

[[test]]
name = "unit_conversation_chain"
path = "tests/unit/conversation_chain.rs"

[[test]]
name = "unit_file_handler"
path = "tests/unit/file_handler.rs"

[[test]]
name = "unit_hyde"
path = "tests/hyde_reranking/hyde_test.rs"

[[test]]
name = "unit_loaders_csv"
path = "tests/unit/loaders_csv.rs"

[[test]]
name = "unit_loaders_json"
path = "tests/loaders/json_loader_test.rs"

[[test]]
name = "unit_loaders_markdown"
path = "tests/loaders/markdown_loader_test.rs"

[[test]]
name = "unit_loaders_text"
path = "tests/loaders/text_loader_test.rs"

[[test]]
name = "unit_memory"
path = "tests/unit/memory.rs"

[[test]]
name = "unit_multi_query"
path = "tests/multi_query/multi_query_test.rs"

[[test]]
name = "unit_ollama"
path = "tests/unit/ollama.rs"

[[test]]
name = "unit_parallel_tool_calls"
path = "tests/unit/parallel_tool_calls.rs"

[[test]]
name = "unit_prompts"
path = "tests/unit/prompts.rs"

[[test]]
name = "unit_reranking"
path = "tests/hyde_reranking/reranking_test.rs"

[[test]]
name = "unit_retrieval"
path = "tests/unit/retrieval.rs"

[[test]]
name = "unit_retrieval_qa"
path = "tests/unit/retrieval_qa.rs"

[[test]]
name = "unit_router_chain"
path = "tests/unit/router_chain.rs"

[[test]]
name = "unit_runnable_stream"
path = "tests/unit/runnable_stream.rs"

[[test]]
name = "unit_schema"
path = "tests/unit/schema.rs"

[[test]]
name = "unit_summary_buffer_memory"
path = "tests/unit/summary_buffer_memory.rs"

[[test]]
name = "unit_summary_memory"
path = "tests/unit/summary_memory.rs"

[[test]]
name = "unit_tool_calling"
path = "tests/unit/tool_calling.rs"

[[test]]
name = "unit_tools"
path = "tests/unit/tools.rs"

[[test]]
name = "unit_vectorstores"
path = "tests/unit/vectorstores.rs"

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

[dependencies.bincode]
version = "1.3"

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

[dependencies.csv]
version = "1.3"

[dependencies.futures-util]
version = "0.3"

[dependencies.mongodb]
version = "2.8"
optional = true

[dependencies.pdf-extract]
version = "0.7"

[dependencies.qdrant-client]
version = "1.7"
optional = true

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.11"
features = [
    "json",
    "stream",
]

[dependencies.schemars]
version = "0.8"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.thiserror]
version = "1.0"

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

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

[dev-dependencies.tempfile]
version = "3.0"

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