Skip to main content

Python bindings for rankops (Rust) — fusion and reranking for hybrid search.

Project description

rankops-python

Python bindings for rankops (Rust) -- fusion and reranking for hybrid search.

Installation

From source

# Using uv (recommended)
cd rankops-python
uv venv
source .venv/bin/activate
uv tool install maturin
maturin develop --uv

# Or using pip
pip install maturin
maturin develop --release

Quick Start

import rankops

# BM25 results (keyword search)
bm25 = [("doc_1", 87.5), ("doc_2", 82.3), ("doc_3", 78.1)]

# Dense embedding results (semantic search)
dense = [("doc_2", 0.92), ("doc_1", 0.88), ("doc_4", 0.85)]

# RRF finds consensus: doc_2 appears high in both lists
fused = rankops.rrf(bm25, dense, k=60)
# [("doc_2", 0.033), ("doc_1", 0.032), ("doc_3", 0.016), ("doc_4", 0.016)]

Why RRF? BM25 scores are 0-100, dense scores are 0-1. RRF ignores scores and uses only rank positions, so no normalization needed.

API Reference

Rank-based Fusion (ignores scores)

These methods work with any score scale because they only use rank positions:

RRF (Reciprocal Rank Fusion)

# Two lists
fused = rankops.rrf(bm25, dense, k=60, top_k=10)

# Multiple lists
fused = rankops.rrf_multi([bm25, dense, sparse], k=60, top_k=10)

When to use: Different score scales (BM25: 0-100, dense: 0-1), zero-configuration needs.

ISR (Inverse Square Rank)

fused = rankops.isr(bm25, dense, k=1, top_k=10)
fused = rankops.isr_multi([bm25, dense], k=1, top_k=10)

When to use: When lower ranks should contribute more relative to top positions.

Borda Count

fused = rankops.borda(bm25, dense, top_k=10)
fused = rankops.borda_multi([bm25, dense], top_k=10)

When to use: Simple voting-based fusion.

Score-based Fusion (uses scores)

These methods require scores on compatible scales:

CombSUM

fused = rankops.combsum(bm25, dense, top_k=10)
fused = rankops.combsum_multi([bm25, dense], top_k=10)

When to use: Scores on the same scale (both 0-1, both cosine similarity).

CombMNZ

fused = rankops.combmnz(bm25, dense, top_k=10)
fused = rankops.combmnz_multi([bm25, dense], top_k=10)

When to use: Same scale as CombSUM, but want to reward documents appearing in multiple lists.

Weighted Fusion

fused = rankops.weighted(
    bm25, dense,
    weight_a=0.7,  # Weight for first list
    weight_b=0.3,  # Weight for second list
    normalize=True,  # Normalize scores to [0,1] before combining
    top_k=10
)

When to use: Trust one retriever more than another.

DBSF (Distribution-Based Score Fusion)

fused = rankops.dbsf(bm25, dense, top_k=10)
fused = rankops.dbsf_multi([bm25, dense], top_k=10)

When to use: Score distributions differ significantly between retrievers.

Standardized Fusion (ERANK-style)

# Two lists with default clipping [-3.0, 3.0]
fused = rankops.standardized(bm25, dense, clip_range=(-3.0, 3.0), top_k=10)

# Multiple lists
fused = rankops.standardized_multi(
    [bm25, dense],
    clip_min=-3.0,
    clip_max=3.0,
    top_k=10
)

When to use: Different score distributions, need configurable outlier handling, have negative scores.

Additive Multi-Task Fusion (ResFlow-style)

# E-commerce example: CTR + CTCVR with 1:20 weight ratio
fused = rankops.additive_multi_task(
    ctr_scores,      # Click-through rate predictions
    ctcvr_scores,    # Click-to-conversion rate predictions
    weight_a=1.0,    # Weight for first task
    weight_b=20.0,   # Weight for second task (20x more important)
    normalization="minmax",  # Normalization method: "zscore", "minmax", "sum", "rank", "none"
    top_k=10
)

When to use: Combining multiple ranking tasks (e.g., CTR + CTCVR in e-commerce), tasks have different scales but you know relative importance.

