[package]
name = "ripvec-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Semantic code search engine — GPU-accelerated ModernBERT embeddings, tree-sitter chunking, hybrid BM25+vector ranking"
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
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.25"
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"
mlx-rs = { version = "0.25", optional = true, features = ["safetensors"] }
cudarc = { version = "0.19.4", optional = true, features = ["cublas", "cublaslt", "driver", "nvrtc", "f16", "cuda-13010"] }
objc2 = { version = "0.6", optional = true }
objc2-metal = { version = "0.3", optional = true, features = [
"MTLDevice", "MTLBuffer", "MTLCommandQueue", "MTLCommandBuffer",
"MTLComputeCommandEncoder", "MTLComputePipeline", "MTLLibrary",
"MTLResource", "MTLAllocation", "MTLCommandEncoder", "MTLTypes",
] }
objc2-foundation = { version = "0.3", optional = true, features = [
"NSString", "NSError", "NSObject",
] }
block2 = { version = "0.6", optional = true }
objc2-metal-performance-shaders = { version = "0.3", optional = true, features = [
"MPSMatrixMultiplication", "MPSMatrix", "MPSKernel", "MPSCore", "MPSCoreTypes",
] }
crossbeam-channel = "0.5"
memchr = "2.7"
blake3 = "1.8.4"
bitcode.workspace = true
zstd = "0.13"
rkyv = { version = "0.8.15", features = ["bytecheck"] }
dirs = "6.0.0"
serde = { workspace = true, features = ["derive"] }
toml.workspace = true
libc = "0.2"
rand = "0.10.0"
rand_chacha = "0.10.0"
rand_distr = "0.6.0"
[features]
default = []
cuda = ["dep:cudarc"]
cpu = ["ndarray/blas", "dep:blas-src", "dep:openblas-src"]
cpu-accelerate = ["ndarray/blas", "dep:accelerate-src"]
mlx = ["dep:mlx-rs"]
metal = ["dep:objc2", "dep:objc2-metal", "dep:objc2-foundation", "dep:block2", "dep:objc2-metal-performance-shaders"]
[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }
half = "2.7.1"
tempfile.workspace = true
tokenizers = "0.22.2"
[[bench]]
name = "pipeline"
harness = false
[lints]
workspace = true