# sklears-utils
[](https://crates.io/crates/sklears-utils)
[](https://docs.rs/sklears-utils)
[](../../LICENSE)
[](https://www.rust-lang.org)
> **Latest release:** `0.2.0` (July 14, 2026). See the [workspace release notes](../../docs/releases/0.2.0.md) for highlights and upgrade guidance.
## Overview
`sklears-utils` hosts shared utilities used across the sklears workspace—configuration helpers, logging, dataset helpers, validation routines, and developer ergonomics.
## Key Features
- **Configuration**: Environment-aware configuration loading (`Config::load_environment`), hot-reloadable config files, and validation.
- **Validation**: Data shape checks, feature metadata, error context propagation, and safe casting utilities.
- **Parallel Helpers**: Custom `ThreadPool`/`WorkStealingQueue` primitives plus chunked `ParallelIterator`/`ParallelReducer` helpers.
- **Testing Support**: Synthetic dataset generators (`make_classification`, `make_regression`, `make_blobs`, ...) and deterministic RNG wrappers (seeded `get_rng`) for reproducible tests.
## Usage
This crate is primarily consumed internally, but developers extending sklears can depend on it for consistent utilities.
```rust
use sklears_utils::validation::check_array_2d;
use scirs2_core::ndarray::Array2;
let x: Array2<f64> = // load data
Array2::zeros((64, 10));
check_array_2d(&x)?;
```
## Status
- Validated by 494 passing tests in `0.2.0` (Stable).
- Acts as shared infrastructure for dozens of crates.
- Additional helpers and refactors are tracked in this crate’s `TODO.md`.