[package] name = "sevensense-vector" description = "Vector database operations and HNSW indexing for 7sense bioacoustics platform" version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true repository.workspace = true authors.workspace = true readme = "README.md" keywords = ["hnsw", "vector-search", "embeddings", "similarity", "bioacoustics"] categories = ["science", "algorithms", "database"] [dependencies] # Internal crates sevensense-core = { workspace = true, version = "0.1.0" } # Async runtime tokio = { workspace = true } async-trait = { workspace = true } futures = { workspace = true } # Tracing tracing = { workspace = true } # Error handling thiserror = { workspace = true } anyhow = { workspace = true } # Serialization serde = { workspace = true } serde_json = { workspace = true } bincode = "1.3" # Vector database (optional external backend) qdrant-client = { workspace = true, optional = true } # HNSW implementation (local backend) instant-distance = "0.6" # Concurrency parking_lot = "0.12" rayon = "1.10" # Numerical computing ndarray = { workspace = true } # Utilities uuid = { workspace = true } chrono = { workspace = true } hashbrown = { version = "0.14", features = ["serde"] } smallvec = { version = "1.13", features = ["serde"] } [dev-dependencies] tokio = { workspace = true, features = ["test-util", "macros", "rt-multi-thread"] } proptest = { workspace = true } criterion = { workspace = true } rand = "0.8" approx = "0.5" tempfile = "3.10" [[bench]] name = "hnsw_benchmark" harness = false [features] default = ["local-hnsw"] local-hnsw = [] qdrant-backend = ["qdrant-client"] hyperbolic = [] simd = [] full = ["local-hnsw", "qdrant-backend", "hyperbolic", "simd"]