ruvector-postgres 2.0.1

High-performance PostgreSQL vector database extension v2 - pgvector drop-in replacement with 230+ SQL functions, SIMD acceleration, Flash Attention, GNN layers, hybrid search, multi-tenancy, self-healing, and self-learning capabilities
# 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 = "ruvector-postgres"
version = "2.0.1"
authors = ["ruv.io Team <info@ruv.io>"]
build = "build.rs"
exclude = [
    "docker/",
    "tests/",
    "benches/",
    "examples/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance PostgreSQL vector database extension v2 - pgvector drop-in replacement with 230+ SQL functions, SIMD acceleration, Flash Attention, GNN layers, hybrid search, multi-tenancy, self-healing, and self-learning capabilities"
homepage = "https://github.com/ruvnet/ruvector"
documentation = "https://docs.rs/ruvector-postgres"
readme = "README.md"
keywords = [
    "postgresql",
    "vector-database",
    "embeddings",
    "pgvector",
    "hnsw",
]
categories = [
    "database",
    "science",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/ruvnet/ruvector"

[package.metadata.pgrx]
pg14 = "pg14"
pg15 = "pg15"
pg16 = "pg16"
pg17 = "pg17"

[features]
ai-complete = [
    "learning",
    "attention",
    "gnn",
    "routing",
    "gated-transformer",
]
all-features = [
    "ai-complete",
    "graph-complete",
    "embeddings",
]
attention = []
default = ["pg17"]
embeddings = ["dep:fastembed"]
gated-transformer = ["dep:ruvector-mincut-gated-transformer"]
gnn = []
graph = []
graph-complete = [
    "hyperbolic",
    "sparse",
    "graph",
]
hyperbolic = []
index-all = [
    "index-hnsw",
    "index-ivfflat",
]
index-hnsw = []
index-ivfflat = []
learning = []
neon-compat = []
pg14 = [
    "pgrx/pg14",
    "pgrx-tests/pg14",
]
pg15 = [
    "pgrx/pg15",
    "pgrx-tests/pg15",
]
pg16 = [
    "pgrx/pg16",
    "pgrx-tests/pg16",
]
pg17 = [
    "pgrx/pg17",
    "pgrx-tests/pg17",
]
pg_test = []
quant-all = ["quantization-all"]
quantization-all = [
    "quantization-scalar",
    "quantization-product",
    "quantization-binary",
]
quantization-binary = []
quantization-product = []
quantization-scalar = []
routing = []
simd-auto = []
simd-avx2 = []
simd-avx512 = []
simd-native = []
simd-neon = []
sparse = []

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

[[bin]]
name = "download-models"
path = "scripts/download_models.rs"
required-features = ["embeddings"]

[[bin]]
name = "pgrx_embed_ruvector-postgres"
path = "src/bin/pgrx_embed.rs"

[dependencies.bincode]
version = "1.3"

[dependencies.bitvec]
version = "1.0"

[dependencies.chrono]
version = "0.4"

[dependencies.crossbeam]
version = "0.8"

[dependencies.dashmap]
version = "6.0"

[dependencies.fastembed]
version = "5"
optional = true

[dependencies.half]
version = "2.4"
features = [
    "std",
    "serde",
]

[dependencies.home]
version = "=0.5.9"

[dependencies.lazy_static]
version = "1.4"

[dependencies.memmap2]
version = "0.9"

[dependencies.once_cell]
version = "1.19"

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

[dependencies.parking_lot]
version = "0.12"

[dependencies.pgrx]
version = "0.12"

[dependencies.priority-queue]
version = "2.0"

[dependencies.rand]
version = "0.8"

[dependencies.rand_chacha]
version = "0.3"

[dependencies.rayon]
version = "1.10"

[dependencies.rkyv]
version = "0.8"

[dependencies.ruvector-mincut-gated-transformer]
version = "0.1.0"
optional = true

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

[dependencies.serde_json]
version = "1.0"

[dependencies.simsimd]
version = "5.9"

[dependencies.thiserror]
version = "1.0"

[dependencies.tracing]
version = "0.1"

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

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

[dev-dependencies.pgrx-tests]
version = "0.12"

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

[dev-dependencies.rand]
version = "0.8"

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