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 query;
31pub mod session;
32pub mod transaction;
33
34pub use admin::{
35 AdminService, CompactionStats, DatabaseInfo, DatabaseMode, DatabaseStats, DumpFormat,
36 DumpMetadata, IndexInfo, LpgSchemaInfo, RdfSchemaInfo, SchemaInfo, ValidationError,
37 ValidationResult, ValidationWarning, WalStatus,
38};
39pub use catalog::{Catalog, CatalogError, IndexDefinition, IndexType};
40pub use config::{Config, ConfigError, DurabilityMode, GraphModel};
41pub use database::GrafeoDB;
42pub use session::Session;