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 and ANN Framework

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.3.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.3-py3-none-any.whl (4.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: patann-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 dde56002c608825462cdea704c410f8b41a9997648681503cad368d7f38bea47
MD5 267cf9428d1458d05d143fe0be8d6814
BLAKE2b-256 2621ca319a1d6fba2c7325b861031ee2fec94b8bd9b3a8fb8130013d9f87a4e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: patann-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 57d83d428f1469c72c8de2ce363a27aaa8bde75c449b731e992bfd864ecd5f77
MD5 4fd86a4cec06b9bcc0020bce5eb03622
BLAKE2b-256 d8f7bf9b3c7b8c550bf3aa5fcf1959e026214cf835473152bd075f7be9210f96

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