nirs4all-repository¶
The public, versioned repository of pre-configured, tested NIRS pipelines for the
nirs4all ecosystem. Store a nirs4all or dag-ml pipeline — with or without fitted
artifacts — with provenance, validate and secure it, and serve it by name to every
nirs4all library and tool, across languages, plus a catalogue website at
repository.nirs4all.org.
Status
0.1.0 beta. The storage envelope and the cross-language index.json contract are frozen
at schema_version: 1.
Quickstart¶
pip install nirs4all-repository
import nirs4all_repository as n4r
n4r.list(framework="nirs4all") # browse the catalogue
pipe = n4r.get("snv_savgol_pls") # resolve by name (local → bundled → remote)
config = pipe.to_nirs4all() # ready for nirs4all.run() / predict()
Guide
- Getting started
- nirs4all-repository — Design
- 1. Objectives — what this project is, and is not
- 2. Design principles
- 3. Architecture overview
- 4. Storage & provenance model
- 5. Cross-language serving — the static contract
- 6. Validation & security
- 7. The catalogue website (
repository.nirs4all.org) - 8. Quality bar (the green gate)
- 9. Relationship to the rest of the ecosystem
- nirs4all-repository — Specification
- 1. Slugs, paths, and canonical JSON
- 2.
PipelineDescriptor—pipelines/<id>/descriptor.yaml(hand-authored) - 3.
manifest.json—pipelines/<id>/manifest.json(generated) - 4.
ro-crate-metadata.json—pipelines/<id>/ro-crate-metadata.json(generated) - 5.
catalog/index.json— the cross-language registry (generated) - 6. Recipe formats (
recipe.format) - 7. Python public API (
nirs4all_repository) - 8. CLI —
n4a-repository(Typer) - 9. Cross-language contract (for non-Python clients)
- 10. Settings & environment
- nirs4all-repository — Roadmap
The ecosystem¶
nirs4all-repository is the remote, name-addressable layer the ecosystem otherwise
lacks: it stores the recipes that nirs4all runs
and nirs4all-benchmarks scores, and
serves them to nirs4all Studio and the portable/WASM bindings. It never re-implements NIRS,
IO, or ML logic.