nirs4all-formats

Rust-first, low-level readers for NIRS and spectroscopy file formats, with matching Python / R / WebAssembly / C bindings and conformance checks against reference loaders.

nirs4all-formats auto-detects each file by content, decodes it through a single Rust registry, and returns a canonical, provenance-tracked SpectralRecord model. It does no modelling itself — it produces the records that nirs4all consumes.

Start here: Getting started · Installation · Usage guide · Supported formats

The nirs4all ecosystem

nirs4all

Main Python modelling library — pipelines, SpectroDataset, predictions.

https://nirs4all.readthedocs.io/en/latest/
nirs4all-methods

Portable C-ABI PLS/NIRS engine (libn4m) + bindings.

https://nirs4all-methods.readthedocs.io/en/latest/
nirs4all-io

Dataset-assembly bridge → SpectroDataset.

https://nirs4all-io.readthedocs.io/en/latest/
nirs4all-datasets

Curated DOI-pinned NIRS dataset catalog (n4a-datasets).

https://nirs4all-datasets.readthedocs.io/en/latest/
nirs4all-lite

Portable aggregate distribution (Rust + bindings).

https://nirs4all-lite.readthedocs.io/en/latest/
dag-ml

Reproducible, OOF/leakage-safe ML coordinator.

https://dag-ml.readthedocs.io/en/latest/
dag-ml-data

Typed sample-aligned multi-source data contracts.

https://dag-ml-data.readthedocs.io/en/latest/