[package] name = "hnsw_rs" version = "0.3.0" authors = ["jeanpierre.both@gmail.com"] description = "Ann based on Hierarchical Navigable Small World Graphs from Yu.A. Malkov and D.A Yashunin" license = "MIT/Apache-2.0" readme = "README.md" keywords = ["algorithms", "ann", "hnsw"] repository = "https://github.com/jean-pierreBoth/hnswlib-rs" documentation = "https://docs.rs/hnsw_rs" edition = "2021" # declare a feature with no dependancy to get some modulated debug print # to be run with cargo build --features verbose_1 #verbose_1 = [ ] [profile.release] lto = true opt-level = 3 [lib] # cargo rustc --lib -- --crate-type dylib [or staticlib] or rlib (default) # if we want to avoid specifying in advance crate-type path = "src/lib.rs" #crate-type = ["cdylib"] [[example]] name = "random" path = "examples/random.rs" [[example]] name = "ann-glove" path = "examples/ann-glove25-angular.rs" [[example]] name = "ann-mnist" path = "examples/ann-mnist-784-euclidean.rs" [[example]] name = "ann-sift1m" path = "examples/ann-sift1m-128-euclidean.rs" [[example]] name = "levenshtein" path = "examples/levensthein.rs" [dependencies] # default is version spec is ^ meaning can update up to max non null version number # cargo doc --no-deps avoid dependencies doc generation # serde = { version = "1.0", features = ["derive"] } bincode = { version = "1.3" } cfg-if = { version = "1.0" } # for // parking_lot = "0.12" rayon = { version = "1.10" } num_cpus = { version = "1.16" } cpu-time = { version = "1.0" } num-traits = { version = "0.2" } # for hashing . hashbrown still needed beccause of get_key_value(&key) hashbrown = { version = "0.14" } indexmap = { version = "2.2" } rand = { version = "0.8" } lazy_static = { version = "1.4" } # mmap-rs = { version = "0.6" } # # decreasing order of log for debug build : (max_level_)trace debug info warn error off # decreasing order of log for release build (release_max_level_) .. idem #log = { version = "0.4", features = ["max_level_debug", "release_max_level_info"] } log = { version = "0.4" } env_logger = { version = "0.10" } anyhow = { version = "1.0" } #anndists = { path = "../anndists" } anndists = { version = "0.1.2" } # anndists = { git = "https://github.com/jean-pierreBoth/anndists" } # for benchmark reading, so the lbrary do not depend on hdf5 nor ndarray [dev-dependencies] hdf5 = { version = "0.8" } ndarray = { version = "0.15" } skiplist = { version = "0.5" } [features] default = [] stdsimd = ["anndists/stdsimd"] # feature for simd on stable for x86* simdeez_f = ["anndists/simdeez_f"] # feature for std simd on nightly