skillfed

umap-learn

Uniform Manifold Approximation and Projection

umap-learn v0.5.12 7.5M downloads/30d#1,736 on PyPI8,252
Permissive license BSD Active released

What it is and what it does

UMAP is a dimension reduction algorithm that embeds high-dimensional data into lower-dimensional space while preserving manifold structure. It models data as lying on a Riemannian manifold and uses fuzzy topological structure to find embeddings that balance local neighborhood relationships with global structure. The package follows a familiar transformer API, integrating naturally into existing ML pipelines.

The algorithm depends on numpy, scipy, scikit-learn, numba (for performance), pynndescent (for nearest-neighbor search), and tqdm (for progress reporting). It supports sparse matrices, custom distance metrics, and includes densMAP for density-preserving embeddings. You can use it for exploratory visualization, as a preprocessing step before clustering, or as a general-purpose non-linear dimensionality reduction technique.

Use it for:

  • Visualize high-dimensional datasets (e.g., image pixels, gene expression) in 2D or 3D for exploratory data analysis
  • Preprocess data before clustering to improve cluster quality
  • Reduce dimensionality as a feature engineering step before training downstream models
  • Preserve local density information in embeddings using densMAP for single-cell transcriptomics or similar applications
  • Handle sparse, very high-dimensional data where alternatives become computationally prohibitive

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

UMAP reduces high-dimensional data to lower dimensions for visualization and general non-linear dimensionality reduction, using a manifold-learning approach that preserves both local and global structure.

Yes. UMAP is actively maintained, has no known vulnerabilities, low install friction, and a permissive BSD license. It is widely used in scientific and ML workflows. Install it if you need dimension reduction with better global structure preservation, or as a general-purpose manifold learning tool for exploratory analysis and preprocessing.

Install

umap-learn on PyPI

pip

pip install umap-learn

uv

uv add umap-learn

poetry

poetry add umap-learn

Installing umap-learn

Before you install

Low install friction with a pure-Python wheel distribution. Requires numba for JIT compilation and dependencies including numpy and scipy, all of which are well-maintained. Active maintenance with a recent release 128 days ago.

License in practice

BSD permissive license allows use in commercial and proprietary projects with minimal restrictions; you may use, modify, and distribute with proper attribution.

Quickstart

pip install umap-learn

import umap

embedding = umap.UMAP().fit_transform(data)

Requires Python 3.9 or later; numba JIT compilation may take time on first run but subsequent calls are fast.

Verify before relying

  • Whether the package supports GPU acceleration or if computation is CPU-only via numba
  • Performance characteristics on datasets with over a million dimensions (mentioned in description but not quantified)
  • Whether densMAP mode requires additional configuration or dependencies beyond the base install

Package facts

License BSD (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 6 — numpy, scipy, scikit-learn, numba, pynndescent, tqdm
Maintenance actively maintained — 128 days since the last release
Last repo commit
First released
Downloads 7,491,195/month — #1,736 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: umap_learn-0.5.12-py3-none-any.whl

Keywords: dimension reduction, umap, t-sne, manifold

Development Status :: 3 - AlphaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI ApprovedOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software Development

Tags

dimension reduction visualizationmanifold learninghigh-dimensional data embeddingt-SNE alternativenon-linear dimensionality reductiondata visualization projectiontopological data analysis
dimensionality-reductionmanifold-learningvisualization

More Software Development packages