Skip to main content

Module store

Module store 

Source
Expand description

The DataStore trait and its result types (Phase 21).

These types are the engine’s public contract — the seam the later MCP adapter (step 21.2) serializes over JSON-RPC and the PyO3 submodule (step 21.6) hands to a notebook. Per docs/design/centaur-data-scientist.md the trait is the DuckDB-later seam: swapping the SQLite backend for a DuckDB one (step 21.8) must never change a single signature here.

Every result type derives serde Serialize / Deserialize so the MCP adapter can return it as a JSON-RPC tool result with no hand mapping. The types are deliberately honest (Phase 21 — “the gates must be honest”): QueryResult carries a truncated flag but never a fabricated total row count, and NumericDescribe follows pandas .describe() semantics exactly (sample std, linear-interpolation quartiles) rather than an approximation.

Modules§

sqlite
The SQLite DataStore backend (Phase 21).

Structs§

ColumnInfo
Per-column schema fact reported by DataStore::ingest_csv.
ColumnSummary
Per-column summary returned inside a TableSummary.
IngestReport
What DataStore::ingest_csv did: the table it (re)created and the schema it inferred.
NumericDescribe
pandas .describe() of a numeric column (Phase 21).
QueryResult
The result of a DataStore::query — a row set capped at row_cap.
TableInfo
One entry from DataStore::list_tables.
TableSummary
A full DataStore::summarize result: schema + per-column statistics.

Enums§

ColumnDtype
The SQLite storage class a column is materialized as.

Traits§

DataStore
The headless data engine (Phase 21).