laurus 0.1.0

Unified search library for lexical, vector, and semantic retrieval
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 = "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"