lc-vector-stores 0.20.1

Vector store implementations for langchainrust — InMemory, File, Qdrant, MongoDB, Redis, SQLite, ChromaDB, Pinecone, PGVector
Documentation
[package]
name = "lc-vector-stores"
version = "0.20.1"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "Vector store implementations for langchainrust — InMemory, File, Qdrant, MongoDB, Redis, SQLite, ChromaDB, Pinecone, PGVector"
repository = "https://github.com/atliliw/langchainrust"
rust-version = "1.85"

[dependencies]
lc-shared = { path = "../lc-shared", version = "0.20.1" }
lc-core = { path = "../lc-core", version = "0.20.1" }
lc-embeddings = { path = "../lc-embeddings", version = "0.20.1" }
async-trait = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.0", features = ["full"] }
uuid = { version = "1.10", features = ["v4", "v7", "serde"] }
futures-util = "0.3"
log = "0.4"
bincode = "1.3"
regex = "1"
reqwest = { version = "0.12", features = ["json"] }
thiserror = "2.0"

# Optional dependencies (feature-gated)
qdrant-client = { version = "1.7", optional = true }
mongodb = { version = "2.8", optional = true }
redis = { version = "0.25", optional = true, features = ["tokio-comp"] }
rusqlite = { version = "0.31", optional = true, features = ["bundled"] }
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "postgres", "json"], optional = true }
pgvector = { version = "0.4", features = ["sqlx"], optional = true }

[dev-dependencies]
tempfile = "3.0"
tokio-test = "0.4"

[features]
default = []
qdrant-integration = ["qdrant-client"]
mongodb-persistence = ["mongodb"]
redis-storage = ["redis"]
sqlite-storage = ["rusqlite"]
pgvector-storage = ["dep:sqlx", "dep:pgvector"]

# docs.rs 构建用显式 feature 清单而非 all-features:
# pgvector-storage 会拉入 sqlx(钉在 0.8.0 —— 与 rusqlite 0.31 共享 libsqlite3-sys 0.28 以避开 links 冲突),
# 而 sqlx 0.8.0 在 docs.rs 的较新 rustc 上编译失败(E0277 `!: Decode`);升 0.8.1+ 又会与 rusqlite 撞
# libsqlite3-sys 版本冲突(详见 ../lc/Cargo.toml 顶部注释)。因此 docs 构建排除该 feature。
[package.metadata.docs.rs]
features = ["qdrant-integration", "mongodb-persistence", "redis-storage", "sqlite-storage"]
rustdoc-args = ["--cfg", "docsrs"]