[package]
edition = "2021"
name = "elid"
version = "0.4.24"
authors = ["Zach Handley <zachhandley@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedding Locality IDentifier - encode embeddings into sortable string IDs for vector search without vector stores, plus fast string similarity algorithms"
readme = "README.md"
keywords = [
"embeddings",
"vector-search",
"similarity",
"levenshtein",
"fuzzy-search",
]
categories = [
"algorithms",
"text-processing",
"encoding",
"science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ZachHandley/ELID"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[features]
default = [
"strings",
"embeddings",
]
embeddings = [
"dep:rand",
"dep:rand_chacha",
"dep:rand_distr",
"dep:blake3",
"dep:data-encoding",
"dep:once_cell",
"dep:thiserror",
"dep:serde",
"dep:half",
]
ffi = [
"strings",
"embeddings",
]
models = ["dep:tract-onnx"]
models-image = [
"models",
"dep:image",
]
models-text = ["models"]
python = [
"strings",
"embeddings",
"dep:pyo3",
"dep:numpy",
"dep:rayon",
]
strings = []
wasm = [
"strings",
"embeddings",
"dep:wasm-bindgen",
"dep:js-sys",
"dep:serde",
"dep:serde-wasm-bindgen",
"dep:serde_json",
"dep:getrandom",
]
[lib]
name = "elid"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[bench]]
name = "similarity_bench"
path = "benches/similarity_bench.rs"
harness = false
[dependencies.blake3]
version = "1.5"
optional = true
[dependencies.data-encoding]
version = "2.5"
optional = true
[dependencies.getrandom]
version = "0.2"
features = ["js"]
optional = true
[dependencies.half]
version = "2.4"
optional = true
[dependencies.image]
version = "0.25"
features = [
"jpeg",
"png",
]
optional = true
default-features = false
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.numpy]
version = "0.27"
optional = true
[dependencies.once_cell]
version = "1.19"
optional = true
[dependencies.pyo3]
version = "0.27"
features = ["extension-module"]
optional = true
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.rand_chacha]
version = "0.3"
optional = true
[dependencies.rand_distr]
version = "0.4"
optional = true
[dependencies.rayon]
version = "1.8"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "1.0"
optional = true
[dependencies.tract-onnx]
version = "0.21"
optional = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.wasm-bindgen-test]
version = "0.3"
[build-dependencies.cbindgen]
version = "0.26"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1