grafeo_engine/lib.rs
1//! # grafeo-engine
2//!
3//! The engine behind Grafeo. You'll find everything here for creating databases,
4//! running queries, and managing transactions.
5//!
6//! Most users should start with the main `grafeo` crate, which re-exports the
7//! key types. If you're here directly, [`GrafeoDB`] is your entry point.
8//!
9//! ## Modules
10//!
11//! - [`database`] - Create and manage databases with [`GrafeoDB`]
12//! - [`session`] - Lightweight handles for concurrent access
13//! - [`config`] - Tune memory, threads, and durability settings
14//! - [`transaction`] - MVCC transaction management (snapshot isolation)
15//! - [`query`] - The full query pipeline: parsing, planning, optimization, execution
16//! - [`catalog`] - Schema metadata: labels, property keys, indexes
17//! - [`admin`] - Admin API types for inspection, backup, and maintenance
18
19/// The version of the grafeo-engine crate (from Cargo.toml).
20pub const VERSION: &str = env!("CARGO_PKG_VERSION");
21
22pub mod admin;
23pub mod catalog;
24#[cfg(feature = "cdc")]
25pub mod cdc;
26pub mod config;
27pub mod database;
28#[cfg(feature = "embed")]
29pub mod embedding;
30pub mod memory_usage;
31#[cfg(feature = "algos")]
32pub mod procedures;
33pub mod query;
34pub mod session;
35pub mod transaction;
36
37pub use admin::{
38 AdminService, CompactionStats, DatabaseInfo, DatabaseMode, DatabaseStats, DumpFormat,
39 DumpMetadata, IndexInfo, LpgSchemaInfo, RdfSchemaInfo, SchemaInfo, ValidationError,
40 ValidationResult, ValidationWarning, WalStatus,
41};
42pub use catalog::{Catalog, CatalogError, IndexDefinition, IndexType};
43pub use config::{Config, ConfigError, DurabilityMode, GraphModel};
44pub use database::GrafeoDB;
45pub use grafeo_core::graph::{GraphStore, GraphStoreMut};
46pub use memory_usage::MemoryUsage;
47pub use session::Session;
48pub use transaction::{CommitInfo, PreparedCommit};