screamer.js is not a reimplementation of the Python screamer package. It compiles the same
C++ operator kernels to WebAssembly and calls them through a thin JS binding layer, the same way
the Python package calls them through a thin pybind11 layer. There is one implementation of
every operator's numerics, shared by both languages.
That means:
startPolicy options ("strict", "expanding", "zero", where an
op exposes them), NaN warmup periods, and window-fill rules match exactly.What differs between the two packages is the surface, not the math: JS uses camelCase op
names and options (RollingMean, startPolicy) where Python uses snake_case
(rolling_mean, start_policy), and the calling conventions follow each language's idioms (see
Calling conventions for the JS side).
This guide covers the JS surface: how to call an op, how to build a pipeline, how to manage lifetime. It does not re-derive each operator's formula. For the full per-operator reference, including the underlying math, parameter semantics, and worked examples, see the Python documentation. Every op factory in the API reference here links back to it as well.