interscript 0.2.1

Rust runtime for Interscript ISC maps, executing the parsanol .parg grammar
Documentation
[package]
name = "interscript"
version = "0.2.1"
edition = "2021"
publish = true

description = "Rust runtime for Interscript ISC maps, executing the parsanol .parg grammar"
license = "BSD-3-Clause"
repository = "https://github.com/interscript/interscript-rs"
homepage = "https://www.interscript.org"

[dependencies]
# The ISC grammar compiler + PEG engine (grammar/isc.parg compiles through
# this). Pinned to the 0.19.8 crates.io release the grammar, corpus
# sweep (10,772 tests) and conformance runs were verified against.
parsanol = { version = "0.19.8" }
# Ruby \b/\B word-char table (Unicode Word = Alphabetic|Mark|Nd|Pc โ€”
# Onigmo parity for boundary primitives; std lacks general categories).
unicode-general-category = "1.1.0"
# compose/decompose funcalls = NFC/NFD (Ruby String#unicode_normalize
# parity). Not in parsanol-rs's dependency set; unavoidable for the 79
# corpus maps that emit compose directives.
unicode-normalization = "0.1"
# IMF v1 artifact integrity (interscript-models SPEC.md C2/C3): the
# whole-artifact digest and every .onnx member digest are sha256.
sha2 = "0.11"
# IMF v1 artifacts are zips (metadata.yaml + encoder.onnx + decoder.onnx).
# Deflate-only: released artifacts compress members with DEFLATE and the
# SPEC requires no other codec; every other zip feature is dead weight.
zip = { version = "9.3", default-features = false, features = ["deflate"] }
# maps-fetch: the maps corpus releases are .tar.gz (git archive) โ€” gzip
# stream decode + tar unpack into a load-path directory.
flate2 = "1"
tar = "0.4"
# metadata.yaml (the in-artifact manifest) and models.yaml (the index)
# are YAML mappings; serde_yaml is the minimal-parser choice (libyaml
# core, no codegen runtime beyond serde itself).
serde = { version = "1", features = ["derive"] }
serde_yaml = "0.9"
# The frozen conformance vectors files (interscript-models/conformance/)
# are JSON documents.
serde_json = "1"
# SPEC ยง2: artifacts not yet in the cache are fetched from the index's
# URL channel (GitHub Releases assets or file:// mirrors) and verified
# before installation. Sync client; rustls keeps it free of OpenSSL.
ureq = { version = "3.1", default-features = false, features = ["rustls"] }
# ONNX Runtime inference for IMF v1 artifacts (the WO14 b-leg): the
# encoder/decoder graphs run through the same onnxruntime the Python
# reference loader uses. ort 2.0.0-rc.15 (the current 2.0-line
# release); `download-binaries` ships onnxruntime ms@1.31.0 prebuilts
# (the api-* features gate the C API surface, not the binary โ€”
# 1.31 is the only shipped dist). macOS needs the .cargo/config.toml
# -U link workaround for the CoreML EP symbols. ndarray and tracing
# are off: the engine reads raw (&Shape, &[f32]) tensors and logs
# through the CLI, so neither is exercised.
ort = { version = "2.0.0-rc.15", default-features = false, features = [
    "std",
    "download-binaries",
    "tls-rustls",
    "copy-dylibs",
] }

[lib]
name = "interscript_rs"
path = "src/lib.rs"

[[bin]]
name = "iscrs"
path = "src/bin/iscrs.rs"