[package]
name = "diskann"
version.workspace = true
description.workspace = true
authors.workspace = true
repository.workspace = true
license.workspace = true
edition = "2024"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["x86_64-unknown-linux-gnu", "aarch64-pc-windows-msvc", "x86_64-pc-windows-msvc"]
[dependencies]
anyhow.workspace = true
bytemuck = { workspace = true, features = ["must_cast"]}
diskann-utils = { workspace = true, default-features = false }
futures-util = { workspace = true, default-features = false }
half = { workspace = true, features = ["bytemuck", "num-traits"] }
hashbrown = { version = "0.16.0", default-features = false, features = ["default-hasher"] }
num-traits.workspace = true
rand.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["rt", "rt-multi-thread"] }
tracing = { workspace = true, optional = true }
diskann-vector = { workspace = true }
diskann-wide = { workspace = true }
dashmap = { workspace = true, optional = true }
[dev-dependencies]
futures-util = { workspace = true, default-features = false }
pin-project.workspace = true
rand.workspace = true
relative-path = "2.0.1"
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
tokio = { workspace = true, features = ["macros", "sync"] }
dashmap = { workspace = true }
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage)'] }
[lints.clippy]
uninlined_format_args = "allow"
unwrap_used = "warn"
expect_used = "warn"
panic = "warn"
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
testing = ["dep:dashmap"]
experimental_diversity_search = []