USearch logo

USearch

unum-cloud/USearch

Fast Open-Source Search & Clustering engine for Vectors & Arbitrary Objects

GraphCanon updated 4w · GitHub synced 4w

4.2k stars335 forksLast push 1mo C++ Apache-2.0

Decision brief

USearch is a fast open-source tool designed for efficient vector and arbitrary object search and clustering across multiple programming languages, backed by the Apache-2.0 license.

Observed Jul 12, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Active (12d since push)
As of 4w
Provenance
Not a fork · Organization account
As of 4w
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

git clone https://github.com/unum-cloud/USearch

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Provides fast searching and clustering capabilities for vectors across various programming languages.

Capability facts

Deploy
Self-host

Source: dockerfile:Dockerfile · Jul 23, 2026

Docker
Dockerfile present

Source: dockerfile:Dockerfile · Jul 23, 2026

MCP server
No MCP server detected

Source: repo_scan · Jul 23, 2026

Languages
c++, javascript, typescript, python

Source: github.language+package.json+pyproject.toml · Jul 23, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Jul 23, 2026)

# pip install usearch
Source link

Tags

README

pip install usearch

import numpy as np from usearch.index import Index

index = Index(ndim=3) # Default settings for 3D vectors vector = np.array([0.2, 0.6, 0.4]) # Can be a matrix for batch operations index.add(42, vector) # Add one or many vectors in parallel matches = index.search(vector, 10) # Find 10 nearest neighbors

assert matches[0].key == 42 assert matches[0].distance <= 0.001 assert np.allclose(index[42], vector, atol=0.1) # Ensure high tolerance in mixed-precision comparisons


More settings are always available, and the API is designed to be as flexible as possible.
The default storage/quantization level is hardware-dependant for efficiency, but `bf16` is recommended for most modern CPUs.

```py
index = Index(
    ndim=3, # Define the number of dimensions in input vectors
    metric='cos', # Choose 'l2sq', 'ip', 'haversine' or other metric, default = 'cos'
    dtype='bf16', # Store as 'f64', 'f32', 'bf16', 'f16', 'e5m2', 'e4m3', 'e3m2', 'e2m3', 'u8', 'i8', 'b1'..., default = None
    connectivity=16, # Optional: Limit number of neighbors per graph node
    expansion_add=128, # Optional: Control the recall of indexing
    expansion_search=64, # Optional: Control the quality of the search
    multi=False, # Optional: Allow multiple vectors per key, default = False
)

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.