skillfed

usearch

Smaller & Faster Single-File Vector Search Engine from Unum

usearch v2.26.0 486.1K downloads/30d#6,392 on PyPI4,264
Permissive license Apache-2.0 Active released

What it is and what it does

USearch is a vector search engine that builds approximate nearest-neighbor indexes using the HNSW algorithm. It is designed as a lightweight, single-file C++11 library with Python bindings and support for custom distance metrics. The package lets you index vectors, search for similar vectors efficiently, and optionally serve large indexes from disk without loading them entirely into memory.

Typical usage involves creating an Index with a specified dimensionality and metric, adding vectors with keys, and then searching for nearest neighbors. It supports various data types (f32, f16, bf16, i8, and others) for memory efficiency, works across Linux, macOS, and Windows, and integrates with numpy. The runtime dependencies are numpy, tqdm, and numkong.

Use it for:

  • Building semantic search systems that find similar embeddings from language models or vision models in large document or image collections.
  • Implementing recommendation engines that match user embeddings to candidate item embeddings in real time.
  • Clustering millions of vectors for data analysis, with support for on-disk indexes to reduce memory costs.
  • Genomics and chemistry applications using binary Tanimoto and Sorensen coefficients for molecular similarity.
  • Hybrid search combining vector similarity with custom filtering predicates or external data structures.

Worth the install?

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

USearch provides approximate nearest-neighbor vector search using HNSW indexing, supporting custom metrics, multiple data types, and on-disk index serving without loading into RAM.

Yes. USearch is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and offers a lightweight alternative to heavier vector search libraries. The permissive Apache-2.0 license and broad platform support (Linux, macOS, Windows) make it suitable for most projects. Install friction is moderate due to compiled wheels, but pre-built binaries are available for current Python versions (3.10+). Verify that the numkong dependency is intentional before deploying.

Install

usearch on PyPI

pip

pip install usearch

uv

uv add usearch

poetry

poetry add usearch

Installing usearch

Before you install

Medium install friction due to compiled wheels across multiple platforms and Python versions (3.10+). Active maintenance with recent releases and 4264 repository stars suggest solid ongoing support.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it suitable for most production deployments.

Quickstart

pip install usearch

import numpy as np
from usearch.index import Index

index = Index(ndim=3)
vector = np.array([0.2, 0.6, 0.4])
index.add(42, vector)
matches = index.search(vector, 10)

Requires Python 3.10 or later; compiled wheels are platform-specific (Linux, macOS, Windows with various architectures).

Verify before relying

  • Whether numkong dependency is a typo or an actual required package; fact sheet lists it but it is not mentioned in the description.
  • Performance claims (e.g., '10x faster than FAISS') are stated in the description but not independently verified in the fact sheet.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 3 — numpy, tqdm, numkong
Maintenance actively maintained — 35 days since the last release
Last repo commit
First released
Downloads 486,107/month — #6,392 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: usearch-2.26.0-cp310-cp310-macosx_10_9_universal2.whl; usearch-2.26.0-cp310-cp310-macosx_10_9_x86_64.whl; usearch-2.26.0-cp310-cp310-macosx_11_0_arm64.whl; usearch-2.26.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; usearch-2.26.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; usearch-2.26.0-cp310-cp310-musllinux_1_2_aarch64.whl; usearch-2.26.0-cp310-cp310-musllinux_1_2_x86_64.whl; usearch-2.26.0-cp310-cp310-win_amd64.whl; usearch-2.26.0-cp310-cp310-win_arm64.whl; usearch-2.26.0-cp311-cp311-macosx_10_9_universal2.whl; usearch-2.26.0-cp311-cp311-macosx_10_9_x86_64.whl; usearch-2.26.0-cp311-cp311-macosx_11_0_arm64.whl; usearch-2.26.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; usearch-2.26.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl; usearch-2.26.0-cp311-cp311-musllinux_1_2_aarch64.whl; usearch-2.26.0-cp311-cp311-musllinux_1_2_x86_64.whl; usearch-2.26.0-cp311-cp311-win_amd64.whl; usearch-2.26.0-cp311-cp311-win_arm64.whl; usearch-2.26.0-cp312-cp312-macosx_10_13_universal2.whl; usearch-2.26.0-cp312-cp312-macosx_10_13_x86_64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyNatural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: UnixProgramming Language :: C++Programming Language :: JavaProgramming Language :: JavaScriptProgramming Language :: Objective CProgramming Language :: OtherProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: RustTopic :: Database :: Database Engines/ServersTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: System :: Clustering

Tags

vector similarity searchapproximate nearest neighborsHNSW indexingsemantic search enginevector databaseembedding searchfast similarity matching
vector-searchapproximate-nearest-neighborsembeddings

More Artificial Intelligence packages