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 Distribution

rankops-0.1.21.tar.gz (233.5 kB view details)

Uploaded Source

Built Distributions

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

rankops-0.1.21-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (443.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rankops-0.1.21-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (422.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (415.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp314-cp314-win_amd64.whl (282.1 kB view details)

Uploaded CPython 3.14Windows x86-64

rankops-0.1.21-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.21-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (416.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp314-cp314-macosx_11_0_arm64.whl (382.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rankops-0.1.21-cp314-cp314-macosx_10_12_x86_64.whl (405.7 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rankops-0.1.21-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (414.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp313-cp313-win_amd64.whl (281.6 kB view details)

Uploaded CPython 3.13Windows x86-64

rankops-0.1.21-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.21-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (416.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp313-cp313-macosx_11_0_arm64.whl (382.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rankops-0.1.21-cp313-cp313-macosx_10_12_x86_64.whl (404.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rankops-0.1.21-cp312-cp312-win_amd64.whl (281.9 kB view details)

Uploaded CPython 3.12Windows x86-64

rankops-0.1.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (437.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rankops-0.1.21-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp312-cp312-macosx_11_0_arm64.whl (383.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rankops-0.1.21-cp312-cp312-macosx_10_12_x86_64.whl (404.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rankops-0.1.21-cp311-cp311-win_amd64.whl (283.6 kB view details)

Uploaded CPython 3.11Windows x86-64

rankops-0.1.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (440.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rankops-0.1.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp311-cp311-macosx_11_0_arm64.whl (385.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rankops-0.1.21-cp311-cp311-macosx_10_12_x86_64.whl (406.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rankops-0.1.21-cp310-cp310-win_amd64.whl (283.3 kB view details)

Uploaded CPython 3.10Windows x86-64

rankops-0.1.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (440.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rankops-0.1.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (420.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rankops-0.1.21-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.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (423.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (442.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

rankops-0.1.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (423.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

rankops-0.1.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (424.0 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

Details for the file rankops-0.1.21.tar.gz.

File metadata

  • Download URL: rankops-0.1.21.tar.gz
  • Upload date:
  • Size: 233.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rankops-0.1.21.tar.gz
Algorithm Hash digest
SHA256 65505dd2d13dee858bb0f967fcc305f780ddfbe67cf23bd6f51c735d053d261d
MD5 36abf0a8aa06488fe438a3e32df1d628
BLAKE2b-256 e389b820b5945ff23850451f047551c7ccb06b986497c449e5cfef06948f53dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21.tar.gz:

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.21-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9306f5c150361bdd547035ba5f05a618818ed32bcb6a501d0d0c447e25f69879
MD5 626d8f5e05bbfc975b257c242a63394a
BLAKE2b-256 0779c93444b69550c2676af64ad2a2b99cfcef6049fd319e9a86d4aa42f9e434

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3d9ad28e15c7d2c841abce369cb1cc98a9557c61888aff3b8c49133e5e54bf9a
MD5 49d149300745499a77ceb1d62a5aa24b
BLAKE2b-256 9d24a190c26f74d88b264031895364553ecaa1510b2cc8ae659eb633785abce9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d5187e26e02c3a4132ff251f1b205eefebe6f30628cf3ffa4cb79c7f121bbe6
MD5 58be2abcf004da23d50abf8dc8b6202a
BLAKE2b-256 6e9a8102c9a429297359822f6dd66904df116e53b2e18c61858f8a04fe0314c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.21-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 282.1 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.21-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 15a6cdb0665a711d5ff784b76c74f9d511cef81bdc60386549879dab307e96a6
MD5 2ca899a969f6936775c44677c2c0c179
BLAKE2b-256 5186ac15b649d89981d0fdbc7e2c64d6e23659940edc275169fc9dacc8ceb4b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 014556b2691335eadc254b6e3705bf68e0c2d8581ffac4344419efb21ca4ff9c
MD5 8fc99d722af7daafd0b6cc091c124fde
BLAKE2b-256 fcb325369f4e7541c3133d75f206a18c5356565d2a837793922ced79be11da47

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9750fa7fdd3adc4756607f03197a6c43f81451e39b16daeca3e4ba43c929c164
MD5 dea50df093f5cde5f84c7a37a180129f
BLAKE2b-256 74f7e9be052e6fd72b21930b4da14aa23d23c2d96e8270e2d73d8e81ff44f457

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f203488b11c0ca77cba1a676e312a22f5ca54ddbda46490c3b6768e9362db93b
MD5 97530d1da4867d1f0b45405c9b6667a4
BLAKE2b-256 11c2376cd7c191efc6b3cffe1f0b29c42a87620a12a7b7f6f823264a8492f85b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7de62bc5cb5ee2cec448651261116f84dd0955f07d0e8fec99c10f5e5cf3862
MD5 4482556f8b6d0531d3aba3e7cc712bf9
BLAKE2b-256 be66a0e2b32dac920c78172497ff55c0ddb8f991dea55ca3818e9cb59c188736

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91ce33c959595fa88091617068c110fd479bea0cfdaf1a89eb4d50d1ba543c27
MD5 28379efa821caacf38480f300c63a5c4
BLAKE2b-256 4ef764822bb288151c2d5c7aee1a827d6a24aba5b6c9152b3d545c5fafbe4ffa

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.21-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 281.6 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.21-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 305185e4e0f4325f30d9f3ee56f7e2b7d78d1cfb62c3f8f0df15e62dc6a70820
MD5 5dbebf73390cba66914e5186f481c599
BLAKE2b-256 a8363f454c257f0f9a8d0ac2cf291412a6c0730f2267c859ccfa51fab0acb913

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9317ce6c3783a3c2bd444a1a0f3a301d116b1dbe3d2e8e82e71a964aca00f62
MD5 7e6a51f96f5848dee51e48ef17c3c0ee
BLAKE2b-256 4cb614f331e4308cca9b65090294793afb289c8d1ee29b5fa3d2a41a71d781be

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3fc460a1003e6e57483baf8cdf8bb674d2ef728a4c7c6f362f79bc11a53f831e
MD5 8ce61b9e107db84f8ebcc86236a49262
BLAKE2b-256 2bd341d787fe6ed7c807d87feadec969701fa287bb2d1380fb7c0a9fd09ef537

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1f4a1b7bb8edb4ad00402a4deccb6c27ef781aad7a32bfe0730f7ce60fb1924
MD5 843fe62f59f425d317e8766e93b1ba98
BLAKE2b-256 d3f22333fe8498df2598d421939704c013ffba10df9f440196d828835f6fc984

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 78a312fdce9d6319f8a0410f36ea14aa14f7695948eee7480fd68b421004fc01
MD5 92b3fb61b5c978151fb2fc003e0fd646
BLAKE2b-256 0830d193ca37fe524b4d624a18ad4eb9bafa04116caa3819889cb427d56d69d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.21-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 281.9 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.21-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 515f33ab443a9994384035545b862d52625a1766297f1479d71b7277c6dc9970
MD5 e2d956d5759239a087a4169384aa6f45
BLAKE2b-256 9caa9b69cf7ee96703aa3fb5eec22066abedeedcf8221f6050c09b8922482e8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 56e3fac6390fb35e559fc4d7315b49845ed29b5e31990246a2f2dec3abb6f285
MD5 677b467a6cf9eb6edac2aa9a0dc88725
BLAKE2b-256 bc76f376d6d20346bb84a38ccd7e93ac5b84a37bf658fc825dbb6429b4015607

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c395061f6a44ecdfa667eec4f9220233460090dc24ba0420927eb2fb7f0b8782
MD5 3d58d152d8827260b30c1503779bc843
BLAKE2b-256 8196ff5b79784075282b70a864ad8fbba42ff8c7fb6856ce24dfd4372b534e69

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5587109be3486e34ca2be104f5becbbe13a7beea6edb6be8cea9127a0eb1455d
MD5 19c764c141676b2e09882ddb2dbb11fe
BLAKE2b-256 58851f63e12bf9de31d18c07ad90efe40d9cfc065bc9f1b90b20812eee758981

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d906c0322d343c4b543445416331b1e51c914c04919e6581d1de0ab04667e850
MD5 7f14d1a9ab5bb37f058d7d2e6d66c24c
BLAKE2b-256 050599563a05d4b381d4e528a131d6f8f4f0955350d9d5e00af7239dd316b4d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.21-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 283.6 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.21-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9a33ec31389bf4faa8b6c3b31e0e5a37901d27dc6dda1751af92360d7b70237b
MD5 2d1c91e4d6a2a17dfc278287a1cf479e
BLAKE2b-256 6069909de9a15d9bd43c2711113de3c26990dceef32095668528991f41904b72

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6956e0e32ff37d06bf45065992cfa35f1254cf47348c51d80a14579696ff51a0
MD5 5104be78beb71c0a56c02f13d80a881e
BLAKE2b-256 46506e94bdb016d5b379633462911cea5a055fdbe1be3d5c50556c2bb69fb7ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45a2c0e9a02b4ef86a5d9212c7ca76df0599b746cf0c6ca464c3879460871174
MD5 bac9f6a4264362a787130515aac8018d
BLAKE2b-256 8ccebf7003085aa6dd850a666cb16a6e8e25b56eeeae3c477dc0e8f9e22b0448

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20059755152d07c8306d3a3bcdb0217bb25477894050e9f4c3b7245c491ca9e6
MD5 4805c7f5368e6c7a5d51ef82c5e83431
BLAKE2b-256 f239e0e8ebb08487a64dde40573b84b3a039e4b4c0b89f0c0a908e48e0f75970

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 01c860ede191045706ad20b33ef4c1e4d4e57cf73a7f5473dc454fc8a2569752
MD5 8a3a442a35c6f2cb84bbc1246e59b0d6
BLAKE2b-256 c8063ff264f9bba753ceb4f1361d23971fa0e68bb9cbef25b48b2923ec9e7327

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rankops-0.1.21-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 283.3 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.21-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 85f780a857e3348a26874ddbb2f26a7ee0df690134ba526758ca6252af632fc4
MD5 5aff9496fb9561a8d3e1332a91630d9e
BLAKE2b-256 de1a722a671d4bdb09f02f863580c763ded40365efe60e51b022ea8302c0ff10

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f909a5eb6d91c6fd328e6531e0e5d7a2836c0d80149e00a5ec198ccbb24f6b08
MD5 063d80ed803975396421b0dc1c1e13bd
BLAKE2b-256 112d7cee8c327641acb594c470654e15fbaaab79d9ab1a5aeee8082a4567c94b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e0ce3251d399e7064bf47c6dd21e781f4054a5c3dbe17d911fe0819085d7ca8
MD5 700533d2059c0a72b9f0783fa46e1e7b
BLAKE2b-256 7d2799113c2eec7ae277c2894419594ec5e4ec8b80b6b4c62dadc54c8c9282ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99a2380cfae62d974c8c1474abf9e1970f7231317a796a7a0cf5c40e4e039c56
MD5 3e827ae34fa04b8fd488d0c9278236a9
BLAKE2b-256 537293204b045089ce54afaa8fcf7a9fbb75b0bf8f5e37b13c07b3f5dbbf3400

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 63afc538e422e4abe20399aff5f465808b2c11eb692a1d6758d7d4895d513b5a
MD5 f40fde886d3a7900a29c6df53575ad88
BLAKE2b-256 8c32bcfda155d350874f99d1482ea035c2156871e4f080a5669372e6cb09a7cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0719c3eba326b0a8ce5be8f65f70cf68c540ecd81b35f4da953e0629c3404b8
MD5 c53b2322359394d262de329cc0fbd6ac
BLAKE2b-256 f414fce18b3befc1ae71448ab225a5994c47a1074f7f324a1995a7c010cf2791

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd4595cfa3fc60de3475c0d3c627b8777d2f562f6bd4513eb9ea6bd4eb653a12
MD5 c5b6df8b35ca1e9bfe1c9cea8844c76d
BLAKE2b-256 3ea916771f2c5d35920af8ca4873b705959f06bab67a19e83cec1ea896e84812

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rankops-0.1.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 391f8dd6b6c6fb5a8541ee6aec137c6925b0a4b02c5ae6d96d970f20a75c78a6
MD5 f248d5704deb9bbe82137727f5ee9563
BLAKE2b-256 772d61568b4477ce4cbad7f937f18e65948f55af4b2ab5103246daadb86c025c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.21-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