rust-version = "1.92" in [workspace.package], inherited by every crate. 1.92 is the floor: wgpu (clawhdf5-gpu) requires it, and the whole workspace, Python bindings included, checks cleanly on it. ci-test.sh reads the version from Cargo.toml and checks the workspace on exactly that toolchain, so the manifests and the README badge cannot drift from what actually builds. The badge said 1.75, below edition 2024's own floor. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
69 lines
2.6 KiB
TOML
69 lines
2.6 KiB
TOML
[package]
|
|
name = "clawhdf5-agent"
|
|
version = "2.7.0"
|
|
edition = "2024"
|
|
rust-version.workspace = true
|
|
description = "HDF5-backed persistent memory store for on-device AI agents"
|
|
license = "MIT"
|
|
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
|
|
readme = "README.md"
|
|
keywords = ["agent", "memory", "hdf5", "vector-search", "embedding"]
|
|
categories = ["database", "science", "algorithms"]
|
|
|
|
[dependencies]
|
|
clawhdf5-format = { path = "../clawhdf5-format", version = "2.7.0", features = ["parallel", "fast-checksum"] }
|
|
clawhdf5 = { path = "../clawhdf5", version = "2.7.0" }
|
|
clawhdf5-io = { path = "../clawhdf5-io", version = "2.7.0", features = ["mmap"] }
|
|
clawhdf5-accel = { path = "../clawhdf5-accel", version = "2.7.0" }
|
|
clawhdf5-ann = { path = "../clawhdf5-ann", version = "2.7.0", optional = true }
|
|
clawhdf5-gpu = { path = "../clawhdf5-gpu", version = "2.7.0", optional = true, default-features = false }
|
|
serde = { workspace = true }
|
|
byteorder = "1"
|
|
half = { workspace = true, optional = true }
|
|
rayon = { version = "1", optional = true }
|
|
matrixmultiply = { version = "0.3", optional = true }
|
|
cblas-sys = { version = "0.1", optional = true }
|
|
tokio = { version = "1", features = ["rt", "sync", "macros", "time"], optional = true }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
accelerate-src = { version = "0.3", optional = true }
|
|
|
|
[target.'cfg(not(target_os = "macos"))'.dependencies]
|
|
openblas-src = { version = "0.10", optional = true, features = ["cblas"] }
|
|
|
|
[dev-dependencies]
|
|
tempfile = { workspace = true }
|
|
criterion = { workspace = true }
|
|
rayon = "1"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "sync", "macros"] }
|
|
|
|
[[bench]]
|
|
name = "bench"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "memory_bench"
|
|
harness = false
|
|
|
|
[features]
|
|
default = ["float16", "hnsw", "parallel"]
|
|
float16 = ["half"]
|
|
# Rayon-parallel brute-force search strategies, and a parallel bulk build of
|
|
# the HNSW index (same graph, several times faster on a multi-core machine).
|
|
parallel = ["rayon", "clawhdf5-ann?/parallel"]
|
|
# Compress embeddings with Zstd instead of deflate when
|
|
# `MemoryConfig::compression` is on. Off by default: it links libzstd (C).
|
|
zstd = ["clawhdf5/zstd"]
|
|
# HNSW approximate-nearest-neighbour acceleration for the vector stage of
|
|
# hybrid_search. On by default; the index is rebuilt from the cache on demand
|
|
# and stays self-consistent with the persisted memory store. Disable with
|
|
# `--no-default-features` (plus re-enabling other defaults) to force the exact
|
|
# linear cosine scan.
|
|
hnsw = ["clawhdf5-ann"]
|
|
agent = []
|
|
gpu = ["clawhdf5-gpu/gpu-wgpu"]
|
|
fast-math = ["matrixmultiply"]
|
|
accelerate = ["accelerate-src", "cblas-sys"]
|
|
openblas = ["openblas-src", "cblas-sys"]
|
|
async = ["tokio"]
|