# 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 = "omendb"
version = "0.0.21"
authors = ["OmenDB Team"]
build = false
exclude = [
    ".hhg/",
    ".claude/",
    ".github/",
    "benchmarks/",
    "scripts/",
    "*.md",
    "!README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast embedded vector database with HNSW + ACORN-1 filtered search"
readme = "README.md"
keywords = [
    "vector-database",
    "embedded",
    "ai",
    "hnsw",
    "acorn",
]
categories = [
    "database",
    "embedded",
]
license-file = "LICENSE"
repository = "https://github.com/omendb/omendb"

[features]
default = []
ffi = []
profile_search = []

[lib]
name = "omendb_core"
crate-type = [
    "lib",
    "cdylib",
    "staticlib",
]
path = "src/lib.rs"

[[example]]
name = "basic"
path = "examples/basic.rs"

[[example]]
name = "batch_perf_test"
path = "examples/batch_perf_test.rs"

[[example]]
name = "bench_adc_x86"
path = "examples/bench_adc_x86.rs"

[[example]]
name = "bench_rwlock_sq8"
path = "examples/bench_rwlock_sq8.rs"

[[example]]
name = "bench_sq8_detailed"
path = "examples/bench_sq8_detailed.rs"

[[example]]
name = "bench_sq8_scaling"
path = "examples/bench_sq8_scaling.rs"

[[example]]
name = "bench_sq8_search"
path = "examples/bench_sq8_search.rs"

[[example]]
name = "bench_vectorstore_sq8"
path = "examples/bench_vectorstore_sq8.rs"

[[example]]
name = "filtered_search"
path = "examples/filtered_search.rs"

[[example]]
name = "full_perf_test"
path = "examples/full_perf_test.rs"

[[example]]
name = "persistence"
path = "examples/persistence.rs"

[[example]]
name = "profile_rabitq"
path = "examples/profile_rabitq.rs"

[[example]]
name = "profile_search"
path = "examples/profile_search.rs"

[[example]]
name = "profile_search_detailed"
path = "examples/profile_search_detailed.rs"

[[example]]
name = "profile_sq8"
path = "examples/profile_sq8.rs"

[[example]]
name = "test_prefetch_stride"
path = "examples/test_prefetch_stride.rs"

[[bench]]
name = "adc_bench"
path = "benches/adc_bench.rs"
harness = false

[[bench]]
name = "distance_bench"
path = "benches/distance_bench.rs"
harness = false

[[bench]]
name = "fastscan_bench"
path = "benches/fastscan_bench.rs"
harness = false

[[bench]]
name = "hybrid_bench"
path = "benches/hybrid_bench.rs"
harness = false

[[bench]]
name = "search_bench"
path = "benches/search_bench.rs"
harness = false

[[bench]]
name = "sq8_bench"
path = "benches/sq8_bench.rs"
harness = false

[dependencies.anyhow]
version = "1.0"

[dependencies.arc-swap]
version = "1.7.1"

[dependencies.bincode]
version = "1.3"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.crc32fast]
version = "1.4"

[dependencies.fixedbitset]
version = "0.5.7"

[dependencies.lazy_static]
version = "1.4"

[dependencies.lru]
version = "0.12"

[dependencies.memmap2]
version = "0.9"

[dependencies.multiversion]
version = "0.7"

[dependencies.once_cell]
version = "1.19"

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

[dependencies.parking_lot]
version = "0.12"

[dependencies.rand]
version = "0.8"

[dependencies.rand_distr]
version = "0.4"

[dependencies.rayon]
version = "1.10"

[dependencies.roaring]
version = "0.11"

[dependencies.rustc-hash]
version = "2.1.1"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.smallvec]
version = "1.13"

[dependencies.tantivy]
version = "0.25"
features = [
    "mmap",
    "lz4-compression",
]
default-features = false

[dependencies.tempfile]
version = "3.8"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.48.0"
features = ["full"]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "json",
    "env-filter",
]

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

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.quickcheck]
version = "1.0"

[dev-dependencies.tempfile]
version = "3.23"

[profile.bench]
lto = "thin"
codegen-units = 1

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