[[bench]]
harness = false
name = "knn_bench"
path = "benches/knn_bench.rs"
[dependencies.bon]
version = "3.0"
[dependencies.ndarray]
features = ["rayon"]
version = "0.16"
[dependencies.ndarray-rand]
version = "0.15"
[dependencies.petal-decomposition]
version = "0.8"
[dependencies.rand]
features = ["small_rng"]
version = "0.8"
[dependencies.rand_pcg]
version = "0.3"
[dependencies.rayon]
version = "1.10"
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.usearch]
default-features = false
features = ["fp16lib"]
version = "2.16"
[dependencies.wide]
version = "0.7"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.mimalloc]
version = "0.1"
[dev-dependencies.quickcheck]
version = "1.0"
[dev-dependencies.quickcheck_macros]
version = "1.0"
[features]
default = []
intel-mkl-static = ["petal-decomposition/intel-mkl-static", "ndarray/blas"]
intel-mkl-system = ["petal-decomposition/intel-mkl-system", "ndarray/blas"]
netlib-static = ["petal-decomposition/netlib-static", "ndarray/blas"]
netlib-system = ["petal-decomposition/netlib-system", "ndarray/blas"]
openblas-static = ["petal-decomposition/openblas-static", "ndarray/blas"]
openblas-system = ["petal-decomposition/openblas-system", "ndarray/blas"]
simsimd = ["usearch/simsimd"]
[lib]
name = "pacmap"
path = "src/lib.rs"
[lints.clippy]
blocks_in_conditions = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_sign_loss = "allow"
create_dir = "warn"
dbg_macro = "warn"
default_numeric_fallback = "warn"
empty_structs_with_brackets = "warn"
error_impl_error = "warn"
exit = "warn"
expect_used = "deny"
format_push_string = "warn"
if_then_some_else_none = "warn"
impl_trait_in_params = "warn"
many-single-char-names = "allow"
missing_assert_message = "warn"
module_name_repetitions = "allow"
multiple_inherent_impl = "warn"
mutex_atomic = "warn"
needless_raw_strings = "warn"
panic = "deny"
print_stderr = "warn"
print_stdout = "warn"
rc_mutex = "warn"
redundant_type_annotations = "warn"
rest_pat_in_fully_bound_structs = "warn"
same_name_method = "warn"
self_named_module_files = "warn"
semicolon_outside_block = "warn"
str_to_string = "warn"
string_lit_chars_any = "warn"
string_to_string = "warn"
struct_field_names = "allow"
todo = "warn"
try_err = "warn"
unimplemented = "warn"
unnecessary_self_imports = "warn"
unneeded_field_pattern = "warn"
unreachable = "warn"
unwrap_used = "deny"
verbose_file_reads = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unsafe_code = "deny"
[package]
authors = ["Joshua Griffith <joshua@beamform.io>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["science", "algorithms", "mathematics"]
description = "Pairwise Controlled Manifold Approximation (PaCMAP) for dimensionality reduction"
documentation = "https://docs.rs/pacmap"
edition = "2021"
keywords = ["embedding", "dimension-reduction", "pacmap", "algorithms"]
license = "Apache-2.0"
name = "pacmap"
readme = "README.md"
repository = "https://github.com/beamform/pacmap-rs"
version = "0.2.2"
[profile.bench]
codegen-units = 1
lto = "fat"
opt-level = 3
[profile.release]
codegen-units = 1
debug = 2
lto = "fat"
opt-level = 3
panic = "abort"