sqlite-graphrag 1.0.5

Local GraphRAG memory for LLMs in a single SQLite file
Documentation
[package]
name = "sqlite-graphrag"
version = "1.0.5"
edition = "2021"
rust-version = "1.88"
description = "Local GraphRAG memory for LLMs in a single SQLite file"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/daniloaguiarbr/sqlite-graphrag"
homepage = "https://docs.rs/sqlite-graphrag"
documentation = "https://docs.rs/sqlite-graphrag"
readme = "README.md"
keywords = ["graphrag", "sqlite", "llm", "embeddings", "memory"]
categories = ["command-line-utilities", "database"]
default-run = "sqlite-graphrag"
exclude = [
    ".serena/",
    ".claude/",
    ".vscode/",
    ".idea/",
    "logs/",
    "memory/",
    "docs_rules/",
    "/CLAUDE.md",
    "/AGENTS.md",
    "/MEMORY.md",
    "ralph-loop.local.md",
    "*.profraw",
    "*.profdata",
    "*.log",
    "graphrag.sqlite",
    "graphrag.sqlite-shm",
    "graphrag.sqlite-wal",
    "*.sqlite",
    "*.sqlite-shm",
    "*.sqlite-wal",
]

[[bin]]
name = "sqlite-graphrag"
path = "src/main.rs"

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

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

[[test]]
name = "loom_lock_slots"
path = "tests/loom_lock_slots.rs"

[dependencies]
rusqlite = { version = "0.32", features = ["bundled", "blob", "load_extension", "functions", "trace"] }
sqlite-vec = "0.1.6"
fastembed = "5"
ort = "=2.0.0-rc.11"
clap = { version = "4.5", features = ["derive", "env"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["json", "env-filter"] }
tracing-appender = "0.2"
refinery = { version = "0.8", features = ["rusqlite"] }
anyhow = "1"
thiserror = "2"
blake3 = "1"
slug = "0.1"
uuid = { version = "1", features = ["v4", "serde"] }
directories = "5"
fs4 = { version = "0.9", features = ["sync"] }
interprocess = "2"
notify = "6"
regex = "1"
toml = "0.8"
tokio = { version = "1", features = ["full"] }
zerocopy = { version = "0.7", features = ["derive"] }
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
chrono-tz = "0.10"
sysinfo = { version = "0.32", default-features = false, features = ["system"] }
ctrlc = { version = "3.4", features = ["termination"] }
# Pin preventivo — constant_time_eq 0.4.3 bumped MSRV para 1.95.0 em versão patch.
# Entra como dep transitiva de blake3 (range ^0.4). Sem este pin, `cargo install`
# sem --locked resolve 0.4.3 e quebra a instalação em toolchains 1.88..1.94.
# Reavaliar quando CI passar em 1.95 e `rust-version` avançar para 1.95.
constant_time_eq = "=0.4.2"

[dev-dependencies]
assert_cmd = "2"
criterion = { version = "0.5", features = ["html_reports"] }
proptest = { version = "1", features = ["std"] }
tempfile = "3"
predicates = "3"
serde_json = "1"
serial_test = "3"
mockall = "0.13"
wiremock = "0.6"
libc = "0.2"
jsonschema = "0.29"
[target.'cfg(loom)'.dev-dependencies]
# Só compila quando RUSTFLAGS="--cfg loom" é passado — previne livelock térmico.
# Incidente 2026-04-19: loom ativado sem gate saturou i9-14900KF em Tjmax 100°C.
loom = "0.7"

[profile.release]
lto = true
codegen-units = 1
strip = true
opt-level = 3

[features]
# Opt-in para testes pesados futuros (stress/property exaustivo).
slow-tests = []

[profile.dev]
opt-level = 1

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] }