sqlitegraph 2.2.2

Embedded graph database with full ACID transactions, HNSW vector search, dual backend support, and comprehensive graph algorithms library
Documentation
[package]
name = "sqlitegraph"
version = "2.2.2"
edition = "2024"
description = "Embedded graph database with full ACID transactions, HNSW vector search, dual backend support, and comprehensive graph algorithms library"
license = "GPL-3.0"
repository = "https://github.com/oldnordic/sqlitegraph"
documentation = "https://docs.rs/sqlitegraph"
readme = "README.md"
keywords = ["graph", "database", "sqlite", "embedded", "vector"]
categories = ["database", "data-structures"]
exclude = [
    "benches/*.json",
    "benches/*.txt",
    "internal/**",
    ".claude/**",
    "**/CLAUDE.md",
    "**/AGENTS.md",
]

[lib]
name = "sqlitegraph"
path = "src/lib.rs"

[dependencies]
rusqlite = { version = "0.31", features = ["bundled"] }
r2d2 = "0.8"
r2d2_sqlite = "0.24"
thiserror = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
bincode = "1.3"
ahash = "0.8"
parking_lot = "0.12"
rand = "0.8"
arc-swap = "1"
bytemuck = { version = "1.13", features = ["derive"] }
binrw = "0.13"
memmap2 = "0.9"
log = "0.4"
rayon = "1.10"
petgraph = "0.6"
sha2 = "0.10"

[dependencies.lru]
version = "0.12"

[dependencies.sysinfo]
version = "0.30"

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
assert_cmd = "2"
tempfile = "3"
rand = "0.8"
rustc_version = "0.4"
nix = { version = "0.27", features = ["fs", "process"] }


[features]
default = ["sqlite-backend"]

# Backend selection
sqlite-backend = []          # SQLite backend (mature, ACID transactions)
native-v3 = []                # Native V3 backend (B+Tree index, unlimited capacity - experimental)

# Development/debug features
debug = []                   # Enable debug/info logging (disabled in release for zero overhead)
bench-ci = []                # CI benchmarking
v3-bench = ["native-v3"]     # Enable V3 backend benchmarks
dependency-monitoring = []   # Enable dependency health monitoring
v3-forensics = []            # Enable forensic instrumentation for V3 backend performance analysis
v3-page-overflow-debug = []  # Enable detailed page overflow diagnostics in node page packing
memory_profiling = []        # Enable memory profiling for benchmarks

# Legacy compatibility

# Note: Profile configurations moved to workspace root Cargo.toml for proper workspace behavior

# Phase 8 Backend Comparison Benchmarks
[[bench]]
name = "bfs"
harness = false

[[bench]]
name = "k_hop"
harness = false

[[bench]]
name = "insert"
harness = false

[[bench]]
name = "hnsw"
harness = false

# Phase 7 Performance Optimization
[[bench]]
name = "comprehensive_performance"
harness = false

# Phase 7.01: Parallel WAL Recovery
[[bench]]
name = "wal_recovery_benchmarks"
harness = false

# Phase 15: Multi-layer HNSW benchmarks
[[bench]]
name = "hnsw_multilayer"
harness = false

# Phase 19: Connection pool performance benchmarks
[[bench]]
name = "connection_pool"
harness = false

# Phase 36: IO-12 Validation benchmarks

# Backend comparison: SQLite vs V3
[[bench]]
name = "backend_comparison"
harness = false

# Phase 1: SQLite vs V3 Minimal Benchmark Suite
[[bench]]
name = "sqlite_v3_comparison"
harness = false

# Phase 45: Graph Theory algorithms benchmarks
[[bench]]
name = "graph_theory_benchmarks"
harness = false

# V3 Backend benchmarks (requires native-v3 feature)
[[bench]]
name = "v3_backend_benchmarks"
harness = false
required-features = ["native-v3"]

# V3 Algorithm benchmarks (requires native-v3 feature)
[[bench]]
name = "v3_algorithm_benchmarks"
harness = false
required-features = ["native-v3"]

# Performance improvements benchmarks (Task 1)
[[bench]]
name = "concurrent_access"
harness = false
required-features = ["native-v3"]

[[bench]]
name = "cold_cache"
harness = false
required-features = ["native-v3"]

[[bench]]
name = "memory_profiling"
harness = false
required-features = ["native-v3", "memory_profiling"]

[[bench]]
name = "real_datasets"
harness = false
required-features = ["native-v3"]

# Parallel BFS benchmarks (requires native-v3 feature)
[[bench]]
name = "parallel_bfs"
harness = false
required-features = ["native-v3"]

# Adaptive page sizing benchmarks (requires native-v3 feature)
[[bench]]
name = "adaptive_page_simple"
harness = false
required-features = ["native-v3"]