#7373rd of 105 in ML frameworks and libraries

umap

Python UMAP dimension reduction with a scikit-learn API

Stars
8.3k
License
BSD-3-Clause
Last commit
Oct 2026
Last release
Apr 2026
Language
Python
Stars, last 29 weeks+188
1 Apr 2026: 8,094 stars8 Apr 2026: 8,105 stars15 Apr 2026: 8,113 stars22 Apr 2026: 8,120 stars29 Apr 2026: 8,129 stars6 May 2026: 8,134 stars13 May 2026: 8,145 stars20 May 2026: 8,153 stars27 May 2026: 8,163 stars3 Jun 2026: 8,173 stars10 Jun 2026: 8,181 stars17 Jun 2026: 8,188 stars24 Jun 2026: 8,196 stars1 Jul 2026: 8,201 stars8 Jul 2026: 8,207 stars15 Jul 2026: 8,213 stars22 Jul 2026: 8,225 stars29 Jul 2026: 8,232 stars5 Aug 2026: 8,238 stars12 Aug 2026: 8,243 stars19 Aug 2026: 8,246 stars26 Aug 2026: 8,251 stars2 Sept 2026: 8,253 stars9 Sept 2026: 8,253 stars16 Sept 2026: 8,256 stars23 Sept 2026: 8,258 stars30 Sept 2026: 8,263 stars7 Oct 2026: 8,270 stars14 Oct 2026: 8,276 stars21 Oct 2026: 8,282 stars

8,094 on 1 Apr 20268,282 on 21 Oct 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

umap-learn implements Uniform Manifold Approximation and Projection as a scikit-learn-style transformer, usable for 2D visualisation or general non-linear dimension reduction. It supports many distance metrics, sparse input, supervised fitting, transform on new points, densMAP, and Parametric UMAP via TensorFlow. Numba provides the speed, and pynndescent handles nearest neighbours.

Who it is for: Data scientists needing non-linear dimension reduction or visualisation

Strengths

  • Drop-in sklearn fit/transform API, works inside pipelines
  • Embeds 70000x784 MNIST in about 42 seconds on a 3.1 GHz i7, per README
  • Many metrics incl. cosine and correlation; custom numba-JITed functions; sparse input
  • Supervised and semi-supervised embedding by passing labels as y

Weaknesses

  • Runs on CPU only; GPU use requires the separate torchdr package
  • Numba JIT warmup adds delay on first run
  • Parametric UMAP needs TensorFlow installed separately
  • Plotting needs extra dependencies (matplotlib, datashader, holoviews)

What it needs

  • no GPU
  • Needs numpy, scipy, scikit-learn, numba, tqdm, pynndescent

Also in ML frameworks and libraries

See all 105
Also in ML frameworks and libraries
RankProjectScore
1transformersPython library defining open models for text, vision, audio and multimodal tasks168k starsApache-2.094 out of 100
2pytorchPython tensor library with GPU support and tape-based autograd for deep learning105k starscustom license94 out of 100
3ultralyticsPython library and CLI for training and running YOLO vision models62.7k starsAGPL-3.093 out of 100
#4pytorch-image-modelsPyTorch library of image models, pretrained weights and reference training scripts37.2k starsApache-2.092 out of 100
#5supervisionPython toolkit for loading, annotating and counting computer vision detections Live demo ↗ (opens in a new tab)51.3k starsMIT91 out of 100