[package]
edition = "2024"
name = "laurus"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified search library for lexical, vector, and semantic retrieval"
homepage = "https://github.com/mosuka/laurus"
documentation = "https://docs.rs/laurus"
readme = "README.md"
keywords = [
"search",
"vector",
"lexical",
"hybrid",
"library",
]
categories = ["text-processing"]
license = "MIT"
repository = "https://github.com/mosuka/laurus"
resolver = "2"
[features]
default = []
embeddings-all = [
"embeddings-candle",
"embeddings-multimodal",
"embeddings-openai",
]
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"]
[lib]
name = "laurus"
path = "src/lib.rs"
[[example]]
name = "hybrid_search"
path = "examples/hybrid_search.rs"
[[example]]
name = "lexical_search"
path = "examples/lexical_search.rs"
[[example]]
name = "multimodal_search"
path = "examples/multimodal_search.rs"
required-features = ["embeddings-multimodal"]
[[example]]
name = "quickstart"
path = "examples/quickstart.rs"
[[example]]
name = "search_with_candle"
path = "examples/search_with_candle.rs"
required-features = ["embeddings-candle"]
[[example]]
name = "search_with_openai"
path = "examples/search_with_openai.rs"
required-features = ["embeddings-openai"]
[[example]]
name = "synonym_graph_filter"
path = "examples/synonym_graph_filter.rs"
[[example]]
name = "vector_search"
path = "examples/vector_search.rs"
[[test]]
name = "advanced_fusion_test"
path = "tests/advanced_fusion_test.rs"
[[test]]
name = "bkd_integration_test"
path = "tests/bkd_integration_test.rs"
[[test]]
name = "chunk_management_test"
path = "tests/chunk_management_test.rs"
[[test]]
name = "deletion_logic_test"
path = "tests/deletion_logic_test.rs"
[[test]]
name = "hnsw_append_test"
path = "tests/hnsw_append_test.rs"
[[test]]
name = "hybrid_unification_test"
path = "tests/hybrid_unification_test.rs"
[[test]]
name = "mmap_test"
path = "tests/mmap_test.rs"
[[test]]
name = "schema_lexical_test"
path = "tests/schema_lexical_test.rs"
[[test]]
name = "span_integration_test"
path = "tests/span_integration_test.rs"
[[test]]
name = "unified_engine_test"
path = "tests/unified_engine_test.rs"
[[test]]
name = "unified_filter_test"
path = "tests/unified_filter_test.rs"
[[test]]
name = "unified_search_test"
path = "tests/unified_search_test.rs"
[[test]]
name = "vector_deletion_test"
path = "tests/vector_deletion_test.rs"
[[test]]
name = "vector_merge_test"
path = "tests/vector_merge_test.rs"
[[test]]
name = "vector_segment_test"
path = "tests/vector_segment_test.rs"
[[test]]
name = "wal_recovery_test"
path = "tests/wal_recovery_test.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[[bench]]
name = "distance_bench"
path = "benches/distance_bench.rs"
harness = false
[[bench]]
name = "hnsw_benchmark"
path = "benches/hnsw_benchmark.rs"
harness = false
[dependencies.ahash]
version = "0.8.12"
[dependencies.aho-corasick]
version = "1.1.4"
[dependencies.anyhow]
version = "1.0.101"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.bit-vec]
version = "0.8.0"
[dependencies.bytecheck]
version = "0.8.2"
[dependencies.byteorder]
version = "1.5.0"
[dependencies.candle-core]
version = "0.9.2"
optional = true
[dependencies.candle-nn]
version = "0.9.2"
optional = true
[dependencies.candle-transformers]
version = "0.9.2"
optional = true
[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
[dependencies.crc32fast]
version = "1.5.0"
[dependencies.crossbeam-channel]
version = "0.5.15"
[dependencies.crossbeam-deque]
version = "0.8.6"
[dependencies.csv]
version = "1.4.0"
[dependencies.fst]
version = "0.4.7"
[dependencies.futures]
version = "0.3.31"
[dependencies.hf-hub]
version = "0.4.3"
optional = true
[dependencies.image]
version = "0.25.9"
optional = true
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.lindera]
version = "2.2.0"
features = [
"embed-unidic",
"embed-ko-dic",
"embed-cc-cedict",
]
[dependencies.log]
version = "0.4.29"
[dependencies.memmap2]
version = "0.9.10"
[dependencies.num_cpus]
version = "1.17.0"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.pest]
version = "2.8.6"
[dependencies.pest_derive]
version = "2.8.6"
[dependencies.rand]
version = "0.10.0"
[dependencies.rayon]
version = "1.11.0"
[dependencies.regex]
version = "1.12.3"
[dependencies.reqwest]
version = "0.13.2"
features = ["json"]
optional = true
[dependencies.rkyv]
version = "0.8.15"
features = ["std"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.tempfile]
version = "3.25.0"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokenizers]
version = "0.22.2"
optional = true
[dependencies.tokio]
version = "1.49.0"
features = ["full"]
[dependencies.unicode-normalization]
version = "0.1.25"
[dependencies.unicode-segmentation]
version = "1.12.0"
[dependencies.uuid]
version = "1.21.0"
features = ["v4"]
[dependencies.wide]
version = "1.1.1"
[dev-dependencies.criterion]
version = "0.8.2"
[dev-dependencies.tokio-test]
version = "0.4.5"