Data and databases · Edition No. 25 · 19 Sep 2026

unum-cloud/usearch

A single-header similarity search and clustering engine for vectors, usable from ten languages and embedded inside ClickHouse and DuckDB.

← Data and databasesRead the whole edition →

4.3k stars · Apache-2.0 · v2.26.2, read from /releases/latest, shown as '31 Aug' with no year and therefore 31 August 2026 · Track this in Scout

A single-header similarity search and clustering engine for vectors, usable from ten languages and embedded inside ClickHouse and DuckDB.

Repo detailsthe review · specs · pros & cons · install

What it is

A similarity search and clustering engine written in C++, distributed as a single header file. An embedding is the list of numbers a model produces to represent a piece of text or an image, and nearest-neighbour search is the job of finding the closest ones. USearch does that with an index that can live in memory or on disk, and it has bindings for Python, JavaScript, Rust, Java, Go, Swift, C# and more.What it is good for. Anyone adding meaning-based search to something that does not have a database for it, and anyone whose index has grown too big for a simple list. The problem it removes is running a whole separate search server for something that can live inside your process. A short line about Grasppy: its search over the pieces of a long conversation is exactly this shape, and it does not need a server of its own.

Stars4.3k
LicenceApache-2.0
Latestv2.26.2, read from /releases/latest, shown as '31 Aug' with no year and therefore 31 August 2026
Good
  • Very small. One header file, no service to run, and the index can be memory-mapped from disk so it does not all have to fit in memory.
  • The same index works from many languages, which matters when the model runs in Python and the product runs in something else.
  • Apache-2.0 licence, and it is embedded inside ClickHouse and DuckDB, which is a strong signal that the code holds up.
Watch for
  • It is a library, not a database. There is no query language, no filtering by other fields, and no backup story except copying the file.
  • Approximate search trades a little accuracy for a lot of speed, and choosing the settings takes some reading.
  • You still have to produce the numbers yourself with a model. This is only the search half.
Similar repositories
Install
source venv/bin/activate
pip install usearch
# In Python:
#   import numpy as np
#   from usearch.index import Index
#   index = Index(ndim=256, metric='cos')
#   index.add(np.arange(1000), np.random.rand(1000, 256).astype(np.float32))
#   matches = index.search(np.random.rand(256).astype(np.float32), 10)
#   index.save('grasppy.usearch')
# In Node.js:
npm install usearch
Screenshots
unum-cloud/usearch: GitHub preview cardunum-cloud/usearch: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.