[package]
name = "vecmindb"
version = "0.1.0"
edition = "2021"
authors = ["VecminDB Team"]
description = "High-performance vector database with multiple index algorithms (HNSW, IVF, etc.) and NSGA-II auto-tuning."
license = "MIT OR Apache-2.0"
repository = "https://github.com/vecmindb/vecmindb"
homepage = "https://vecmindb.io"
documentation = "https://docs.rs/vecmindb"
readme = "README.md"
keywords = ["vector-database", "similarity-search", "embedding", "ann", "rag"]
categories = ["database", "algorithms", "data-structures", "science"]
[features]
default = ["http-server"]
http-server = ["actix-web", "actix-rt"]
simd = []
gpu = []
distributed = ["redis"]
full = ["simd", "gpu", "distributed"]
linalg = ["ndarray-linalg"]
excel = ["calamine", "rust_xlsxwriter"]
rhai = ["dep:rhai"]
arrow = ["dep:arrow"]
winapi = ["dep:winapi"]
parquet = ["dep:parquet"]
tempfile = ["dep:tempfile"]
walkdir = ["dep:walkdir"]
redis = ["dep:redis"]
wasmtime = ["dep:wasmtime", "dep:wasmtime-wasi", "dep:wasmparser"]
multimodal = ["image", "reqwest", "symphonia", "realfft", "rustfft"]
websocket = ["tokio-tungstenite"]
postgres = []
mysql = []
sqlite = []
mongodb = []
elasticsearch = []
cassandra = []
neo4rs = []
regex = []
sysinfo = []
wasmparser = []
memcached = []
snappy = []
grpc = []
extension-module = ["pyo3/extension-module"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
bincode = "1.3"
tokio = { version = "1.31", features = ["full"] }
async-trait = "0.1"
futures = "0.3"
futures-util = "0.3"
bytes = "1.0"
log = "0.4"
env_logger = "0.10"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
sled = "0.34"
rocksdb = { version = "0.21", features = ["multi-threaded-cf"] }
ndarray = { version = "0.15", features = ["serde"] }
ndarray-linalg = { version = "0.16", optional = true }
rayon = "1.8"
num-traits = "0.2"
rand = "0.8"
rand_distr = "0.4"
approx = "0.5"
crossbeam = "0.8"
crossbeam-channel = "0.5"
dashmap = "5.5"
parking_lot = "0.12"
redis = { version = "0.24", features = ["tokio-comp", "connection-manager"], optional = true }
lru = "0.11"
actix-web = { version = "4.0", features = ["macros", "rustls"], optional = true }
actix-rt = { version = "2.8", optional = true }
actix-cors = { version = "0.6", optional = true }
uuid = { version = "1.8", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
thiserror = "1.0"
anyhow = "1.0"
num_cpus = "1.16"
lazy_static = "1.4"
once_cell = "1.20"
sha2 = "0.10"
sha1 = "0.10"
md5 = "0.7"
blake3 = "1.3"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
crc32fast = "1.3"
hmac = "0.12"
pbkdf2 = "0.12"
hex = "0.4"
fnv = "1.0"
zstd = "0.12"
flate2 = "1.0"
lz4_flex = "0.11"
brotli = "3.4"
tar = "0.4"
rmp-serde = "1.1"
toml = "0.7"
clap = { version = "4.5", features = ["derive"] }
wasmtime = { version = "18.0", optional = true }
base64 = "0.21"
regex = "1.9"
bytemuck = "1.18"
csv = "1.3"
calamine = { version = "0.24", optional = true }
rust_xlsxwriter = { version = "0.75", optional = true }
byteorder = "1.5"
parquet = { version = "50.0", optional = true }
rhai = { version = "1.19", optional = true }
arrow = { version = "50.0", optional = true }
rust_decimal = "1.33"
url = "2.5"
sysinfo = "0.30"
wasmparser = { version = "0.121", optional = true }
dyn-clone = "1.0"
fastrand = "2.0"
rust-stemmers = "1.2"
stop-words = "0.9"
unicode-segmentation = "1.11"
unicode-normalization = "0.1"
image = { version = "0.25", optional = true }
reqwest = { version = "0.11", features = ["blocking"], optional = true }
tokio-tungstenite = { version = "0.20", optional = true }
symphonia = { version = "0.5", optional = true }
realfft = { version = "3.3", optional = true }
rustfft = { version = "6.1", optional = true }
tempfile = { version = "3.8", optional = true }
walkdir = { version = "2.4", optional = true }
wasmtime-wasi = { version = "18.0", optional = true }
pyo3 = { version = "0.20.0", optional = true }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["sysinfoapi", "processthreadsapi", "psapi", "minwindef"], optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["async_tokio"] }
tempfile = "3.8"
rand = "0.8"
tokio = { version = "1.31", features = ["full"] }
[lib]
name = "vecmindb"
path = "src/lib.rs"
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "vecmindb-server"
path = "src/main.rs"
required-features = ["http-server"]
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "collections"
path = "examples/collections.rs"
[[example]]
name = "index_types"
path = "examples/index_types.rs"
[[bench]]
name = "index_performance"
harness = false
[[bench]]
name = "concurrent_performance"
harness = false