File size: 1,947 Bytes
8ef2d83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[package]
name = "arms-hat"
version = "0.1.0"
edition = "2021"
authors = ["Automate Capture LLC <research@automate-capture.com>"]
description = "Hierarchical Attention Tree: 100% recall at 70x faster build times than HNSW. A new database paradigm for AI memory and hierarchical semantic search."
license = "MIT"
repository = "https://github.com/automate-capture/hat"
homepage = "https://research.automate-capture.com/hat"
documentation = "https://docs.rs/arms-hat"
readme = "README.md"
keywords = ["vector-database", "semantic-search", "llm", "embeddings", "hnsw"]
categories = ["database", "science", "algorithms"]
exclude = [
    "target/",
    "src/target/",
    ".venv/",
    ".git/",
    ".claude/",
    "paper/",
    "images/",
    "python/",
    "benchmarks/",
    ".env",
]

[lib]
name = "arms_hat"
path = "src/lib.rs"
crate-type = ["cdylib", "rlib"]  # cdylib for Python, rlib for Rust

[dependencies]
# Core - minimal dependencies for pure logic
thiserror = "1.0"          # Error handling

# Python bindings
pyo3 = { version = "0.22", features = ["extension-module"], optional = true }

# Future adapters:
# parking_lot = "0.12"     # Fast locks for concurrent access
# memmap2 = "0.9"          # Memory-mapped files for NVMe

[dev-dependencies]
criterion = "0.5"          # Benchmarking
rusqlite = { version = "0.31", features = ["bundled"] }  # Benchmark DB (bundled = no system sqlite needed)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
hnsw = "0.11"              # HNSW implementation for comparison benchmarks
rand = "0.8"               # Random data generation for benchmarks
rand_distr = "0.4"         # Statistical distributions for realistic embeddings
space = "0.17"             # Distance metrics for hnsw

[features]
default = []
python = ["pyo3"]          # Enable Python bindings

# [[bench]]
# name = "proximity"
# harness = false

[profile.release]
lto = true
codegen-units = 1
panic = "abort"