Languages
One model, several runtimes, and a referee that keeps them identical.
The skaters methodology is also described in the language of football: the tiki-taka page.
Every implementation is verified against the Python reference by a parity suite: the same fixed series through every scenario, with roughly 100,000 distributional probe values required to agree to 1e-6 before anything ships. A model trained in one language resumes bit-compatibly in another; the state is pure data.
Python (reference)
pip install skaters
Pure standard library, no dependencies. The reference implementation: the parity vectors are generated here, the benchmarks and papers run here, and features land here first.
An opt-in accelerated backend, skaters-fast (a PyO3 skin
over the Rust core, pip install skaters[fast]), runs the
identical laplace model at about 20x the per-step rate with
the same bits on every platform.
JavaScript
npm install skaters
Zero-dependency ES modules covering the whole library. Runs in the browser (the demos are this build) and in Node; parity is enforced at 105,000+ values on every test run, alongside adversarial release gates shared with Python.
R
install.packages("skaters", repos = "https://microprediction.r-universe.dev")
Pure R, covering the whole library including laplace,
the adaptive search engine, and the covariance estimators, at 105,798
parity values, with adversarial gates, exact checkpoint-resume
contracts, and a clean R CMD check. Developed at
microprediction/skaters-r;
CRAN submission is planned once the surface and documentation settle.
Rust core and the fast backend
A Rust implementation of the whole composition lives in the main
repository (rust/), lockstep-gated beside the JS twin so
a numerics change cannot merge without both mirrors. Its mathematics
is portable (identical bits on x86, ARM, and WebAssembly, enforced by
a cross-platform digest job in CI), and it steps laplace at about 14
microseconds per observation. For Python users it ships as the
opt-in skaters[fast] backend: same interface, roughly
20x the step rate, bit-exact checkpoint resume, with pure Python
remaining the reference and the default.
Julia
Full library coverage at 105,798 parity values, with the adversarial gates and exact serialize-resume contracts, developed at microprediction/Skaters.jl. General-registry registration will follow once the surface settles. Further languages arrive as bindings to the Rust core rather than rewrites, with the same vectors as the referee throughout.