matten-data 0.20.0

Experimental table-to-Tensor preparation companion for matten (small PoC datasets).
Documentation

matten-data

license

Experimental (scaffold, 0.20.x family). An approved, scope-locked companion crate (RFC-033). It currently has no public API — table ingestion and conversion arrive in later releases (RFC-034, RFC-035). Pin the minor version.

Part of the matten workspace — see it for the full family.

Overview

matten-data will be a tiny helper for the boring step between table-like input and a numeric matten::Tensor:

small CSV / table-like data
  -> inspect schema
  -> select columns by name
  -> clean missing values explicitly
  -> convert to numeric explicitly
  -> matten::Tensor

That is its whole purpose. It helps you reach a Tensor; core matten computes with the Tensor; matten-mlprep prepares the numeric Tensor for modelling.

Not a dataframe library

matten-data is not a dataframe library. It deliberately has no joins, group-by, pivot, query DSL, lazy execution, indexing / loc / iloc, rolling or window operations, datetime engine, categorical dtype system, or large-data streaming.

For dataframe, query, or large-data workloads use Polars, DataFusion, Pandas, or another dataframe/query tool. matten-data is a small conversion helper for application-validated or trusted data, not a CSV firewall or malicious-input sandbox.

Relationship to core dynamic

Core matten's dynamic feature is value-level ingestion (mixed values inside a Tensor, with explicit try_numeric()). matten-data is table-level preparation (headers, named columns, schema summary, table-shaped missing-value policy) whose end goal is a numeric Tensor. It may use core dynamic internally but does not expose a second computation engine.

Status and scope

  • Maturity: experimental. The API (when added) may change; pin the version.
  • Scope lock: table-to-Tensor preparation only (RFC-033, RFC-042).
  • Dependency direction: matten-data depends on core matten; core never depends on matten-data (enforced by the dependency-boundary CI check).
  • Safe Rust only: #![forbid(unsafe_code)].

Dependency style

This crate depends on matten. When the public API lands, official examples will import Tensor from matten directly:

use matten::Tensor;
// use matten_data::Table;   // (not yet available)

Declare both matten and this crate in your Cargo.toml (RFC-032).

Compatibility

  • SemVer: pre-1.0 (0.x). Shares the matten family version (RFC-030).
  • MSRV: Rust 1.85 (edition 2024).