Annoy is used in Python projects. Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk. It has no required runtime dependencies, making it lightweight to install. Check its dependency graph on PyDeps to understand the full transitive dependency tree, reverse dependents, known CVEs, and license compatibility before installing.
Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk.
annoy has no required runtime dependencies. Installing it adds no transitive packages to your environment, which keeps installs small and minimizes the supply-chain surface you need to audit.
Beyond its direct dependencies, annoy can pull in further packages through its dependency tree. PyDeps resolves the entire chain from PyPI and deps.dev so you can see every transitive (nested) dependency of annoy, expand any node on demand, and understand the full set of code that ships when you run pip install annoy.
PyDeps checks annoy and every package in its dependency tree against the OSV vulnerability database in real time. For each CVE you can see the severity, the affected version ranges, and the first fixed version, so you know exactly which annoy version is safe to install before you ship.
annoy is distributed under the Apache License 2.0. PyDeps also shows the license of every dependency in the tree so you can audit license compatibility across your whole annoy install, not just the top-level package.
Install from PyPI with pip install annoy. For offline or air-gapped environments, PyDeps can download annoy together with every resolved dependency as wheel files in a single bundle, matched to your target Python version and operating system.
Switch to the dependents view to see the reverse dependencies of annoy — the PyPI packages that list annoy as a requirement. Reverse dependencies are a strong signal of how widely a package is trusted and how disruptive a breaking change would be.