Skip to main content

rankops-python

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

Installation

pip install rankops

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],
    ["bm25", "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

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.23-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (434.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rankops-0.1.23-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (416.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.0 kB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.4 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (409.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp314-cp314-win_amd64.whl (279.8 kB view details)

Uploaded CPython 3.14Windows x86-64

rankops-0.1.23-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (411.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp314-cp314-macosx_11_0_arm64.whl (375.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rankops-0.1.23-cp314-cp314-macosx_10_12_x86_64.whl (393.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rankops-0.1.23-cp313-cp313-win_amd64.whl (279.3 kB view details)

Uploaded CPython 3.13Windows x86-64

rankops-0.1.23-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (410.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp313-cp313-macosx_11_0_arm64.whl (375.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rankops-0.1.23-cp313-cp313-macosx_10_12_x86_64.whl (394.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rankops-0.1.23-cp312-cp312-win_amd64.whl (279.7 kB view details)

Uploaded CPython 3.12Windows x86-64

rankops-0.1.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (427.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (411.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp312-cp312-macosx_11_0_arm64.whl (376.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rankops-0.1.23-cp312-cp312-macosx_10_12_x86_64.whl (395.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rankops-0.1.23-cp311-cp311-win_amd64.whl (282.0 kB view details)

Uploaded CPython 3.11Windows x86-64

rankops-0.1.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (413.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp311-cp311-macosx_11_0_arm64.whl (377.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rankops-0.1.23-cp311-cp311-macosx_10_12_x86_64.whl (398.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rankops-0.1.23-cp310-cp310-win_amd64.whl (281.9 kB view details)

Uploaded CPython 3.10Windows x86-64

rankops-0.1.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (430.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (414.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rankops-0.1.23-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

rankops-0.1.23-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (417.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

File details

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

File metadata

File hashes

Hashes for rankops-0.1.23-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10bb611efd08c784cba18c06746032cce107931606bf29505822706edfe713fd
MD5 05c4d03311a46557d39a8d330604d6ba
BLAKE2b-256 f01f9d105db351aa1f6f0f5dc63b2fc2a786df6f0168efb3ec84d138b8007c72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 531c9d1b4b1bfc8a17b83ddf81a499e95bc271564e82995816fca4d219afca95
MD5 7bc0d58c33fb33bfa5aa380b0ad9f7d4
BLAKE2b-256 a57f17b63bf3f672ea90455fcf50c0edc88591c132c912893fc4ef0d9dfae808

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.23-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.23-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.23-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae1b6f3b70ed4890750267d8abd17879ae705cab47ce15ad49cbfdd43449065f
MD5 13165edc7e730f0bb686e9af1a3fff1a
BLAKE2b-256 2e0fbcd473c20af89916c6510e45939fd1c3cff61e41c28c9ce7dd1cd616a058

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.23-cp315-cp315t-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.23-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.23-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d58aadcfb5e89a67bfb2a261de1b7ab26242e9d588da395637985a73dcf8db62
MD5 3417204bf547bee0169ac35eda1fa8d4
BLAKE2b-256 1845842a26a7cd64d5ebd5d197fbc8784a85fdc837eecb17549fd21b3d2dae4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rankops-0.1.23-cp315-cp315-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.23-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rankops-0.1.23-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cbe6927c6f5e0c06912ae8d8b0b47745f3129a23e5d60529bddd45ad98e7fd81
MD5 d53d1d14bbe861e84953bf9c72bf7931
BLAKE2b-256 6e59eac5209f4e06f9487adbe4c354c4e4f5636da9e6199076993b53f3789f00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6be238587545c3675f75a0bf520c5fe570ddf205cece9546feb94312341d91f
MD5 6824a5532a0347e51c07469a946a8ec1
BLAKE2b-256 733193e0a98361bed082bdebff33fc2c64b9335f7b4096da854c7d7088f6dcaf

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for rankops-0.1.23-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c3b538811a85638344ce1ddfc252446b59086f79c03799d48f56305a92adbf10
MD5 83f51c9caa1e3b241c98667453f509d3
BLAKE2b-256 5949b63610315a54b067a7f4c0d1427eded8c1a9d71d2df46867c6d055ed92aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc160a38f6777fdbb0cb4bda30689ae614d59d29dc3eedccbe0a43c407d062be
MD5 b42631d6528c25c70c2d0f73221a4c08
BLAKE2b-256 678126e8ff376c9bc1bb1d6e6782eeb181a7d283cdd9dc0f5c9846451c7f9382

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 927a3f1fe763b6e9eee04bf55f206d18239c71545f00b0e02b4de3f43be7b76b
MD5 69c5e57e4f269411585f7f8a7f2206b4
BLAKE2b-256 e7604c23743c286edc61fee0eb128da7facb4268f659b21ef3a7b576da7c993f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04c022b8a1d9ac51f8839b78a8a08bd5be9d19afe9c8b73daa323e89e4482884
MD5 efacf15097cfe327593d3be55ae60721
BLAKE2b-256 eb42654b5b7cf05e666172efa21ca093073bedb92f049726c793dfe3e7fd90b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dcd645e44a1b5832b0952d131734ab52aa4eb87acba48f65e51b2a7be6b75557
MD5 5a5dc30c15bc2bc0245e600f6b6a70bb
BLAKE2b-256 5af17af7b610549bd9e38c4d9d9fda526e4c029a0f8b48fb5e9022074b15d761

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for rankops-0.1.23-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8fd8f6fdeb82b4968d2c9feaeca0437e9e041bc6ef2b80f190d3c8c5fbda07ca
MD5 1b922c61716047b60536cf4aecec0b8d
BLAKE2b-256 9f6c53f1a78462c7881adf00bed2a38e18085f1bd374dbfed4deb96e785c5a23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d38eb5367760221eddb5445328518688ea14cbe1831ed23caacea205c714421f
MD5 a7f88d78ae0affed5a8a4db80cac44bd
BLAKE2b-256 ece195a17e7b159a78f8b5888649606f3e681452ad2ded38a6025a982e60ebd6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 256c0b34b716b3d9046823e4b7ce7f2ff10639dee98409f229ad7ead508803c0
MD5 f43a3d5192d86170fac05cc67ec6f210
BLAKE2b-256 2b7d7543850acb9bbdcd7c0daaef04746f58e3e73757fe8aa22e1e301f0c2fb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7520b63ff284613c61f6a1d37df413494da5a0bfacc240f0d72ffa29da89a80e
MD5 1f2e0210b16a29ffd23cb0fa3d54f809
BLAKE2b-256 6c7d67e3bc4ba0a712b4bd839ffb66324b443bd3d324e2c927d6692c3ac60420

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a05bb6c8006db145d8dbd4a7e2f556f61e9a51091da1541e47524ba37f70be7b
MD5 528b89020521f0ef22130af100c09f7e
BLAKE2b-256 297820b417e3e9872016037d63533cc8e249ad166c9dfbe8b67c374a01bdb214

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for rankops-0.1.23-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fdec810d4a6ab5ab9056b42b3c222dae22b4ede950415558f46ff6b37e657202
MD5 6f4ad491b580aabc2e96ac06a57b6b87
BLAKE2b-256 18a02b4a6b88b0f4bcd526fb1dd824a11d9a3abfda535e3675f74f83b7dff261

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de658e2b63cb454600a9e9e1af2c65d840c51a8ae7a613736e9abe61e935a69b
MD5 24de67827339abf9fff3cdff253e9e6e
BLAKE2b-256 1573ab812c702e60db8edbfee0c9c8b7a6c5a670bf18503facc3d2e649b8ca53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 27136f53491e9e28624bc31762394927e0703984b50c63ce5994e9c2b90c1be0
MD5 6e9e2c5d614ca899dc17f4ab617bc50d
BLAKE2b-256 ee5b615dbda60c6f7925e75dd6e3462012488151d2965744d34ba0671d0ade43

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9033f4796ef6217827fc20210aaef691443d410a2ead54f5a5612f775220b0a5
MD5 8162b9c67c8ae9f550423c6d80686a70
BLAKE2b-256 6f57aa3d5e1f465e834986cedcf20370ae8c9d1cd22715994e045600caaed448

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f3caae1f0d4b0956bcd24d6f6cce006ad816a409cead09575ba5c7b2b01181d7
MD5 2469a1e87ced7f7add9408fe62a1f0d1
BLAKE2b-256 9f3947473da022c3c5b235d0882245baa8a61b3cbf5dd0a6f00b1606cc167094

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for rankops-0.1.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7f2211e9e24fc94ca5784625f2aeea6f4cadd4d98466ec7eab115da514287de7
MD5 5bb97e1f45534675cbbd25c19ce37cfc
BLAKE2b-256 c998c5df027bc0504b514fecc7bac21a26b14bc8c5a60b1effbf86e292aea830

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74b00e41aca796a6b5c126cc1844e4a64dc9e075a27b103fbd248353bf1cb184
MD5 4dab9faa7e85a674594bd42cd66625f7
BLAKE2b-256 1b38ed8355b96adfa4ea8ed63b9fce7e76b480c9040ecddf7ffd3a15b0847f15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 077bdd58f02ccb6e94e87fb0ce124e63b552523a532bad8d1140b2d0d96173a8
MD5 e3db03d8f77cda191750f5753647ad25
BLAKE2b-256 496692284d3b9af9e6f31951101c35fae236ad0bba5a53ee5ac79015f34c4396

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3d6f14cb5a346cfd498a83a44459380ded2e2ebd85039320a260bdf0e264301
MD5 696fbb1b269e4c0980939892ff4cb445
BLAKE2b-256 24e506232cd084628141c37e7465a471b3a1040eeea79afc2109d62fe5abb7d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2696f2d5276e9d48a8212954a87bdec7bd3c4d1d696baba81cd36c28ef4946d8
MD5 b6414263fcfc5d4156a68e3d7b4667ea
BLAKE2b-256 b84ffed0c4d22d93ab14145983eef8f3ff952f143c9a580f348ff2f3153d5e5c

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for rankops-0.1.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0de2873501df7a384bd0157a21794d9d6d7132754661f9190c12f8cffcb9a831
MD5 ed13ea3a5fa27ce75f95279776b92a49
BLAKE2b-256 320b4e3b0a3e0bf65825fc4e676018e5b2fbe668f65deeed22ca17008cc046cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e9a3361516b022de98a74fb88bfc18b747ce6ca0c3980f6b29cea3e7fe518cf
MD5 6f1203a79be42c456495e6cead6bd3d5
BLAKE2b-256 26d4cbcead5721a967cab2da315d0995409041bb4d4f9d19a47163877fa0dfed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3db9603e816c20e59fc1056af058cfe77bef82a982f95de732f036b87a99e91
MD5 cdd6dd8f176a8fcf2bf984c98131499c
BLAKE2b-256 2a4fe3f62aced6ae85127b6e349f7eb42c5cde456d98d5c656b147e4fc4cddb5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1163ce6aa425658becea64ea9028e41cb3e8143cee77af9a5736186012fe033e
MD5 5f8944a4aba25869ce36e468ac6cb993
BLAKE2b-256 e84bc6ccb89d1cb931c2aa8bae5a51a6d59566337da18db9f7799c04f2a0b2b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 719db0d707aeb3cf7f8c9104f89994a450f02cb99db40b42e933e36fa37f83f0
MD5 1aabb2adab179438176bd5171fd7dd83
BLAKE2b-256 e1e7de8c8811259b629d1344bd87a8652da4c251696abba61d542542542bc6f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7ae1680939c659e1dbb9ae9b739dac4675c42c42269f1617d2546cacc11e3870
MD5 587445d66748ae6b5e16ccd95fe73677
BLAKE2b-256 2840b5f57548912e94ef9093041d21f6b1e8ee53637d5b67a71a51853ce8787e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rankops-0.1.23-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1ac1e755690fb7d08cbdf2c184f827864f93d30f0ffc9780bd42cb624be5c99c
MD5 933921472da7aac9e650be48413e7cd9
BLAKE2b-256 79581904e09b5fe2a904d1ac6c3fbeee9098c392143ff30eaf6e6694dd8cdc73

See more details on using hashes here.

Provenance

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