| [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" | |