Explainability

Get detailed provenance information showing which retrievers contributed to each result:

import rankops

bm25 = [("doc_1", 87.5), ("doc_2", 82.3)]
dense = [("doc_2", 0.92), ("doc_3", 0.88)]

# Get results with full provenance
explained = rankops.rrf_explain(
    [bm25, dense],
    [rankops.RetrieverIdPy("bm25"), rankops.RetrieverIdPy("dense")],
    k=60
)

# Inspect first result
result = explained[0]
print(f"Document: {result.id}")
print(f"Score: {result.score}")
print(f"Rank: {result.rank}")
print(f"Consensus: {result.explanation.consensus_score}")

# See which retrievers contributed
for source in result.explanation.sources:
    print(f"  {source.retriever_id.id}: rank={source.original_rank}, contribution={source.contribution}")

Available explainability functions:

  • rrf_explain() - RRF with explainability
  • combsum_explain() - CombSUM with explainability
  • combmnz_explain() - CombMNZ with explainability
  • dbsf_explain() - DBSF with explainability

Result Validation

Validate fusion results to ensure they meet expected properties:

import rankops

fused = rankops.rrf(bm25, dense, k=60)

# Comprehensive validation
result = rankops.validate(fused, check_non_negative=False, max_results=10)
if not result.is_valid:
    print(f"Validation errors: {result.errors}")
if result.warnings:
    print(f"Warnings: {result.warnings}")

# Individual checks
sorted_check = rankops.validate_sorted(fused)
dup_check = rankops.validate_no_duplicates(fused)
finite_check = rankops.validate_finite_scores(fused)
non_neg_check = rankops.validate_non_negative_scores(fused)
bounds_check = rankops.validate_bounds(fused, max_results=10)

Validation checks:

  • Sorted: Results are sorted by score (descending)
  • No duplicates: Each document ID appears only once
  • Finite scores: No NaN or Infinity values
  • Non-negative (optional): Warns on negative scores when check_non_negative=True
  • Max results (optional): Warns if result count exceeds max_results

Configuration Objects

For advanced usage, you can use configuration objects:

config = rankops.RrfConfigPy(k=100)

# Other config types available:
# - FusionConfigPy (for CombSUM/CombMNZ/Borda/DBSF)
# - WeightedConfigPy (for weighted fusion)
# - StandardizedConfigPy (for standardized fusion)
# - AdditiveMultiTaskConfigPy (for additive multi-task fusion)

Complete Example: RAG Pipeline

import rankops

def rag_pipeline(query: str):
    # Step 1: Retrieve from multiple sources
    bm25_results = [
        ("doc_123", 87.5),
        ("doc_456", 82.3),
        ("doc_789", 78.1),
    ]

    dense_results = [
        ("doc_456", 0.92),
        ("doc_123", 0.88),
        ("doc_999", 0.85),
    ]

    # Step 2: Fuse results (RRF finds consensus)
    fused = rankops.rrf_multi(
        [bm25_results, dense_results],
        k=60,
        top_k=100  # Top 100 for reranking
    )

    # Step 3: Rerank with cross-encoder (expensive, so only top 100)
    # reranked = cross_encoder_rerank([id for id, _ in fused], query)

    # Step 4: Return top 10 for LLM context
    return [id for id, _ in fused[:10]]

Type Hints and IDE Support

The package includes type stubs (.pyi files) for full type checking support with:

  • mypy: mypy your_code.py
  • pyright: Built into VS Code and other editors
  • PyCharm: Automatic type checking

All functions are fully typed:

from typing import List, Tuple

RankedList = List[Tuple[str, float]]
fused: RankedList = rankops.rrf(bm25, dense, k=60)

Error Handling

# Most functions don't error - they return empty list for edge cases
fused = rankops.rrf([], [])  # Returns []

# Validation functions return ValidationResult with errors/warnings
result = rankops.validate(fused, check_non_negative=False, max_results=10)
if not result.is_valid:
    for error in result.errors:
        print(f"Error: {error}")

Performance

