opys-core 0.1.7

opys manifest data model + shorthand + Val/Valset. Reference implementation of opys.json.
Documentation

opys-core

Crates.io

Manifest data model + opys shorthand + Val/Valset — the reference implementation of the frozen opys.json wire format.

[dependencies]
opys-core = "0.1"
use opys_core::{parse_manifest, filter_manifest, OsOptions};

let m = parse_manifest(include_str!("opys.json"))?;
let platform = OsOptions {
    name: "linux".into(),
    version: "6.12".into(),
    arch: "x86_64".into(),
};
let applicable = filter_manifest(&m, &platform, &[])?;
println!("{} artifacts apply to {}", applicable.artifacts.len(), platform.name);

The wire format is frozen — this crate is the contract a non-Rust reimplementation would reimplement exactly. Other opys crates layer on top:

Part of the opys toolkit.