[package]
edition = "2024"
name = "diskann"
version = "0.50.0"
authors = ["Microsoft"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DiskANN is a fast approximate nearest neighbor search library for high dimensional data"
documentation = "https://github.com/microsoft/DiskANN"
readme = "README.md"
license = "MIT"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-pc-windows-msvc",
"i686-pc-windows-msvc",
"x86_64-pc-windows-msvc",
]
[features]
default = ["tracing"]
experimental_diversity_search = []
testing = ["dep:dashmap"]
tracing = ["dep:tracing"]
[lib]
name = "diskann"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0.98"
[dependencies.bytemuck]
version = "1.23.0"
features = ["must_cast"]
[dependencies.dashmap]
version = "6.1.0"
optional = true
[dependencies.diskann-utils]
version = "0.50.0"
default-features = false
[dependencies.diskann-vector]
version = "0.50.0"
[dependencies.diskann-wide]
version = "0.50.0"
[dependencies.futures-util]
version = "0.3.31"
default-features = false
[dependencies.half]
version = "2.6.0"
features = [
"bytemuck",
"num-traits",
]
[dependencies.hashbrown]
version = "0.16.0"
features = ["default-hasher"]
default-features = false
[dependencies.num-traits]
version = "0.2.15"
[dependencies.rand]
version = "0.9.2"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.48.0"
features = [
"rt",
"rt-multi-thread",
]
[dependencies.tracing]
version = "0.1.40"
optional = true
[dev-dependencies.dashmap]
version = "6.1.0"
[dev-dependencies.futures-util]
version = "0.3.31"
default-features = false
[dev-dependencies.pin-project]
version = "1.1.8"
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.relative-path]
version = "2.0.1"
[dev-dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0.142"
[dev-dependencies.tokio]
version = "1.48.0"
features = [
"macros",
"sync",
]
[lints.clippy]
expect_used = "warn"
panic = "warn"
uninlined_format_args = "allow"
unwrap_used = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage)"]