Supported Data
Exact supported layouts and limitations.
Vnuli 0.1 supports documented engineering time-series layouts. A supported file extension does not mean every file with that extension is supported.
At a glance
| Format | Supported layout | Important limits |
|---|---|---|
| CSV | UTF-8 CSV with first column exactly time and numeric channel columns. |
One dataset, one run, one timebase. Units are unknown. No sidecar or schema inference. |
| HDF5 | Documented hierarchy with root attribute vnuli_layout="timeseries.v1". |
No arbitrary HDF5 trees, NetCDF promise, compound channels, or multidimensional channel datasets. |
| MATLAB MAT | SciPy-readable MATLAB v5 MAT with top-level vnuli_timeseries. |
MATLAB v7.3 is unsupported/deferred. No arbitrary MATLAB workspace interpretation. |
| TDMS | Native TDMS groups/channels with numeric channels and sufficient waveform timing. | No arbitrary TDMS semantic inference, MDF/MF4, synchronization, or explicit timestamp TDMS path. |
| NASA Milling | NASA Milling mill.mat special/reference path. |
Preserves NASA semantics; not general MAT support. |
CSV
Supported CSV files have a header row, a first column named exactly
time, finite strictly increasing time values in seconds,
and numeric channel columns.
time,pressure,temperature,vibration
0.000,10.2,75.1,0.03
0.001,10.4,75.2,0.04
- One file is one dataset, one run
run_001, and one timebase. - CSV timestamps are preserved as explicit irregular time. Vnuli does not infer a regular sample rate from evenly spaced rows.
- Units are always
unknownfor this layout. - Missing
time, blank channel values, duplicate headers, non-finite time, non-monotonic time, pivoted data, and non-numeric channels are not silently accepted. - Bounded requests scan rows incrementally and collect only requested channels and rows in the requested time window.
HDF5
Supported HDF5 files use the documented Vnuli hierarchy and declare
vnuli_layout="timeseries.v1" at the root.
/
runs/
<run_id>/
timebases/
<timebase_id>/
time
channels/
<channel_id>
- Each
/runs/<run_id>is one run. - Each timebase group is one canonical timebase.
- Regular timebases use
start_secondsandsample_interval_seconds. - Irregular timebases use an explicit numeric strictly increasing
timedataset. - Numeric one-dimensional channel datasets are supported; channel lengths must match their timebase.
- Channel
unitattributes are preserved when present; otherwise units areunknown. - Scalar representable attributes are preserved as metadata.
- Bounded channel values are read using HDF5 dataset slicing where practical.
MATLAB MAT
Product MAT support is limited to SciPy-readable MATLAB v5 MAT files
with a top-level vnuli_timeseries structure.
- Runs contain
idandtimebases. - Timebases support regular timing with
start_secondsandsample_interval_seconds, or irregular timing with atimevector. - Channels contain
id, numericvalues, and optionalname,quantity,unit, and scalar metadata. - Units are preserved when present; otherwise units are
unknown. - Valid MAT workspaces without
vnuli_timeseriesare unsupported. - MATLAB v7.3 is unsupported/deferred in the product MAT adapter.
- SciPy MATLAB v5 loading materializes arrays when the file is read. Vnuli documents this limitation and does not claim HDF5-style slicing for MAT v5.
NASA Milling mill.mat
NASA Milling remains a separate special/reference MAT path. A NASA
mill.mat file registers through the NASA adapter, not the
product MAT adapter.
- Dataset name is NASA Milling Dataset.
- Time is generated zero-based regular time.
- Sample rate is
250.0 Hz. - Source-native units, run IDs, channel IDs, metadata, evidence, and ground truth are preserved.
TDMS
Supported TDMS files use native TDMS file/group/channel structure with numeric channels and sufficient waveform timing properties.
- TDMS file properties become dataset metadata where scalar and representable.
- Each TDMS group is one run.
- Channels are partitioned into timebases by equivalent timing signature.
- Regular waveform timing is supported when channel properties provide finite start or relative start plus sample interval or sample rate.
- Unit-related channel properties are preserved when present; otherwise units are
unknown. - Numeric channels without timing metadata need clarification rather than guessing.
- Bounded values are read using native
nptdmschannel slicing where practical.
What Vnuli reports
Vnuli classifies sources as supported, clarification-needed, unsupported layout, or invalid/unreadable. Missing optional units do not automatically make a file unsupported, but missing timing or channel structure is not guessed.