A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

7 Open Issues Need Help Last updated: Jun 29, 2025

Open Issues Need Help

View All on GitHub

AI Summary: Enhance the Rust-powered k-NN library, `rust-annie`, by adding methods to retrieve index metadata and statistics. This includes adding a `get_info()` method to return metrics like size, memory usage, build time, and last modified date, along with dimension validation and health checks. The changes will affect the core Rust code (`src/index.rs`, `src/hnsw_index.rs`) and the Python wrapper (`src/py_index.rs`). Debug/verbose modes should also be implemented for improved troubleshooting.

Complexity: 4/5
enhancement good first issue Easy

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust

AI Summary: Enhance the existing benchmarking system for a Rust-based k-NN library by creating standardized datasets, adding memory profiling, comparing against other libraries (scikit-learn, faiss, annoy, nmslib), implementing regression detection in CI, creating a performance dashboard with historical tracking, reporting latency percentiles, and benchmarking both index building and search performance. This involves modifying benchmark scripts, CI workflows, and potentially creating a new dashboard.

Complexity: 4/5
enhancement good first issue Easy

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust

AI Summary: The task is to create a Rust procedural macro, `#[py_annindex]`, that automatically generates PyO3 bindings for Rust traits, aiming to reduce boilerplate code and ensure consistent docstrings in the Python API. This macro should be designed to easily integrate new k-NN search backends (like HNSW or Hybrid) with minimal code changes. The generated Python API must match the existing manually written version.

Complexity: 5/5
enhancement help wanted SSOC 2025 Hard

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust

AI Summary: The task requires modifying the Rust-annie library to allow users to select the k-NN search backend (currently only brute-force is supported) at object creation time. This involves adding a `backend` parameter to the constructor, handling different backend strings ("brute", "hnsw"), implementing error handling for unknown backends, and adding comprehensive tests in both Python and Rust to ensure correctness and functionality.

Complexity: 4/5
enhancement help wanted Medium SSOC 2025

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust

AI Summary: The task involves adding support for AMD ROCm GPUs to the existing Rust-based k-NN library, 'Annie'. This requires researching suitable Rust bindings for ROCm, abstracting the CUDA/ROCm backends, writing ROCm kernels for distance calculations, implementing runtime detection, adding tests and benchmarks, and potentially setting up CI with an AMD GPU runner.

Complexity: 5/5
enhancement help wanted SSOC 2025 Hard gpu

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust

AI Summary: Enhance the Python API of the Rust-powered k-NN library, `rust-annie`, by adding type hints, expanding docstrings with usage examples, and generating HTML documentation. This involves adding type annotations to the PyO3-exposed API, writing comprehensive docstrings, creating an API reference, and setting up a documentation hosting service like ReadTheDocs or GitHub Pages.

Complexity: 3/5
documentation enhancement good first issue

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust

AI Summary: The task involves adding GPU acceleration (CUDA/ROCm) to an existing Rust-based k-NN library, requiring research into relevant crates, prototyping a CUDA kernel for batched distance computation, performance evaluation against CPU SIMD, Python interface integration with GPU fallback, and comprehensive testing and documentation.

Complexity: 5/5
enhancement help wanted Hard

A lightning-fast, Rust-powered brute-force k-NN library for Python, with optional batch queries, thread-safety, and on-disk persistence

Rust