Practical overview
When it fits
Use Smartcore when machine-learning algorithms need to be called from a Rust project, including experiments that move from data preparation to model fitting and evaluation.
Who it is for
- Rust developers adding classification, regression or clustering to software.
- Researchers and practitioners experimenting with machine-learning algorithms in Rust.
- Teams needing model-selection, evaluation or numerical-computing components in Rust applications.
Documented uses
- Fit a classifier or regressor and request predictions from Rust code.
- Cluster observations or prepare data with encoders and common transforms.
- Compare model parameters and evaluate models using documented utilities.
- Read CSV data or generate sample datasets for experiments.
Requirements & limits
The repository is public and lists an Apache-2.0 license. The documented installation path is a Cargo dependency.
- The library is implemented in Rust and is integrated as a project dependency, not used as a hosted model service.
- The documented API includes linear models, tree ensembles, SVMs, nearest neighbours, Naive Bayes and clustering.
- Datasets and serde are optional features; consult Cargo.toml for available features and compatibility notes.
- The README describes WASM/WASI-oriented defaults but notes filesystem restrictions on some WebAssembly targets.
- The project points to a companion Jupyter environment that uses EVCXR for local Rust notebooks.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add Smartcore to a Cargo project
Declare Smartcore as a dependency in a Rust project.
Before you start
- A Rust project managed with Cargo.
Steps
Add
smartcore = "^0.6"under[dependencies]in Cargo.toml.For the latest changes on the main branch instead, use the documented Git dependency with the repository URL and
branch = "main".
Expected outcome
Cargo.toml declares Smartcore as a dependency; the project documentation provides API and usage material for the next stage.
Guide limitations
- The README advises checking Cargo.toml for available features and compatibility notes.
- The main-branch dependency tracks ongoing changes rather than the documented version constraint.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- smartcorelib/smartcore · Official homepage title · retained in its source language

