Skip to main content

Annax: Approximate Nearest Neighbor Search with JAX

Annax is a high-performance Approximate Nearest Neighbor (ANN) library built on top of the JAX framework. It provides fast and memory-efficient search for high-dimensional data in various applications, such as large-scale machine learning, computer vision, and natural language processing. Annax leverages the power of GPU acceleration to deliver outstanding performance and includes a wide range of indexing structures and distance metrics to cater to different use cases. The easy-to-use API makes it accessible to both beginners and experts in the field.

Features

  • Fast and memory-efficient approximate nearest neighbor search
  • GPU acceleration for high-performance computing
  • Supports a wide range of indexing structures and distance metrics
  • Easy-to-use API for seamless integration with existing projects
  • Applicable to various domains, including machine learning, computer vision, and natural language processing
  • Built on top of the JAX framework for enhanced flexibility and extensibility

Installation

To install Annax, simply run the following command in your terminal:

pip install annax

Quick Start

Here's a simple example of using Annax to find the nearest neighbors in a dataset:

import numpy as np
import annax

# Generate some random high-dimensional data
data = np.random.random((1000, 128))

# Create an Annax index with the default configuration
index = annax.Index(data)

# Query for the 10 nearest neighbors of a random vector
query = np.random.random(128)
neighbors, distances = index.search(query, k=10)

Index Types

  • annax.Index: Flat Index
  • annax.IndexIVF: Inverted File Index
  • annax.IndexPQ: Product Quantization Index
  • annax.IndexIVFPQ: Inverted File Index with Product Quantization

Development

To install Annax for development, run the following commands in your terminal:

python -m pip install -e '.[dev]'
pre-commit install

License

Annax is released under the MIT License.

Metadata

Release files for annax 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for annax 0.0.1
File Size Uploaded Provenance Actions
annax-0.0.1.tar.gz 13.5 kB Without provenance Details for annax-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for annax 0.0.1
File Interpreter ABI Platform Actions
annax-0.0.1-py3-none-any.whl Python 3 none any Details for annax-0.0.1-py3-none-any.whl

Total release size: 25.8 kB

Release files / annax-0.0.1.tar.gz

Download URL annax-0.0.1.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8fc2bfc832404d8a596daa485e5bdce3003e9ce9f756e795533ebcaa97c16670
BLAKE2b-256 checksum
How to use checksums
5c40386479c008750000e79f8d828c83fd336032522cb3d22c42a25a8018fe5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / annax-0.0.1-py3-none-any.whl

Download URL annax-0.0.1-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0ee37539dab61b739b909b39817251f7eca1f636b8d8199c2c3b37e1b469e4b
BLAKE2b-256 checksum
How to use checksums
73d233108305487360cfd2ce0da2705ca1648ae64d08fbf368fc109dc627a804
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.3

Security for annax 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page