API reference
The crystal family
Three implementations, one contract, one behavior. Choose the language your process runs in; the model ids, artifacts, and outputs are identical. All crystals read SECRYST_INDEX / SECRYST_CACHE.
reference
Python 0.1.1 · live
The reference crystal: it generates the golden sets the others are diffed against and owns numerical adjudication. Pure stdlib plus yaml/requests; inference needs onnxruntime.
install
pip install secryst usage
from secryst import Model
model = Model.load("khm-latn-1.0") # resolve -> download -> verify -> cache
model.translate("ភាសា") # -> "pheasaea" Low-level surfaces: secryst.encode/decode (the byte tokenizer), verify_and_read(zip) (IMF loading), resolve(id) (index + cache). Errors: ModelFormatError, RegistryError. Source: secryst/secryst-py.
the original
Ruby 1.0.0 · live
Secryst was born Ruby in 2020 — a seq2seq transformer gem. The v1 line runs ByT5-family models in pure Ruby over ONNX (via secryst/onnxruntime), with no libtorch and no native compilation of the model itself.
install
gem 'secryst' usage
require 'secryst'
translator = Secryst::Translator.new(model_file: 'khm-latn-byt5.zip')
translator.translate('ភាសា') # => "pheasaea" Index-based loading (models.yaml resolution with Secryst::IMF) shipped with v1.0.0 (PR #47, merged; golden-parity CI green). Source: secryst/secryst.
the embeddable
TypeScript 0.1.0 · live
Node crystal for the interscript-js ecosystem and any TypeScript runtime. onnxruntime-node is an optional peer — registry and index consumers can use this package with zero native dependencies.
install
npm install secryst onnxruntime-node usage
import { load } from "secryst";
const model = await load("khm-latn-1.0");
await model.translate("ភាសា"); // "pheasaea" Mirrors the Python API: loadIndex, resolve, verifyAndRead, encode/decode. Source: secryst/secryst-ts.
Release status
| Crystal | Package | Status |
|---|---|---|
| Python | secryst (PyPI) | 0.1.1 · live |
| Ruby | secryst (RubyGems) | 1.0.0 · live |
| TypeScript | secryst (npm) | 0.1.0 · live |
| Index manifest | @secryst/models (npm) | pending — awaits first publish (trusted publishing) |
Ruby and TypeScript are live; the index manifest package publishes via npm Trusted Publishing when its content is ready. This table is the honest state of the world and will be updated as each ships.