laurus 0.1.0

Unified search library for lexical, vector, and semantic retrieval
Documentation
[package]
name = "laurus"
version = { workspace = true }
edition = { workspace = true }
description = { workspace = true }
documentation = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
readme = "README.md"
keywords = { workspace = true }
categories = { workspace = true }
license = { workspace = true }
autoexamples = false

[dependencies]
ahash = "0.8.12"
aho-corasick = "1.1.4"
anyhow = "1.0.101"
async-trait = "0.1.89"
bytecheck = "0.8.2"
bit-vec = "0.8.0"
byteorder = "1.5.0"
chrono = { version = "0.4.42", features = ["serde"] }
crc32fast = "1.5.0"
crossbeam-channel = "0.5.15"
crossbeam-deque = "0.8.6"
csv = "1.4.0"
fst = "0.4.7"
futures = "0.3.31"
lazy_static = "1.5.0"
lindera = { version = "2.2.0", features = [
    "embed-unidic",
    "embed-ko-dic",
    "embed-cc-cedict",
] }
log = "0.4.29"
memmap2 = "0.9.10"
num_cpus = "1.17.0"
parking_lot = "0.12.5"
pest = "2.8.6"
pest_derive = "2.8.6"
rand = "0.10.0"
rayon = "1.11.0"
regex = "1.12.3"
rkyv = { version = "0.8.15", features = ["std"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
thiserror = "2.0.18"
tokio = { version = "1.49.0", features = ["full"] }
unicode-segmentation = "1.12.0"
unicode-normalization = "0.1.25"
uuid = { version = "1.21.0", features = ["v4"] }
wide = "1.1.1"
tempfile = "3.25.0"

# Optional embedding dependencies
candle-core = { version = "0.9.2", optional = true }
candle-nn = { version = "0.9.2", optional = true }
candle-transformers = { version = "0.9.2", optional = true }
hf-hub = { version = "0.4.3", optional = true }
tokenizers = { version = "0.22.2", optional = true }
reqwest = { version = "0.13.2", features = ["json"], optional = true }
image = { version = "0.25.9", optional = true }

[features]
default = []
embeddings-candle = [
    "candle-core",
    "candle-nn",
    "candle-transformers",
    "hf-hub",
    "tokenizers",
]
embeddings-multimodal = [
    "candle-core",
    "candle-nn",
    "candle-transformers",
    "hf-hub",
    "tokenizers",
    "image",
]
embeddings-openai = ["reqwest"]
embeddings-all = [
    "embeddings-candle",
    "embeddings-multimodal",
    "embeddings-openai",
]

[[example]]
name = "quickstart"

[[example]]
name = "lexical_search"

[[example]]
name = "vector_search"

[[example]]
name = "hybrid_search"

[[example]]
name = "synonym_graph_filter"

[[example]]
name = "search_with_candle"
required-features = ["embeddings-candle"]

[[example]]
name = "search_with_openai"
required-features = ["embeddings-openai"]

[[example]]
name = "multimodal_search"
required-features = ["embeddings-multimodal"]

[[bench]]
name = "bench"
harness = false

[[bench]]
name = "hnsw_benchmark"
harness = false

[[bench]]
name = "distance_bench"
harness = false

[dev-dependencies]
criterion = "0.8.2"
tokio-test = "0.4.5"