#114114th of 168 in ML frameworks and libraries

mlpack

Header-only C++ machine learning library with CLI and multi-language bindings

Stars
5.7k
License
custom license
Last commit
Nov 2026
Last release
Jun 2026
Language
C++
Stars, last 29 weeks+145
21 Apr 2026: 5,579 stars28 Apr 2026: 5,588 stars5 May 2026: 5,593 stars12 May 2026: 5,598 stars19 May 2026: 5,600 stars26 May 2026: 5,607 stars2 Jun 2026: 5,616 stars9 Jun 2026: 5,619 stars16 Jun 2026: 5,631 stars23 Jun 2026: 5,637 stars30 Jun 2026: 5,643 stars7 Jul 2026: 5,648 stars14 Jul 2026: 5,651 stars21 Jul 2026: 5,656 stars28 Jul 2026: 5,664 stars4 Aug 2026: 5,667 stars11 Aug 2026: 5,673 stars18 Aug 2026: 5,680 stars25 Aug 2026: 5,684 stars1 Sept 2026: 5,686 stars8 Sept 2026: 5,692 stars15 Sept 2026: 5,696 stars22 Sept 2026: 5,698 stars29 Sept 2026: 5,701 stars6 Oct 2026: 5,704 stars13 Oct 2026: 5,706 stars20 Oct 2026: 5,710 stars27 Oct 2026: 5,714 stars3 Nov 2026: 5,718 stars10 Nov 2026: 5,724 stars

5,579 on 21 Apr 20265,724 on 10 Nov 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

mlpack is a header-only C++17 library implementing classical machine learning methods, built on Armadillo for linear algebra and ensmallen for optimization. It is also usable through command-line programs and Python, Julia, Go and R bindings. It targets researchers and production C++ deployments rather than LLM workloads.

Who it is for: C++ developers and researchers needing fast classical ML in production

Strengths

  • Header-only: install headers and include <mlpack.hpp>, no separate library to build
  • Bindings for Python, Julia, Go and R, plus command-line programs
  • Fiscally sponsored by NumFOCUS with an open governance model
  • Quickstart guides exist for each interface, plus an examples repository

Weaknesses

  • Template-heavy code leads to long compile times unless mitigated
  • Serializing neural networks needs a macro that significantly increases compile time
  • Older pthreads-based OpenBLAS (0.3.26 and older) can oversubscribe threads and slow down
  • Requires Armadillo, ensmallen and cereal installed alongside a C++17 compiler

What it needs

  • Needs C++17 compiler, Armadillo >= 10.8, ensmallen >= 2.10.0, cereal >= 1.1.2, LAPACK/BLAS

Quick answers

Is mlpack open source?

Its code is public on GitHub under its own license terms; read them before you use it at work.

Also in ML frameworks and libraries

See all 168
Also in ML frameworks and libraries
RankProjectScore
1transformersPython library defining open models for text, vision, audio and multimodal tasks168.8k stars+1,522 (+0.9%) in 30 daysApache-2.094 out of 100
2pytorchPython tensor library with GPU support and tape-based autograd105.4k stars+1,043 (+1.0%) in 30 dayscustom license93 out of 100
3ultralyticsPython library and CLI for training and running YOLO vision models63.3k stars+1,015 (+1.6%) in 30 daysAGPL-3.093 out of 100
#4pytorch-image-modelsPyTorch library of image models, pretrained weights and training scripts37.3k stars+101 (+0.3%) in 30 daysApache-2.093 out of 100
#5supervisionPython toolkit for loading, annotating and counting computer vision detections Live demo ↗ (opens in a new tab)51.6k stars+514 (+1.0%) in 30 daysMIT92 out of 100