Python bindings add minimal overhead over native Rust:

  • RRF (100 items): ~15us (vs 13us in Rust)
  • RRF (1000 items): ~180us (vs 159us in Rust)

Overhead comes from Python object conversion and result serialization (~1-2us per call).

See Also

License

MIT OR Apache-2.0

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.

rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (443.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (422.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp314-cp314-win_amd64.whl (281.2 kB view details)

Uploaded CPython 3.14Windows x86-64

rankops-0.1.22-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (436.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (416.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp314-cp314-macosx_11_0_arm64.whl (381.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rankops-0.1.22-cp314-cp314-macosx_10_12_x86_64.whl (401.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rankops-0.1.22-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (414.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp313-cp313-win_amd64.whl (280.8 kB view details)

Uploaded CPython 3.13Windows x86-64

rankops-0.1.22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (437.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (416.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp313-cp313-macosx_11_0_arm64.whl (380.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rankops-0.1.22-cp313-cp313-macosx_10_12_x86_64.whl (402.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rankops-0.1.22-cp312-cp312-win_amd64.whl (281.2 kB view details)

Uploaded CPython 3.12Windows x86-64

rankops-0.1.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (437.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp312-cp312-macosx_11_0_arm64.whl (381.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rankops-0.1.22-cp312-cp312-macosx_10_12_x86_64.whl (403.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rankops-0.1.22-cp311-cp311-win_amd64.whl (283.0 kB view details)

Uploaded CPython 3.11Windows x86-64

rankops-0.1.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (440.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp311-cp311-macosx_11_0_arm64.whl (384.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rankops-0.1.22-cp311-cp311-macosx_10_12_x86_64.whl (405.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rankops-0.1.22-cp310-cp310-win_amd64.whl (282.9 kB view details)

Uploaded CPython 3.10Windows x86-64

rankops-0.1.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (440.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (423.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

rankops-0.1.22-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (424.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

rankops-0.1.22-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (424.5 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

Details for the file rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 56494462af8793b1eee5832daf461b49a6ab0d9ef0670386a671a8b9e375e976
MD5 7ae4a546a3570133f74bd2c83593a5ba
BLAKE2b-256 008f40858ead1446391b810d2dd1f66fbc6c7f8c7222b5106442b2720e82d15e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 664fa459c2ff1fff3ef97b9a8d82feb5517865b13590169a7cda906f9f4d344d
MD5 8b7afa4885ac18cf68317eb806e30e34
BLAKE2b-256 76a91d984b846093ea832ed033aacdd084884ad6c61132bb2f6ed90dd3d6c428

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 291c592523c3acd257ddcfb92dcf95ad1a973d68556d8c2f2a3137df6e4db1fd
MD5 667aa0df0950636d95676c9bf9918fb6
BLAKE2b-256 00e83e56b97de6744f0dcada5372c0f97cf10502a6af7cb205d830069b316b41

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.22-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 281.2 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankops-0.1.22-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a53670afdddff5171fef95e957937d7b3478d82e9a4bde8b85b3607c6ddaf924
MD5 4871db83220be27bdfd344ec2ffcad43
BLAKE2b-256 2262908a34e94bc414611e52c9666e71d8ea34f5fb3c269cf69a2d43bf57b398

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp314-cp314-win_amd64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5540aad1171ca765f5e2b10152da0a203ff610c44df00e4b6e82fca43c26c956
MD5 5d936fc6e082b69a7fdb19584971228f
BLAKE2b-256 536ee37f3956f3a7c162c4197976d8d6546ecee3ed93209dafc9bfab045a3c6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0cd0cc3fd8b6f19f68198549e7a2006e513ada4aa530481aa802ec71dcf97396
MD5 ba442b3e27ae9a956a55ec55a8b98acb
BLAKE2b-256 53eced15bbb805ad00b8949428511c7ab8e6a4d67a1d3cb054f09f739f7aca63

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec11e2d5df3b53acb0f8cb320605f007c5923eee7ff5edd1daab439318386ba8
MD5 5fb2219d67021c17ce0c325731e3194b
BLAKE2b-256 35d7a66f44714a00a885a11974147a1a3efd2fff59f7bf27611ddcce7124a12b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9a4ac606bb4ed3b46d95f48d98ee8f5f8e85f1be0289cfd7d68086d4c5fbf0cb
MD5 fb65bafcfc7faaf85796598aab5f94f4
BLAKE2b-256 376101c1d11b0414fd4fc2c81def072109a180af1969e05746f0f5b43f597df6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e1aa871efd0a66a78acc21ad80c6ceedc856a38f93da147bdbde673b0239c6a
MD5 e8cb2850cd072fcc945393f856b27824
BLAKE2b-256 41fc80a7f8ed4386b1edc5c56a9b186c53c1aed0be29bb11b8fee5b74fdf602f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.22-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 280.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankops-0.1.22-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5dda0690a3e5c4f32f5e468e28d0ab0b23187ec0e4ccaff8bf140afc35b9c9af
MD5 7bfa3f152616d4b59c9a076f50838af2
BLAKE2b-256 aa51231cd9d32cc6bcd1b163571b33b69ca4ff9db9c6b4d7792fa0b0f640c768

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp313-cp313-win_amd64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d99ec0b62bcf90b078cc5a30a804f6a186cf1d71af9c9bd5d32c57ffae4da4e6
MD5 376141b118b0d2fc090ac98d79d80278
BLAKE2b-256 4756b437119bf0d0217765dd8a1c4d24ae7fc52907fbe4b5cad44059b79c0d31

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 332400fb29225f324468e68a0a2b83b25692d613a250ca69b55645481b11868f
MD5 f24230d0909a268ac363b6f2ec8b8b8e
BLAKE2b-256 8e64178861784d607292d2b90bda3f2ca033881fd98ff20946770f36521e51ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca28a5fcd5d1f3498fd277c3dece413b9bf3d40e4e4a907c34d62d75ca275914
MD5 3222013b1ded63d9a706690c3f91fde7
BLAKE2b-256 1e62970125dbec17acffa40f8d2bc0b86f5fe2c6780d98aec2817772e31c1bf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 390a17b486533a97ff502b4a1ecd9b631869969eaf81c95da125cab337bec13f
MD5 6fe8e0fde8c7d682975721b3903693ec
BLAKE2b-256 174fc12747798e141ce3bcbc3fa9f24b7ae0eeb5d8ec6cdc0be64fe9c0f721e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.22-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 281.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankops-0.1.22-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 da098fa63787211133c4b29298d538873b7c487ffe1284084ece28f971676eba
MD5 c033c6d6bac71ed1e3ac5c6b7cf363e8
BLAKE2b-256 730eb9d9aefdbc2e2ba3be299d8b4ca27de954c2ef81558659bc42dcaf7b8ad0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp312-cp312-win_amd64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a42cb6a0bd1a78b038986a5fdae885bac80d2fa5578d3e638cb4a9707268ac14
MD5 694750d52c61c6bbcf38eee27911126b
BLAKE2b-256 e3afb8fc89a0b4a916832a707da72712f475d0349533bb19f5f558dccd8ca6be

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c1fb91c1017a3731a69dc09b4d9c7d71bf43e5baffe1e0b9c8eca4f647bd50f
MD5 310aea692f98fb8166acc797c8503c0e
BLAKE2b-256 14196e22581b9235fb9952310385925a4de8afaf0a15de251560813af9121a40

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 020bb4d98ad2214c9a60e162d42d6833617f0749080f4e57e32169232204286e
MD5 a4e8d9ca2a457b396586e9b929d461b1
BLAKE2b-256 8e72c399c76df58ff6007925768fd373e93167e3f29d4dec7f2c8536e22ceda1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fce8084efe8eed14341dd3a6f49fec62b47ebfedeb8953ef103ce66007df1ef5
MD5 e4c07538456589d2eccf7154fa555d53
BLAKE2b-256 f95184941ad2d545d21214f7b18c7e682fc847ca5a58291b166379a5766c7be6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.22-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 283.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankops-0.1.22-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a24833cfe76fed59473645ed1b285becd1e229a0e16b8a2e3bd6700e44559cd5
MD5 24d0ca6ae1bee3aea8f5fd0e1b528979
BLAKE2b-256 24e520ec5fd8ba7cd9e808172a0dc6dfa79b0b0d2afab1ebb75a5cfcf22fc636

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp311-cp311-win_amd64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5512484de5a1e4aec318391ca1925d96b7c2b890204696629f821b68d56c6df1
MD5 4307b1a43526037c47e90f292e6010aa
BLAKE2b-256 08cd1fc645d5f0d76f51e8627d06ac6bd07336275e554ff05145dc0ea6f3f95f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68adad56262295471f59d5cd6e3e1b8ee3e0cd62a0dd4d3a1c0b0b58d18723c6
MD5 9082df9448f0c80274ca7dfa376ab673
BLAKE2b-256 82cae7035ffc872407ee5b81da897ce4bb8fa15d564f3d625522a34b18ea7eec

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f858644be0115683a4432e5f923ebc216977efd645a288b9d2412a9e24970d58
MD5 f69572729a4c94f587c47ba06ff63f3a
BLAKE2b-256 7828f6e3b2c36c59cd5d854fbc2638e811efbed50b0ffe6b91fc5a468c682f9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c3d5a2674b28feb2454207a625563dcec877f28805eadd788ec40315f8bb744
MD5 4a30f2a85b2b2095ea525fe695d29a90
BLAKE2b-256 d16d8b7a92b1e2d7330691f40ff731cc031d89f8f253f37061262a7cd9fa5d4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.22-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 282.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankops-0.1.22-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 14773ce61443989c054ea9be1bd6eeb37e7d9fa965cd1cc6dfd034820a591f31
MD5 780c0df66b57ff90c4ff2f7c56eaef57
BLAKE2b-256 da205185c43b57ef9d433480854b6d052ad3dd9ee43e0732306673fe93781ce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp310-cp310-win_amd64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1107ca5d42591d384e3f08bd3cfc6c55b48beb65caafd4e76ea48c8562bc2242
MD5 2c1e5a122c1941ba636c093072122256
BLAKE2b-256 aaf5cba36de5e65196775a65be13b969fd798dd484b285f335705c6a321b0e0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 60f3b74fbcd379e6281b10139a9e2eb24757ecdbdc00ee0482dcd20aacf31ef2
MD5 ed5cf85c43221e594b30e6b57189cb55
BLAKE2b-256 611f12c6ffa33c0fdef09456a0444c50056497192d2b9332c8f48c9991a6247a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 022c2e35364576cddc92dd39f1bb0c7af3db1d32ac4749c42c8164d9f7d63ded
MD5 9eba8b63ae99d43cdef46f71d716e1c8
BLAKE2b-256 e55c1cc75b8a6adda4d973be755f1a5b0c79916a4c498e70b0139cd335d74429

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f3aeb82ee8e9f8c51b9f5b2738769ad47398109dcc63479bf602fa05883ad7da
MD5 065709e4ff7f0dbb69916d57a790b6d6
BLAKE2b-256 adee35dab0ae1c4261a64ff15d99848a0730f240b4f5e2072283c0cff6d10937

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6b53441457ef429fc6e0cc8891fbeb85f7b7a0ee1399741d682599770e89c1f
MD5 29ab9cfe2842eece7986157433a04760
BLAKE2b-256 b3005ef008014560ff6843d67bf6a1737a58c074df876c6d2ea07855d45e8a90

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8575ea9c3639098d455116e16c15681568eb838f9b72b859e5b97f2b74ddab08
MD5 a4452b999b6acef49a524b7362cd674e
BLAKE2b-256 8bb4de2dfdf65eb4d01284fcd3f0c7033f48f50d351f7028bcdc74820848495a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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

File details

Details for the file rankops-0.1.22-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.22-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30074be7f01b5b1c81dcf6a947e101195e6b9fd7db4d520ec04a3c9612a4369f
MD5 1b082da163b79e18561394ff16b9908b
BLAKE2b-256 6b40a29ca5bb69f06a9301982251693d37df7e2c87acdfa12efc4b560d3409fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.22-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on arclabs561/rankops

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