Hot on the heels of yesterday’s first stable release, here is the first small patch to keep it tidy.
Today we released SciRS2 0.1.1 — a maintenance release that polishes the first stable build of our Pure Rust SciPy/NumPy stack.
No C. No Fortran. No OpenBLAS. NumPy and SciPy lean on a tower of C and Fortran — OpenBLAS, reference LAPACK, sometimes MKL — that you have to find, build, and link before you can do any math. SciRS2 takes a different path: cargo add scirs2 pulls in everything it needs, no system libraries required, and it compiles down to a single static binary. Linear algebra runs on OxiBLAS, a Pure Rust BLAS/LAPACK, rather than OpenBLAS or MKL. Because there is no native toolchain in the loop, the same code is well positioned for targets like WASM down the line.
Why 0.1.1 matters
Right after a big stable release, the most useful thing the first follow-up can do is harden what just shipped — not pile on new surface. That is exactly what 0.1.1 is. The changes here are deliberately small and incremental:
- Documentation refinements so the API is a little easier to read and adopt.
- Minor dependency updates to keep the tree current.
- Build-system improvements for a smoother compile.
- Assorted minor bug fixes and code-quality cleanups that tighten up the edges from the 0.1.0 launch.
That is the honest scope. No new modules, no API churn — just a steadier footing under the stack we released yesterday.
Technical Deep Dive: the stack underneath
Since the surface changes in 0.1.1 are small, here is a quick recap of the architecture it stabilizes:
- Core layer —
scirs2-core. SIMD via thewidecrate, parallelism viarayon, plus shared memory and profiling utilities that the rest of the workspace builds on. - Scientific crates on OxiBLAS.
scirs2-linalg,scirs2-fft,scirs2-stats,scirs2-optimize,scirs2-integrate,scirs2-interpolate,scirs2-signal,scirs2-sparse,scirs2-spatial, andscirs2-special— SciPy-compatible APIs backed by Pure Rust linear algebra. - AI/ML crates.
scirs2-autograd,scirs2-neural,scirs2-graph,scirs2-metrics,scirs2-transform,scirs2-text,scirs2-vision, andscirs2-seriesfor the machine-learning extensions on top.
All told, the project carries roughly 1.68M lines of Rust across 4,727 files, refactored into 150+ modules under our under-2000-line policy, building with zero warnings and around 10,800+ passing tests — the same foundation 0.1.0 established, now a touch more solid.
Getting Started
cargo add scirs2
use scirs2::prelude::*;
use ndarray::Array2;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let a = Array2::from_shape_vec((3, 3), vec![
1.0, 2.0, 3.0,
4.0, 5.0, 6.0,
7.0, 8.0, 9.0,
])?;
// Singular value decomposition (OxiBLAS-backed, Pure Rust)
let (u, s, vt) = scirs2::linalg::decomposition::svd(&a)?;
println!("Singular values: {:.4?}", s);
// Sample from a normal distribution
let normal = scirs2::stats::distributions::normal::Normal::new(0.0, 1.0)?;
let samples = normal.random_sample(5, None)?;
println!("Random samples: {:.4?}", samples);
Ok(())
}
What’s New in 0.1.1
- Documentation refinements.
- Minor dependency updates.
- Build-system improvements.
- Various minor bug fixes and code-quality improvements.
- A maintenance release building on the stable 0.1.0 foundation.
Tips
- Existing 0.1.0 code is fully compatible — just bump the version and rebuild; nothing to migrate.
- Reach for
use scirs2::prelude::*to bring in the common surface in one line. - The default build stays 100% Pure Rust (OxiBLAS), so there is nothing to install.
- Enable the optional
fftwfeature only if you want the extra FFT speedup and are willing to accept a C dependency; otherwise FFT stays Pure Rust. - Pull in individual crates (e.g.
scirs2-stats) if you only need part of the stack and want a leaner build.
This is the foundation
In the young COOLJAPAN ecosystem, SciRS2 is the scientific-computing layer, and it stands on OxiBLAS for its Pure Rust linear algebra. This release keeps that foundation steady so everything built above it has firmer ground.
Repository: https://github.com/cool-japan/scirs
Star the repo if Pure Rust scientific computing is something you want to see grow.
Pure Rust scientific computing is here — fast, safe, and sovereign.
— KitaSan at COOLJAPAN OÜ December 30, 2025