[package]
edition = "2021"
name = "hanzo-database"
version = "1.1.13"
authors = ["Hanzo AI Inc"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Multi-backend database abstraction for Hanzo Node - Supports LanceDB, DuckDB, PostgreSQL, and more"
homepage = "https://hanzo.ai"
readme = "README.md"
keywords = [
"database",
"vector",
"multimodal",
"lancedb",
"duckdb",
]
categories = [
"database",
"science",
]
license = "Apache-2.0"
repository = "https://github.com/hanzonet/network"
[features]
all-backends = [
"backend-lancedb",
"backend-duckdb",
"backend-postgres",
"backend-redis",
"backend-sqlite",
]
backend-duckdb = ["duckdb"]
backend-lancedb = [
"lancedb",
"arrow-array",
"arrow-schema",
"arrow-ipc",
"parquet",
"multimodal",
]
backend-postgres = ["sqlx"]
backend-redis = ["redis"]
backend-sqlite = ["rusqlite"]
default = []
migration = ["backend-sqlite"]
multimodal = [
"image",
"arrow-array",
"arrow-schema",
]
[lib]
name = "hanzo_database"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0.86"
[dependencies.arrow-array]
version = "55.2"
optional = true
[dependencies.arrow-ipc]
version = "55.2"
optional = true
[dependencies.arrow-schema]
version = "55.2"
optional = true
[dependencies.async-trait]
version = "0.1.81"
[dependencies.base64]
version = "0.22.0"
[dependencies.bincode]
version = "1.3.3"
[dependencies.blake3]
version = "1.5"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.deadpool]
version = "0.12"
[dependencies.deadpool-runtime]
version = "0.1"
[dependencies.duckdb]
version = "0.10"
optional = true
[dependencies.futures]
version = "0.3.30"
[dependencies.hanzo-embed]
version = "1.1.13"
[dependencies.hanzo-messages]
version = "1.1.13"
[dependencies.image]
version = "0.25"
optional = true
[dependencies.lancedb]
version = "0.22.3"
optional = true
[dependencies.log]
version = "0.4.20"
[dependencies.parquet]
version = "55.2"
optional = true
[dependencies.redis]
version = "0.25"
features = [
"aio",
"tokio-comp",
]
optional = true
[dependencies.rusqlite]
version = "0.32.1"
features = ["bundled"]
optional = true
[dependencies.serde]
version = "1.0.219"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.117"
[dependencies.sqlx]
version = "0.8"
features = [
"postgres",
"runtime-tokio-rustls",
"sqlite",
]
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.36"
features = [
"rt",
"rt-multi-thread",
"macros",
"fs",
"io-util",
"net",
"sync",
"time",
]
[dependencies.uuid]
version = "1.8.0"
features = [
"v4",
"serde",
]
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio-test]
version = "0.4"