Skip to main content

No project description provided

Project description

Impact Index for Information Retrieval

A Python/Rust library for efficient sparse retrieval from neural information retrieval systems. Built on Rust with PyO3 bindings for high performance.

Unlike traditional IR libraries, impact-index specifically targets neural IR models with floating-point impact scores (no quantization assumed) and does not implement frequency-based algorithms.

Features

  • Index construction with checkpointing for crash recovery
  • WAND and MaxScore search algorithms for top-k retrieval
  • Block-based compression with Elias-Fano doc IDs and quantized impacts
  • Posting list splitting by quantile for term impact decomposition
  • BMP (Block-Max Pruning) for fast approximate search (SIGIR 2024)
  • Document store with zstd compression and key-based retrieval
  • Async support for non-blocking search and document retrieval

Installation

pip install maturin
maturin develop --release

Quick Example

import numpy as np
import impact_index

# Build an index
builder = impact_index.IndexBuilder("/path/to/index")
builder.add(0, np.array([1, 5, 10], dtype=np.uintp),
            np.array([0.5, 1.2, 0.8], dtype=np.float32))
index = builder.build(in_memory=True)

# Search
results = index.search_wand({5: 1.0, 10: 0.5}, top_k=10)
for doc in results:
    print(f"Document {doc.docid}: {doc.score}")

Documentation

Full documentation including guides on compression, BMP search, and the document store is available at:

https://experimaestro-ir-rust.readthedocs.io/en/latest/index.html

Project details


Download files

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

Source Distribution

impact_index-1.0.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

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

impact_index-1.0.0-cp314-cp314-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.14Windows x86-64

impact_index-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

impact_index-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

impact_index-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file impact_index-1.0.0.tar.gz.

File metadata

  • Download URL: impact_index-1.0.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for impact_index-1.0.0.tar.gz
Algorithm Hash digest
SHA256 787dbe17a6941449f819250f365c1f14579fbda7ffac18dbf989e86911afb8c2
MD5 6a37d7283f8a00f5556d6c9587ce7d09
BLAKE2b-256 061c95e1baca8e1f95617628996e6911fd809aa2ed64da38bff5a6c533246a98

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.0.0.tar.gz:

Publisher: release.yml on experimaestro/impact-index

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file impact_index-1.0.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for impact_index-1.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 47471b7c63e45896acfdcf63c12a5aa34e37e32447f716f9afe1f7ddb640d51d
MD5 7d992479ea40e6ff6e828ef18f73217e
BLAKE2b-256 597ffa9cdb0b66531fabef8a68d9b830a03769247029bcb7ba71ef2017207246

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.0.0-cp314-cp314-win_amd64.whl:

Publisher: release.yml on experimaestro/impact-index

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file impact_index-1.0.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for impact_index-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8074225a8b4a916f752344b35f6f7bea2a851ab439fa3902c5acd610c58c424f
MD5 02b76d2a8cce891f725a1b02add4ef53
BLAKE2b-256 6ebd413bdc08c0497c36700b2f46d99a12109389609f7d7e6ff783b0abbe34d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.0.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on experimaestro/impact-index

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file impact_index-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for impact_index-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e77d70c905c6e72c50021c0375be5ebaec5b6d05b916b0ccf1a30601bb118a25
MD5 358b9c0b9663ba3ad75870ace33e1703
BLAKE2b-256 1b7665d1cfb4aa6560adc3164353cd57aee29de35feb73f89c7252617c00db3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on experimaestro/impact-index

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file impact_index-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for impact_index-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6357d0bb61e855c59b709fce375d71404dc3c9f629a0a9c28aa51d4ba3933813
MD5 c5960fc13db523c12e863431d8509a10
BLAKE2b-256 3223ad7524f72f6662ffc6f20b34ab3b941c15db5ad59e8f3e272516dc3df2f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on experimaestro/impact-index

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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