[package]
name = "embedvec"
version = "0.5.1"
edition = "2021"
authors = ["EmbedVec Contributors"]
description = "Fast, lightweight, in-process vector database with HNSW indexing, metadata filtering, E8 quantization, and PyO3 bindings"
license = "MIT"
repository = "https://github.com/WeaveITMeta/embedvec"
documentation = "https://docs.rs/embedvec"
readme = "README.md"
keywords = ["vector-database", "hnsw", "embedding", "ann", "rag"]
categories = ["database", "science", "algorithms"]
[features]
default = ["persistence-sled", "async"]
persistence = ["persistence-sled"]
persistence-sled = ["sled"]
persistence-rocksdb = ["rocksdb"]
async = ["tokio"]
simd = []
python = ["pyo3"]
wasm = ["wee_alloc"]
full = ["persistence-sled", "async", "simd"]
full-rocksdb = ["persistence-rocksdb", "async", "simd"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.0", features = ["rt-multi-thread", "sync", "macros"], optional = true }
sled = { version = "0.34", optional = true }
rocksdb = { version = "0.22", optional = true }
pyo3 = { version = "0.22", features = ["extension-module"], optional = true }
wee_alloc = { version = "0.4", optional = true }
rand = "0.8"
rand_chacha = "0.3"
ordered-float = "4.0"
parking_lot = "0.12"
thiserror = "2.0"
rayon = "1.10"
[dev-dependencies]
tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] }
criterion = "0.5"
approx = "0.5"
tempfile = "3.10"
[[bench]]
name = "hnsw_bench"
harness = false
[lib]
name = "embedvec"
crate-type = ["cdylib", "rlib"]
[profile.release]
lto = true
codegen-units = 1
opt-level = 3
[profile.bench]
lto = true
codegen-units = 1
opt-level = 3