runmat-runtime 0.6.0

Core runtime for RunMat with builtins, BLAS/LAPACK integration, and execution APIs
Documentation
{
  "title": "parquetread",
  "category": "io/tabular",
  "keywords": ["parquetread", "parquet", "table", "SelectedVariableNames", "RowGroups", "OutputType"],
  "summary": "Read Parquet columnar data into a table.",
  "gpu_support": {
    "elementwise": false,
    "reduction": false,
    "precisions": [],
    "broadcasting": "none",
    "notes": "Parquet decoding is host file I/O and schema conversion. GPU-resident inputs are gathered before the filename/options are inspected."
  },
  "fusion": {
    "elementwise": false,
    "reduction": false,
    "max_inputs": 5,
    "constants": "inline"
  },
  "requires_feature": null,
  "tested": {
    "unit": "builtins::table::tests::{parquetread_imports_common_column_types,parquetread_supports_selected_variables_and_row_groups,parquetread_rejects_rowfilter_until_predicates_are_available}",
    "integration": null
  },
  "description": "`parquetread(filename)` decodes a Parquet file with Arrow-backed Parquet support and returns a RunMat table. Common numeric, logical, string, date, and timestamp columns are mapped to table variables.",
  "behaviors": [
    "`SelectedVariableNames` limits the imported variables, preserves the requested output order, and rejects unknown or duplicate names.",
    "`RowGroups` accepts one-based row-group indices and decodes only those groups.",
    "`OutputType` accepts `\"table\"`; `\"timetable\"` is rejected until timetable row-time synthesis for Parquet is implemented.",
    "`RowFilter` is rejected until rowfilter predicate execution is available.",
    "Unsupported nested or complex Parquet logical types raise deterministic import errors instead of producing partial columns."
  ],
  "examples": [
    {
      "description": "Read a Parquet file",
      "input": "T = parquetread(\"measurements.parquet\")",
      "output": "T = table"
    },
    {
      "description": "Read selected columns and row groups",
      "input": "T = parquetread(\"measurements.parquet\", \"SelectedVariableNames\", [\"time\", \"value\"], \"RowGroups\", 2)",
      "output": "T = table"
    }
  ],
  "faqs": [
    {
      "question": "Does parquetread run on the GPU?",
      "answer": "No. Parquet is a compressed columnar file format, so decoding and table construction happen on the host."
    }
  ],
  "links": [
    {"label": "parquetinfo", "url": "./parquetinfo"},
    {"label": "readtable", "url": "./readtable"},
    {"label": "parquetDatastore", "url": "./parquetDatastore"}
  ],
  "source": {
    "label": "`crates/runmat-runtime/src/builtins/table/import/parquet.rs`",
    "url": "https://github.com/runmat-org/runmat/blob/main/crates/runmat-runtime/src/builtins/table/import/parquet.rs"
  }
}