grafeo 0.5.21

A high-performance, embeddable graph database with a Rust core and no required C dependencies
Documentation
[package]
name = "grafeo"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "A high-performance, embeddable graph database with a Rust core and no required C dependencies"
keywords = ["graph", "database", "gql", "knowledge-graph", "embedded"]
categories = ["database-implementations", "data-structures"]

[dependencies]
grafeo-engine.workspace = true
grafeo-core.workspace = true
grafeo-common.workspace = true
grafeo-adapters.workspace = true

# Platform-optimized allocators (optional)
[target.'cfg(all(not(target_os = "windows"), not(target_os = "openbsd"), not(target_env = "musl"), any(target_arch = "x86_64", target_arch = "aarch64")))'.dependencies]
tikv-jemallocator = { workspace = true, optional = true }

[target.'cfg(target_os = "windows")'.dependencies]
mimalloc = { workspace = true, optional = true }

[features]
default = ["embedded"]

# Atomic query language features
gql = ["grafeo-engine/gql"]
cypher = ["grafeo-engine/cypher"]
sparql = ["grafeo-engine/sparql", "grafeo-engine/rdf"]
gremlin = ["grafeo-engine/gremlin"]
graphql = ["grafeo-engine/graphql"]
sql-pgq = ["grafeo-engine/sql-pgq"]

# Atomic search & AI features
vector-index = ["grafeo-engine/vector-index"]
text-index = ["grafeo-engine/text-index"]
hybrid-search = ["grafeo-engine/hybrid-search"]
cdc = ["grafeo-engine/cdc"]
embed = ["grafeo-engine/embed"]  # Opt-in ONNX embedding generation (~17MB)

# Convenience groups
languages = ["gql", "cypher", "sparql", "gremlin", "graphql", "sql-pgq"]  # All query languages
ai = ["vector-index", "text-index", "hybrid-search", "cdc"]  # All AI/RAG features
storage = ["wal", "grafeo-file", "spill", "mmap"]  # Persistent storage (WAL, single-file, disk spill, mmap)
algos = ["grafeo-engine/algos"]  # Graph algorithms (SSSP, PageRank, etc.)
rdf = ["grafeo-engine/rdf"]  # RDF triple store
regex = ["grafeo-engine/regex"]  # Full regex (default for non-WASM)
regex-lite = ["grafeo-engine/regex-lite"]  # Lightweight regex (for WASM)

# Named profiles (ecosystem-aligned)
embedded = ["gql", "ai", "algos", "parallel", "regex"]  # Python libs, MCP, in-process (default)
browser = ["gql", "regex-lite"]  # WASM / grafeo-web
server = ["embedded", "languages", "storage", "rdf", "cdc"]  # grafeo-server
full = ["server"]  # Everything (except embed)

# Platform capabilities
parallel = ["grafeo-engine/parallel"]
wal = ["grafeo-engine/wal"]
spill = ["grafeo-engine/spill"]
mmap = ["grafeo-engine/mmap"]
grafeo-file = ["grafeo-engine/grafeo-file"]  # Single-file .grafeo database format

# Enable platform-optimized memory allocator (10-20% faster allocations)
jemalloc = ["tikv-jemallocator"]
mimalloc-allocator = ["mimalloc"]

[lints]
workspace = true