Back to Gap Map Infrastructure / Storage & Retrieval

Annoy

Spotify
open source / Overall score: 2.6

Annoy (Approximate Nearest Neighbors Oh Yeah) is a C++ library with Python bindings for approximate nearest neighbour search over random projection trees, built so that indexes are static files memory-mapped into a process. Many processes share one index without loading it each, which is what it was built for at Spotify.

Openness

5 high confidence
5.0
license
Apache-2.0(OSI)
source
public
core features withheld
no

Apache-2.0 license body confirmed. The repository is public and unarchived and builds the whole product, and the README describes no paid tier, enterprise edition or license-gated build beside it, so source is public and the core ungated.

Adoption

3 high confidence
3.0

Annoy's adoption reading comes directly from PyPI downloads of the package, since the library itself is the distributed artifact rather than a client for a separate service. That is a direct signal of use, though it counts only PyPI installs and not use through other package managers or vendored copies.

Capability

2 medium confidence
2.0

Annoy provides one index family, random-projection-tree indexes stored as mmapped, read-only files with several distance metrics, and an index is immutable once it is built. Chroma covers much more of the same persist-index-retrieve path as a database in its own right, which is why it sits further along the same path.

Verified 2026-09-30, except some scores, still awaiting re-confirmation