Vector store for nearest neighbor search with unified backend interface
Top 90.6% on sourcepulse
Vicinity is a lightweight, low-dependency Python library designed to simplify and standardize nearest neighbor search across various vector indexing backends. It targets developers and researchers who need to compare different ANN algorithms and distance metrics without learning multiple APIs, offering a unified interface for experimentation and evaluation.
How It Works
Vicinity provides a consistent API for interacting with multiple underlying vector search libraries. It abstracts away the specific implementation details of each backend, allowing users to swap them out easily. The library supports various similarity metrics (cosine, Euclidean, etc.) and offers a unified way to perform k-NN and threshold searches. It also includes functionality for saving/loading vector stores and evaluating backend performance (QPS, recall).
Quick Start & Requirements
pip install vicinity
or pip install vicinity[all]
for all backends and integrations.Highlighted Details
evaluate
method for benchmarking QPS and recall.Maintenance & Community
The project is maintained by MinishLab. No specific community links (Discord/Slack) or roadmap details are provided in the README.
Licensing & Compatibility
Limitations & Caveats
Most ANN backends do not support dynamic item deletion; index recreation is required. Insertion is supported by FAISS, HNSW, and USEARCH, while the BASIC backend supports both insertion and deletion.
2 weeks ago
1 day