← all repositories
AtheMathmo/rusty-machine

A Rust ML library that knew when to quit

A from-scratch machine learning toolkit for Rust, now archived by its own creator.

1.3k stars Rust ML Frameworks
rusty-machine
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

rusty-machine is a general-purpose machine learning library written entirely in Rust, covering the usual suspects: linear and logistic regression, k-means, neural networks, SVMs, Gaussian processes, DBSCAN, PCA, and more. It bundles its own linear algebra via rulinalg and exposes models through train/predict traits for supervised and unsupervised learning.

The interesting bit

The author built this to learn Rust and relearn ML algorithms — then was honest enough to flag it as “probably not the best choice for any serious projects” and eventually abandon it entirely. That candor is rarer than a bug-free gradient descent. The zero-dependency stance (no BLAS, no LAPACK) keeps builds simple at the cost of leaving performance on the table.

Key highlights

  • Covers a wide algorithmic spread for a solo/small project: GLMs, Gaussian mixture models, naive Bayes, k-NN, plus a basic stats module behind a feature flag
  • Traits (SupModel, UnSupModel) enforce a consistent API across models
  • Re-exports its linear algebra crate to avoid forcing users to juggle dependencies
  • Version 0.5.4, frozen in amber; Travis CI badge still blinking in the afterlife

Caveats

  • No longer maintained — the README’s first words, not a footnote
  • No BLAS/LAPACK integration means matrix operations are pure Rust, likely slower than competitors
  • Self-described as early-stage and incomplete; the author actively solicited contributors before stepping away

Verdict

Worth a look if you’re studying how to implement ML algorithms in Rust, or want a lightweight, dependency-free sandbox. Skip it for production work — the ecosystem has moved on, and so did the maintainer.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.