Skip to main content

entrenar/storage/sqlite/
mod.rs

1//! SQLite Backend for Experiment Storage (MLOPS-001)
2//!
3//! Sovereign, local-first storage using SQLite with WAL mode.
4//!
5//! # Toyota Way: (Heijunka)
6//!
7//! SQLite provides consistent, predictable performance without external dependencies.
8//!
9//! # Example
10//!
11//! ```ignore
12//! use entrenar::storage::{SqliteBackend, ExperimentStorage, RunStatus};
13//!
14//! let backend = SqliteBackend::open("./experiments.db")?;
15//! let exp_id = backend.create_experiment("my-exp", None)?;
16//! let run_id = backend.create_run(&exp_id)?;
17//! backend.log_metric(&run_id, "loss", 0, 0.5)?;
18//! ```
19//!
20//! # Module Organization
21//!
22//! - `backend` - Core SqliteBackend struct and basic CRUD operations
23//! - `queries` - Search, list, and parameter filtering methods
24//! - `metrics` - Metric logging and retrieval (implements ExperimentStorage trait)
25//! - `artifacts` - Artifact storage and retrieval
26//! - `types` - Type definitions (ParameterValue, Experiment, Run, ArtifactRef)
27
28mod artifacts;
29mod backend;
30mod metrics;
31mod queries;
32mod types;
33
34pub use backend::SqliteBackend;
35pub use types::{ArtifactRef, Experiment, FilterOp, ParamFilter, ParameterValue, Run};