reflex-cache 0.2.0

Episodic memory and high-speed semantic cache for LLM responses
[package]
name = "reflex-cache"
version = "0.2.0"
edition = "2024"
description = "Episodic memory and high-speed semantic cache for LLM responses"
license = "AGPL-3.0"
repository = "https://github.com/ccheney/reflex"
documentation = "https://docs.rs/reflex-cache"
keywords = ["llm", "cache", "semantic", "embedding", "ai"]
categories = ["caching", "database"]
rust-version = "1.92"

[package.metadata.docs.rs]
features = ["cpu", "mock"]
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = ["--cfg", "docsrs"]

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

[features]
default = []
cpu = []
metal = ["candle-core/metal", "candle-transformers/metal"]
cuda = ["candle-core/cuda", "candle-transformers/cuda"]
mock = []

[dependencies]
tokio = { version = "1.48", features = ["full"] }

blake3 = "1.6"

candle-core = "0.9"
candle-nn = "0.9"
candle-transformers = "0.9"
tokenizers = "0.22"

qdrant-client = "1.13"

rkyv = { version = "0.8", features = ["bytecheck"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

memmap2 = "0.9"

tracing = "0.1"
thiserror = "2.0"
anyhow = "1.0"
half = { version = "2.4", features = ["bytemuck"] }
async-trait = "0.1.89"
tempfile = "3.15"
reqwest = { version = "0.12", features = ["json"] }
bytemuck = "1.19"
tauq = "0.1.0"
bitvec = "1.0.1"
moka = { version = "0.12.11", features = ["sync"] }
parking_lot = "0.12"
futures-util = "0.3.31"

[dev-dependencies]
reflex = { package = "reflex-cache", path = ".", features = ["mock"] }
serial_test = "3.2"