Skip to main content

PatANN is a massively parallel, distributed, and scalable in-memory/on-disk vector database library for efficient nearest neighbor search across large-scale datasets by finding vector patterns.

Project description

PatANN - Pattern-Aware Vector Database / ANN

Overview

PatANN is a pattern-aware, massively parallel, and distributed vector search framework designed for scalable and efficient nearest neighbor search, operating both in-memory and on-disk. Unlike conventional algorithms, PatANN leverages macro and micro patterns within vectors to drastically reduce search space before performing costly distance computations.

Refer to the website for technical details, algorithm overview, key innovations, benchmarks, and tutorials.

https://patann.dev

While still in beta, PatANN's pattern-first approach delivers unprecedented performance advantages. As shown in our benchmarks (Figure 1), PatANN consistently outperforms leading ANN libraries including HNSW (hnswlib), Google ScaNN, Facebook FAISS variants, and others in the critical recall-throughput tradeoff.

PatANN Benchmark

Installation

Install PatANN using pip:

pip install patann

Platforms

  • Linux
  • macOS (Apple Silicon)
  • Windows
  • Android
  • iOS

Code Examples

Code examples for all platforms (Python, Kotlin, Java, Objective-C, Swift) in both asynchronous and synchronous modes are available at

https://github.com/mesibo/patann

You can also download python sample code using patann command line interface:

patann --help

Key Distinguishing Features

  • Novel pattern-based probing for ANN search
  • In-Memory, On-Disk, and Hybrid Index
  • Fully asynchronous operations with built-in support for conventional synchronous execution
  • Refined search, filtering, and pagination algorithms
  • Unlimited scalability without pre-specified capacity
  • Dynamic sharding to load balance across servers
  • Cloud (in-progress) and Serverless
  • SIMD-Accelerated for both x86_64 (SSE*, AVX2, AVX-512) and ARM (NEON, SVE) platforms
  • OS-optimized I/O—huge pages (Linux), large pages (Windows), and super pages (macOS)
  • NUMA-aware architecture

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

patann-0.1.2.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

patann-0.1.2-py3-none-any.whl (4.7 MB view details)

Uploaded Python 3

File details

Details for the file patann-0.1.2.tar.gz.

File metadata

  • Download URL: patann-0.1.2.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for patann-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c8b6c5602f8279dcca68d39a555a0e61b5eab4714f69328271b75a1659e917be
MD5 de71c413395fadda1be332cc6d0969bd
BLAKE2b-256 7d59ef95421b7b79cea6a5de7a4926f36cb287ae654080e24c3f37764b70ee89

See more details on using hashes here.

File details

Details for the file patann-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: patann-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for patann-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b420792e305cef48a6090b68a3b5e98db2472315ca5b8983d41b1d5e531f2bd
MD5 8ba090304c871e5fd28612031265cc23
BLAKE2b-256 a63949868fe2f42271963d7cdca5db24f780c469acd6e652f5243ad80fb19843

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page