Guarantees and reproducibility¶
Each of these is enforced by a test:
- Nothing compiles at import: no numba or llvmlite JIT. The base is NumPy, SciPy and the
pure-Python
threadpoolctl, and the native kernels ship precompiled in the wheel. - Import completes in under 200 ms, output is deterministic (bit-identical), and the API is thread-safe.
- Memory is bounded: the full n×n distance matrix is never materialised (blocked kNN), staying under 200 MB at 5000×1024.
- Any output dimension is supported, 2-D and 3-D for visualisation and around 10-D for clustering. The codebase is fully type-checked under pyright strict.
Reproducibility¶
For a given input and seed, output is bit-identical across processes and machines in the same environment. Two things change it across different environments:
- The native kernel against the numpy fallback. The wheels carry the kernel and use it by default; an unbuilt checkout falls back to numpy and differs.
fastumap[ann], which changes the neighbour graph above 16,384 points.
Both are properties of the environment. accelerator_active() and ann_available() report which
paths a run used, so a stored projection can record how it was produced.
Next¶
- The two environment switches above: The native accelerator and Large inputs.