kiddo 5.3.0

A high-performance, flexible, ergonomic k-d tree library. Ideal for geo- and astro- nearest-neighbour and k-nearest-neighbor queries
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "kiddo"
version = "5.3.0"
authors = ["Scott Donnelly <scott@donnel.ly>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance, flexible, ergonomic k-d tree library. Ideal for geo- and astro- nearest-neighbour and k-nearest-neighbor queries"
documentation = "https://docs.rs/kiddo"
readme = "README.md"
keywords = [
    "kd-tree",
    "kdtree",
    "kd",
    "nearest-neighbor",
    "knn",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/sdd/kiddo"
resolver = "2"

[package.metadata.docs.rs]
all-features = true

[features]
csv = ["dep:csv"]
default = [
    "tracing",
    "fixed",
]
f16 = ["dep:half"]
fixed = ["dep:fixed"]
las = ["dep:las"]
modified_van_emde_boas = []
rkyv = ["dep:rkyv"]
rkyv_08 = ["dep:rkyv_08"]
serde = [
    "dep:serde",
    "serde/derive",
    "dep:serde_derive",
    "dep:serde_with",
    "fixed/serde",
    "aligned-vec/serde",
]
simd = []
test_utils = [
    "dep:rand",
    "dep:rand_chacha",
    "dep:rayon",
    "dep:fixed",
]
tracing = [
    "dep:tracing",
    "dep:tracing-subscriber",
]

[lib]
name = "kiddo"
path = "src/lib.rs"

[[example]]
name = "avx2-check"
path = "examples/avx2-check.rs"

[[example]]
name = "build-float-doctest-tree"
path = "examples/build-float-doctest-tree.rs"
required-features = ["rkyv"]

[[example]]
name = "build-float-doctest-tree-rkyv_08"
path = "examples/build-float-doctest-tree-rkyv_08.rs"
required-features = ["rkyv_08"]

[[example]]
name = "build-immutable-doctest-tree"
path = "examples/build-immutable-doctest-tree.rs"
required-features = ["rkyv"]

[[example]]
name = "build-immutable-doctest-tree-rkyv_08"
path = "examples/build-immutable-doctest-tree-rkyv_08.rs"
required-features = ["rkyv_08"]

[[example]]
name = "check-select-nth-unstable"
path = "examples/check-select-nth-unstable.rs"

[[example]]
name = "cities"
path = "examples/cities.rs"
required-features = ["csv"]

[[example]]
name = "float-rkyv_08-deserialize"
path = "examples/float-rkyv_08-deserialize.rs"
required-features = ["rkyv_08"]

[[example]]
name = "float-rkyv_08-serialize"
path = "examples/float-rkyv_08-serialize.rs"
required-features = ["rkyv_08"]

[[example]]
name = "half"
path = "examples/half.rs"
required-features = ["f16"]

[[example]]
name = "immutable-large"
path = "examples/immutable-large.rs"
required-features = ["test_utils"]

[[example]]
name = "immutable-rkyv-deserialize"
path = "examples/immutable-rkyv-deserialize.rs"
required-features = ["rkyv"]

[[example]]
name = "immutable-rkyv-serialize"
path = "examples/immutable-rkyv-serialize.rs"
required-features = ["rkyv"]

[[example]]
name = "immutable-rkyv_08-deserialize"
path = "examples/immutable-rkyv_08-deserialize.rs"
required-features = ["rkyv_08"]

[[example]]
name = "immutable-rkyv_08-serialize"
path = "examples/immutable-rkyv_08-serialize.rs"
required-features = ["rkyv_08"]

[[example]]
name = "pointcloud-csv"
path = "examples/pointcloud-csv.rs"
required-features = [
    "csv",
    "rkyv",
]

[[example]]
name = "pointcloud-las"
path = "examples/pointcloud-las.rs"
required-features = [
    "las",
    "rkyv",
]

[[example]]
name = "rkyv"
path = "examples/rkyv.rs"
required-features = [
    "csv",
    "rkyv",
]

[[example]]
name = "rkyv-large-deserialize"
path = "examples/rkyv-large-deserialize.rs"
required-features = ["rkyv"]

[[example]]
name = "rkyv-large-serialize"
path = "examples/rkyv-large-serialize.rs"
required-features = ["rkyv"]

[[example]]
name = "serde"
path = "examples/serde.rs"
required-features = [
    "csv",
    "serde",
]

[[bench]]
name = "add_points"
path = "benches/add_points.rs"
harness = false
required-features = ["test_utils"]

[[bench]]
name = "best_n"
path = "benches/best_n.rs"
harness = false
required-features = ["test_utils"]

[[bench]]
name = "nearest_n"
path = "benches/nearest_n.rs"
harness = false
required-features = ["test_utils"]

[[bench]]
name = "nearest_one"
path = "benches/nearest_one.rs"
harness = false
required-features = ["test_utils"]

[[bench]]
name = "nearest_one_immutable"
path = "benches/nearest_one_immutable.rs"
harness = false
required-features = ["test_utils"]

[[bench]]
name = "within"
path = "benches/within.rs"
harness = false
required-features = ["test_utils"]

[[bench]]
name = "within_unsorted"
path = "benches/within_unsorted.rs"
harness = false
required-features = ["test_utils"]

[dependencies.aligned-vec]
version = "0.6.1"

[dependencies.array-init]
version = "2.1.0"

[dependencies.az]
version = "1"

[dependencies.cmov]
version = "0.5"

[dependencies.csv]
version = "1"
optional = true

[dependencies.divrem]
version = "1"

[dependencies.fixed]
version = "1"
features = ["num-traits"]
optional = true

[dependencies.half]
version = "=2.4.1"
features = ["num-traits"]
optional = true

[dependencies.las]
version = "0.9"
features = ["laz-parallel"]
optional = true

[dependencies.num-traits]
version = "0.2"

[dependencies.ordered-float]
version = "5"

[dependencies.rand]
version = "0.9"
optional = true

[dependencies.rand_chacha]
version = "0.9"
optional = true

[dependencies.rayon]
version = "1"
optional = true

[dependencies.rkyv]
version = "0.7"
features = [
    "alloc",
    "copy_unsafe",
    "size_64",
]
optional = true
default-features = false

[dependencies.rkyv_08]
version = "0.8.9"
optional = true
package = "rkyv"

[dependencies.serde]
version = "1"
optional = true

[dependencies.serde_derive]
version = "1"
optional = true

[dependencies.serde_with]
version = "3"
optional = true

[dependencies.sorted-vec]
version = "0.8"

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
optional = true

[dev-dependencies.bincode]
version = "2"
features = ["serde"]

[dev-dependencies.codspeed-criterion-compat]
version = "4.0"

[dev-dependencies.criterion]
version = "0.6"

[dev-dependencies.elapsed]
version = "0.1.2"

[dev-dependencies.flate2]
version = "1"
features = ["zlib-ng-compat"]
default-features = false

[dev-dependencies.itertools]
version = "0.14"

[dev-dependencies.las]
version = "0.9"
features = ["laz-parallel"]

[dev-dependencies.memmap]
version = "0.7"

[dev-dependencies.proc-macro2]
version = "1"
features = [
    "default",
    "proc-macro",
]

[dev-dependencies.radians]
version = "0.3"

[dev-dependencies.rand]
version = "0.9"

[dev-dependencies.rand_distr]
version = "0.5"

[dev-dependencies.rayon]
version = "1"

[dev-dependencies.rstest]
version = "0.26"

[dev-dependencies.serde]
version = "1"
features = [
    "derive",
    "rc",
]

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.ubyte]
version = "0.10"

[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies.generator]
version = "0.8.4"

[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
debug = 2

[profile.release]
lto = true
codegen-units = 1
debug = 2