[package]
name = "ripvec-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Semantic code + document search engine. Cacheless static-embedding + cross-encoder rerank by default; optional ModernBERT/BGE transformer engines with GPU backends. Tree-sitter chunking, hybrid BM25 + PageRank, composable ranking layers."
rust-version.workspace = true
readme.workspace = true
keywords = ["semantic-search", "embeddings", "code-search", "tree-sitter", "bert"]
categories = ["development-tools", "text-processing"]
[dependencies]
hf-hub.workspace = true
tokenizers.workspace = true
streaming-iterator.workspace = true
tree-sitter.workspace = true
tree-sitter-rust.workspace = true
tree-sitter-python.workspace = true
tree-sitter-javascript.workspace = true
tree-sitter-typescript.workspace = true
tree-sitter-go.workspace = true
tree-sitter-java.workspace = true
tree-sitter-c.workspace = true
tree-sitter-cpp.workspace = true
tree-sitter-bash.workspace = true
tree-sitter-ruby.workspace = true
tree-sitter-hcl.workspace = true
tree-sitter-kotlin-ng.workspace = true
tree-sitter-swift.workspace = true
tree-sitter-scala.workspace = true
tree-sitter-toml-ng.workspace = true
tree-sitter-json.workspace = true
tree-sitter-yaml.workspace = true
tree-sitter-md.workspace = true
tree-sitter-xml.workspace = true
rayon.workspace = true
ignore.workspace = true
fd-lock.workspace = true
serde_json.workspace = true
thiserror.workspace = true
anyhow.workspace = true
tracing.workspace = true
ndarray = "0.17"
tantivy = "0.26"
blas-src = { version = "0.14", optional = true, default-features = false, features = ["openblas"] }
openblas-src = { version = "0.10", optional = true, default-features = false, features = ["system"] }
accelerate-src = { version = "0.3", optional = true }
memmap2 = "0.9"
safetensors = "0.7"
crossbeam-channel = "0.5"
memchr = "2.7"
blake3 = "1.8.5"
bitcode.workspace = true
zstd = "0.13"
rkyv = { version = "0.8.16", features = ["bytecheck"] }
dirs = "6.0.0"
serde = { workspace = true, features = ["derive"] }
toml.workspace = true
libc = "0.2"
rand = "0.10.1"
rand_chacha = "0.10.0"
rand_distr = "0.6.0"
regex = "1.12.3"
bytecount = "0.6.9"
half = "2.7.1"
wide = "1.4"
rustc-hash = "2.1.2"
lasso = { version = "0.7.3", features = ["multi-threaded", "inline-more"] }
[features]
default = []
cpu = ["ndarray/blas", "dep:blas-src", "dep:openblas-src"]
cpu-accelerate = ["ndarray/blas", "dep:accelerate-src"]
collapse-rerank-trait = []
[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }
half = "2.7.1"
tempfile.workspace = true
[lints]
workspace = true