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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

impact_index-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

impact_index-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

impact_index-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

impact_index-1.1.0-cp310-cp310-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

impact_index-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

impact_index-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

impact_index-1.1.0-cp310-cp310-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file impact_index-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6d29c27689f95927840411933f2be12122df5b69daba2a2227ca342892b57f7
MD5 9b0411475b7fa50ed89d66e7f52ddcdf
BLAKE2b-256 04a630f0c25a0c6a4af9a905981114b28e118ccf5b5b3b1762c47a7c72ab23d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp311-cp311-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.

File details

Details for the file impact_index-1.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a0dfec172f1f511b07cad93f6dd27196302f34fc3daaed74368d54afe3d13d5
MD5 a97b611249f4c60e1bcb41d40a357a5c
BLAKE2b-256 344d7661c45b38195c1dc1083c6cd54ec3e2b7512d8c7b2969e01374e86b693d

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp311-cp311-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.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 68f7d94b115046d84a10f4879abcc3d5033fd4b7058198708da5d3a9a3676cc7
MD5 b60177d935d7b8b0ff254928e18044f5
BLAKE2b-256 a009f688eb2584a59957eaf724292ec78c82d44e12adcd1f6967510736c1deeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp311-cp311-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.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9f0ad7d33b6f36b9110982070d79753d54f37c96307323bf5013330bab009ce8
MD5 d258bf1f65812b66dfc33711e50c9fd7
BLAKE2b-256 853b858326e96a6c03feef9bc271b819a43b8f7b017b8a74299595b25e22b5c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp310-cp310-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.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7e99b431cd9e578f45eb8ef81458f4cf4bf60b1b2ee5b4a1d21e1aac77e5bc2
MD5 23dc20a2f410f37ed39b4d983936c88f
BLAKE2b-256 f7c313271ce95fde0ed4fe0b98aba2e9128a5229143d3c56f32aae807f314861

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp310-cp310-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.

File details

Details for the file impact_index-1.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 461f52bf224bb2ec2084c3138eb11675c27a01d629de7a7960f71e27570128cd
MD5 2f2af1e16c3cbd0296a1b434236912cb
BLAKE2b-256 00f18e5e0627f02e976dc505db404c4646a7377d4c65ae2c1ce4eae0acadd52a

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp310-cp310-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.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for impact_index-1.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ebd23fdffebf32521e69ea16a4d9b3d197fdc5d844e45c45a674820648dffafc
MD5 a6204e87d87230687da67779c4d98375
BLAKE2b-256 8e9d046c4f4f979e32b4deb5f08a97bd34ed0c27f6f6df976a8c48b737dcbd42

See more details on using hashes here.

Provenance

The following attestation bundles were made for impact_index-1.1.0-cp310-cp310-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.

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