Skip to main content

Blazing-fast FP-Growth and Association Rules — pure Rust via PyO3

Project description

rusket logo

Blazing-fast Market Basket Analysis and Recommender Engines (ALS, BPR, FP-Growth, PrefixSpan) for Python, powered by Rust.

PyPI Python Rust License Docs


rusket is a high-performance library for Market Basket Analysis, Graph Analytics, and Recommender Engines, backed by a Rust core (via PyO3) that delivers 2–15× speed-ups and dramatically lower memory usage.

It features Alternating Least Squares (ALS) and Bayesian Personalized Ranking (BPR) for collaborative filtering, as well as FP-Growth (parallel via Rayon), Eclat (vertical bitset mining), and PrefixSpan (sequential pattern mining). It serves as a drop-in replacement for mlxtend's APIs, natively supporting Pandas (including Arrow backend), Polars, and sparse DataFrames out of the box.


✨ Highlights

rusket mlxtend
Core language Rust (PyO3) Pure Python
Algorithms ALS, BPR, PrefixSpan, FP-Growth, Eclat FP-Growth only
Recommender API ✅ Hybrid Engine + i2i Similarity
Graph & Embeddings ✅ NetworkX Export, Vector DB Export
Pandas dense input ✅ C-contiguous np.uint8
Pandas Arrow backend ✅ Arrow zero-copy (pandas 2.0+) ❌ Not supported
Pandas sparse input ✅ Zero-copy CSR → Rust ❌ Densifies first
Polars input ✅ Arrow zero-copy ❌ Not supported
Parallel mining ✅ Rayon work-stealing ❌ Single-threaded
Memory Low (native Rust buffers) High (Python objects)
API compatibility ✅ Drop-in replacement
Metrics 12 built-in metrics 9

📦 Installation

pip install rusket
# or with uv:
uv add rusket

Optional extras:

# Polars support
pip install "rusket[polars]"

# Pandas/NumPy support (usually already installed)
pip install "rusket[pandas]"

🚀 Quick Start

Basic — Pandas

import pandas as pd
from rusket import mine, association_rules

# One-hot encoded boolean DataFrame
data = {
    "bread":  [1, 1, 0, 1, 1],
    "butter": [1, 0, 1, 1, 0],
    "milk":   [1, 1, 1, 0, 1],
    "eggs":   [0, 1, 1, 0, 1],
    "cheese": [0, 0, 1, 0, 0],
}
df = pd.DataFrame(data).astype(bool)

# 1. Mine frequent itemsets
# method="auto" automatically selects FP-Growth or Eclat based on dataset density
freq = mine(df, min_support=0.4, use_colnames=True)

# 2. Generate association rules
rules = association_rules(
    freq,
    num_itemsets=len(df),
    metric="confidence",
    min_threshold=0.6,
)

print(rules[["antecedents", "consequents", "support", "confidence", "lift"]]
      .sort_values("lift", ascending=False))

🛒 Transaction Data (Long Format)

Real-world data comes as (transaction_id, item) rows — not one-hot matrices. Use the built-in helpers to convert:

import pandas as pd
from rusket import from_transactions, mine

# Long-format transactional data
df = pd.DataFrame({
    "order_id": [1, 1, 1, 2, 2, 3],
    "item":     [3, 4, 5, 3, 5, 8],
})

# Convert to one-hot boolean matrix
ohe = from_transactions(df)

# Mine!
freq = mine(ohe, min_support=0.3, use_colnames=True)
print(freq)

Or use the explicit helpers for type clarity:

from rusket import from_pandas, from_polars

ohe = from_pandas(df)                      # Pandas DataFrame
ohe = from_polars(pl_df)                   # Polars DataFrame
ohe = from_transactions([[3, 4], [3, 5]])  # list of lists

Spark is also supported: from_spark(spark_df) calls .toPandas() internally.


⚡ Eclat — Vertical Mining

eclat uses vertical bitset representation + hardware popcnt for fast support counting. Ideal for sparse retail basket data.

import pandas as pd
from rusket import eclat, association_rules

df = pd.DataFrame({
    "bread":  [True, True, False, True, True],
    "butter": [True, False, True, True, False],
    "milk":   [True, True, True, False, True],
    "eggs":   [False, True, True, False, True],
})

# Eclat — same API as fpgrowth
freq = eclat(df, min_support=0.4, use_colnames=True)
rules = association_rules(freq, num_itemsets=len(df), min_threshold=0.6)
print(rules)

When to use which?

You almost always want to use rusket.mine(method="auto"). This evaluates the density of your dataset nnz / (rows * cols) using the Borgelt heuristic (2003) to pick the best algorithm under the hood:

Scenario Algorithm chosen by method="auto"
Very sparse data (density < 0.15) eclat (bitset/SIMD intersections)
Dense data (density > 0.15) fpgrowth (FP-tree traversals)

🐻‍❄️ Polars Input

rusket natively accepts Polars DataFrames. Data is transferred via Arrow zero-copy buffers — no conversion overhead.

import polars as pl
import numpy as np
from rusket import fpgrowth, association_rules

# ── 1. Create a Polars DataFrame ────────────────────────────────────
rng = np.random.default_rng(0)
n_rows, n_cols = 20_000, 150
products = [f"product_{i:03d}" for i in range(n_cols)]

# Power-law popularity: top products appear often, tail products are rare
support = np.clip(0.5 / np.arange(1, n_cols + 1, dtype=float) ** 0.5, 0.005, 0.5)
matrix = rng.random((n_rows, n_cols)) < support

df_pl = pl.DataFrame({p: matrix[:, i].tolist() for i, p in enumerate(products)})
print(f"Polars DataFrame: {df_pl.shape[0]:,} rows × {df_pl.shape[1]} columns")

# ── 2. fpgrowth — same API as pandas ────────────────────────────────
freq = fpgrowth(df_pl, min_support=0.05, use_colnames=True)
print(f"Frequent itemsets: {len(freq):,}")
print(freq.sort_values("support", ascending=False).head(8))

# ── 3. Association rules ────────────────────────────────────────────
rules = association_rules(freq, num_itemsets=n_rows, metric="lift", min_threshold=1.1)
print(f"Rules: {len(rules):,}")
print(
    rules[["antecedents", "consequents", "confidence", "lift"]]
    .sort_values("lift", ascending=False)
    .head(6)
)

Or more concisely — just read a Parquet file:

import polars as pl
from rusket import mine

df = pl.read_parquet("transactions.parquet")
freq = mine(df, min_support=0.05, use_colnames=True)

How it works under the hood:
Polars → Arrow buffer → np.uint8 (zero-copy) → Rust fpgrowth_from_dense


📊 Sparse Pandas Input

For very sparse datasets (e.g. e-commerce with thousands of SKUs), use Pandas SparseDtype to minimize memory. rusket passes the raw CSR arrays straight to Rust — no densification ever happens.

import pandas as pd
import numpy as np
from rusket import fpgrowth

rng = np.random.default_rng(7)
n_rows, n_cols = 30_000, 500

# Very sparse: average basket size ≈ 3 items out of 500
p_buy = 3 / n_cols
matrix = rng.random((n_rows, n_cols)) < p_buy
products = [f"sku_{i:04d}" for i in range(n_cols)]

df_dense = pd.DataFrame(matrix.astype(bool), columns=products)
df_sparse = df_dense.astype(pd.SparseDtype("bool", fill_value=False))

dense_mb = df_dense.memory_usage(deep=True).sum() / 1e6
sparse_mb = df_sparse.memory_usage(deep=True).sum() / 1e6
print(f"Dense  memory: {dense_mb:.1f} MB")
print(f"Sparse memory: {sparse_mb:.1f} MB  ({dense_mb / sparse_mb:.1f}× smaller)")

# Same API, same results — just faster and lighter
freq = mine(df_sparse, min_support=0.01, use_colnames=True)
print(f"Frequent itemsets: {len(freq):,}")

How it works under the hood:
Sparse DataFrame → COO → CSR → (indptr, indices) → Rust fpgrowth_from_csr


🌊 Out-of-Core Processing (FPMiner Streaming)

For datasets scaling to Billion-row sizes that don't fit in memory, use the FPMiner accumulator. It accepts chunks of (txn_id, item_id) pairs, sorting them in-place immediately, and uses a memory-safe k-way merge across all chunks to build the CSR matrix on the fly avoiding massive memory spikes.

import numpy as np
from rusket import FPMiner

n_items = 5_000
miner = FPMiner(n_items=n_items)

# Feed chunks incrementally (e.g. from Parquet/CSV/SQL)
for chunk in dataset:
    txn_ids = chunk["txn_id"].to_numpy(dtype=np.int64)
    item_ids = chunk["item_id"].to_numpy(dtype=np.int32)
    
    # Fast O(k log k) per-chunk sort
    miner.add_chunk(txn_ids, item_ids)

# Stream k-way merge and mine in one pass!
# Returns a DataFrame with 'support' and 'itemsets' just like fpgrowth()
freq = miner.mine(min_support=0.001, max_len=3)

Memory efficiency: The peak memory overhead at mine() time is just $O(k)$ for the cursors (where $k$ is the number of chunks), plus the final compressed CSR allocation.


🔄 Migrating from mlxtend

rusket is a drop-in replacement. The only API difference is num_itemsets:

- from mlxtend.frequent_patterns import fpgrowth, association_rules
+ from rusket import mine, association_rules

- freq  = fpgrowth(df, min_support=0.05, use_colnames=True)
+ freq  = mine(df, min_support=0.05, use_colnames=True)

- rules = association_rules(freq, metric="lift", min_threshold=1.2)
+ rules = association_rules(freq, num_itemsets=len(df),             # ← add this
+                           metric="lift", min_threshold=1.2)

Why num_itemsets? This makes support calculation explicit and avoids a hidden internal pandas join that mlxtend performs.

Gotchas:

  1. Input must be bool or 0/1 integers — rusket warns if you pass floats
  2. Polars is supported natively — just pass the DataFrame directly
  3. Sparse pandas DataFrames work too — and use much less RAM

📖 API Reference

mine

rusket.mine(
    df,
    min_support: float = 0.5,
    null_values: bool = False,
    use_colnames: bool = False,
    max_len: int | None = None,
    method: str = "auto",
    verbose: int = 0,
) -> pd.DataFrame

Dynamically selects the optimal mining algorithm based on the dataset density heuristically. It's highly recommended to use this instead of fpgrowth or eclat directly.

Parameter Type Description
df pd.DataFrame | pl.DataFrame | np.ndarray One-hot encoded input (bool / 0-1). Dense, sparse, or Polars.
min_support float Minimum support threshold in (0, 1].
null_values bool Allow NaN values in df (pandas only).
use_colnames bool Return column names instead of integer indices in itemsets.
max_len int | None Maximum itemset length. None = unlimited.
method "auto" | "fpgrowth" | "eclat" Algorithm to use. "auto" selects Eclat for <0.15 density distributions.
verbose int Verbosity level.

Returns a pd.DataFrame with columns ['support', 'itemsets'].


fpgrowth

rusket.fpgrowth(
    df,
    min_support: float = 0.5,
    null_values: bool = False,
    use_colnames: bool = False,
    max_len: int | None = None,
    verbose: int = 0,
) -> pd.DataFrame
Parameter Type Description
df pd.DataFrame | pl.DataFrame | np.ndarray One-hot encoded input (bool / 0-1). Dense, sparse, or Polars.
min_support float Minimum support threshold in (0, 1].
null_values bool Allow NaN values in df (pandas only).
use_colnames bool Return column names instead of integer indices in itemsets.
max_len int | None Maximum itemset length. None = unlimited.
verbose int Verbosity level (kept for API compatibility with mlxtend).

Returns a pd.DataFrame with columns ['support', 'itemsets'].


eclat

rusket.eclat(
    df,
    min_support: float = 0.5,
    null_values: bool = False,
    use_colnames: bool = False,
    max_len: int | None = None,
    verbose: int = 0,
) -> pd.DataFrame

Same parameters as fpgrowth. Uses vertical bitset representation (Eclat algorithm) instead of FP-Tree.

Returns a pd.DataFrame with columns ['support', 'itemsets'].


association_rules

rusket.association_rules(
    df,
    num_itemsets: int,
    metric: str = "confidence",
    min_threshold: float = 0.8,
    support_only: bool = False,
    return_metrics: list[str] = [...],  # all 12 metrics by default
) -> pd.DataFrame
Parameter Type Description
df pd.DataFrame Output from fpgrowth().
num_itemsets int Number of transactions in the original dataset (len(df_original)).
metric str Metric to filter rules on (see table below).
min_threshold float Minimum value of metric to include a rule.
support_only bool Only compute support; fill other columns with NaN.
return_metrics list[str] Subset of metrics to include in the result.

Returns a pd.DataFrame with columns antecedents, consequents, plus all requested metric columns.

Available Metrics

Metric Formula / Description
support P(A ∪ B)
confidence P(B | A)
lift confidence / P(B)
leverage support − P(A)·P(B)
conviction (1 − P(B)) / (1 − confidence)
zhangs_metric Symmetrical correlation measure
jaccard Jaccard similarity between A and B
certainty Certainty factor
kulczynski Average of P(B|A) and P(A|B)
representativity Rule coverage across transactions
antecedent support P(A)
consequent support P(B)

from_transactions

rusket.from_transactions(
    data,
    transaction_col: str | None = None,
    item_col: str | None = None,
) -> pd.DataFrame

Converts long-format transactional data to a one-hot boolean matrix. Accepts Pandas DataFrames, Polars DataFrames, Spark DataFrames, or list[list[...]].

from_pandas / from_polars / from_spark

Explicit typed variants of from_transactions for specific DataFrame types:

rusket.from_pandas(df, transaction_col=None, item_col=None) -> pd.DataFrame
rusket.from_polars(df, transaction_col=None, item_col=None) -> pd.DataFrame
rusket.from_spark(df, transaction_col=None, item_col=None)  -> pd.DataFrame

🧠 Advanced Pattern & Recommendation Algorithms

rusket provides more than just basic market basket analysis. It includes an entire suite of modern algorithms and a high-level Business Recommender API.

🎯 Hybrid Recommender API

Combine the serendipity of Collaborative Filtering (ALS/BPR) with the strict, deterministic logic of Frequent Pattern Mining.

from rusket import ALS, Recommender, mine, association_rules

# 1. Train your Collaborative Filtering model
als = ALS(factors=64).fit(user_item_matrix)

# 2. Mine your Association Rules
rules = association_rules(mine(user_item_matrix))

# 3. Create the Hybrid Engine
rec = Recommender(als_model=als, rules_df=rules)

# Personalized recommendations for a user (ALS)
items, scores = rec.recommend_for_user(user_id=42, n=5)

# Next Best Action for an active shopping cart (Association Rules)
cross_sell = rec.recommend_for_cart([14, 7], n=3)

📈 BPR & Sequential Patterns

  • BPR (Bayesian Personalized Ranking): Optimize for implicit feedback (clicks, views, purchases) directly by learning the ranking order of items instead of minimizing error.
  • Sequential Pattern Mining (PrefixSpan): Look at purchases over time instead of just single transactions (e.g., "Customer bought a Camera -> 1 month later bought a Lens").

🕸️ Graph Analytics & Embeddings

Integrate natively with the modern GenAI/LLM stack:

  • Vector Export: Export user/item factors to a Pandas DataFrame ready for FAISS/Qdrant using rusket.export_item_factors.
  • Item-to-Item Similarity: Fast Cosine Similarity on embeddings using rusket.similar_items(als_model, item_id).
  • Graph Generation: Automatically convert association rules into a networkx directed Graph for community detection using rusket.viz.to_networkx(rules).

⚡ Benchmarks

Scale Benchmarks (1M → 200M rows)

Scale from_transactions → fpgrowth Direct CSR → Rust Speedup
1M rows 5.0s 0.1s 50×
10M rows 24.4s 1.2s 20×
50M rows 63.1s 4.0s 15×
100M rows (20M txns × 200k items) 134.2s 10.1s 13×
200M rows (40M txns × 200k items) 246.8s 17.6s 14×

Power-user path: Direct CSR → Rust

import numpy as np
from scipy import sparse as sp
from rusket import mine

# Build CSR directly from integer IDs (no pandas!)
csr = sp.csr_matrix(
    (np.ones(len(txn_ids), dtype=np.int8), (txn_ids, item_ids)),
    shape=(n_transactions, n_items),
)
freq = mine(csr, min_support=0.001, max_len=3,
            use_colnames=True, column_names=item_names)

At 100M rows, the mining step takes 1.3 seconds — the bottleneck is entirely the CSR build.

Real-World Datasets

Dataset Transactions Items rusket mlxtend Speedup
andi_data.txt 8,416 119 9.7 s (22.8M itemsets) TIMEOUT 💥
andi_data2.txt 540,455 2,603 7.9 s 16.2 s

Run benchmarks yourself:

uv run python benchmarks/bench_scale.py       # Scale benchmark + Plotly chart
uv run python benchmarks/bench_realworld.py   # Real-world datasets
uv run pytest tests/test_benchmark.py -v -s   # pytest-benchmark

🏗 Architecture

Data Flow

pandas dense         ──► np.uint8 array (C-contiguous)  ──► Rust fpgrowth_from_dense
pandas Arrow backend ──► Arrow → np.uint8 (zero-copy)   ──► Rust fpgrowth_from_dense
pandas sparse        ──► CSR int32 arrays               ──► Rust fpgrowth_from_csr
polars               ──► Arrow → np.uint8 (zero-copy)   ──► Rust fpgrowth_from_dense
numpy ndarray        ──► np.uint8 (C-contiguous)        ──► Rust fpgrowth_from_dense

All mining and rule generation happens inside Rust. No Python loops, no round-trips.

The 1 Billion Row Architecture

To pass the "1 Billion Row" threshold without OOM crashes, rusket employs a zero-allocation mining loop:

  • Eclat Scratch Buffers: intersect_count_into writes intersections directly into thread-local pre-allocated memory bytes and computes popcnt in a single pass. It implements early-exit loop termination the moment it proves a combination cannot reach min_support.
  • FPGrowth Parallel Tree Build: Conditional FP-trees are collected concurrently inside the rayon parallel mining step, replacing the standard sequential loop and eliminating memory contention bottlenecks.
  • AHashMap Deduplication: Extremely fast O(N) duplicate basket counting replaces standard O(N log N) unstable sorts in the core pipeline.

Project Structure

├── src/                          # Rust core (PyO3)
│   ├── lib.rs                    # Module root & Python bindings
│   ├── fpgrowth.rs               # FP-Tree construction + FP-Growth mining (Rayon parallel)
│   ├── eclat.rs                  # Eclat vertical mining (bitset intersection + popcnt)
│   └── association_rules.rs      # Rule generation + 12 metrics (Rayon parallel)
│
├── rusket/                       # Python wrappers & validation
│   ├── __init__.py               # Package root
│   ├── fpgrowth.py               # FP-Growth input dispatch (dense / sparse / Polars)
│   ├── eclat.py                  # Eclat input dispatch (dense / sparse / Polars)
│   ├── association_rules.py      # Label mapping + Rust call + result assembly
│   ├── transactions.py           # from_transactions / from_pandas / from_polars / from_spark
│   ├── _validation.py            # Input validation
│   └── _rusket.pyi               # Type stubs for Rust extension
│
├── tests/                        # Comprehensive test suite
├── benchmarks/                   # Real-world benchmark scripts
├── docs/                         # MkDocs documentation
└── pyproject.toml                # Build config (maturin)

🧑‍💻 Development

Prerequisites

  • Rust 1.83+ (rustup update)
  • Python 3.10+
  • uv (recommended package manager)

Getting Started

# Clone
git clone https://github.com/bmsuisse/rusket.git
cd rusket

# Build Rust extension in dev mode
uv run maturin develop --release

# Run the full test suite
uv run pytest tests/ -x -q

# Type-check the Python layer
uv run pyright rusket/

# Cargo check (Rust)
cargo check

Run Examples

# Getting started
uv run python examples/01_getting_started.py

# Market basket analysis with Faker
uv run python examples/02_market_basket_faker.py

# Polars input
uv run python examples/03_polars_input.py

# Sparse input
uv run python examples/04_sparse_input.py

# Large-scale mining (100k+ rows)
uv run python examples/05_large_scale.py

# mlxtend migration guide
uv run python examples/06_mlxtend_migration.py

📜 License

MIT License

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

rusket-0.1.20.tar.gz (368.6 kB view details)

Uploaded Source

Built Distributions

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

rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (810.6 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (710.5 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (596.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (533.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rusket-0.1.20-cp314-cp314t-musllinux_1_2_x86_64.whl (808.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

rusket-0.1.20-cp314-cp314t-musllinux_1_2_aarch64.whl (705.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

rusket-0.1.20-cp314-cp314-win_amd64.whl (450.6 kB view details)

Uploaded CPython 3.14Windows x86-64

rusket-0.1.20-cp314-cp314-musllinux_1_2_x86_64.whl (810.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

rusket-0.1.20-cp314-cp314-musllinux_1_2_aarch64.whl (710.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

rusket-0.1.20-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (596.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rusket-0.1.20-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (533.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rusket-0.1.20-cp314-cp314-macosx_11_0_arm64.whl (471.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rusket-0.1.20-cp314-cp314-macosx_10_12_x86_64.whl (535.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rusket-0.1.20-cp313-cp313t-musllinux_1_2_x86_64.whl (810.7 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

rusket-0.1.20-cp313-cp313t-musllinux_1_2_aarch64.whl (707.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

rusket-0.1.20-cp313-cp313-win_amd64.whl (453.0 kB view details)

Uploaded CPython 3.13Windows x86-64

rusket-0.1.20-cp313-cp313-musllinux_1_2_x86_64.whl (812.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

rusket-0.1.20-cp313-cp313-musllinux_1_2_aarch64.whl (712.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

rusket-0.1.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rusket-0.1.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (535.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rusket-0.1.20-cp313-cp313-macosx_11_0_arm64.whl (471.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rusket-0.1.20-cp313-cp313-macosx_10_12_x86_64.whl (535.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rusket-0.1.20-cp312-cp312-win_amd64.whl (453.1 kB view details)

Uploaded CPython 3.12Windows x86-64

rusket-0.1.20-cp312-cp312-musllinux_1_2_x86_64.whl (812.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

rusket-0.1.20-cp312-cp312-musllinux_1_2_aarch64.whl (712.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

rusket-0.1.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rusket-0.1.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (536.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rusket-0.1.20-cp312-cp312-macosx_11_0_arm64.whl (472.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rusket-0.1.20-cp312-cp312-macosx_10_12_x86_64.whl (535.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rusket-0.1.20-cp311-cp311-win_amd64.whl (450.2 kB view details)

Uploaded CPython 3.11Windows x86-64

rusket-0.1.20-cp311-cp311-musllinux_1_2_x86_64.whl (809.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

rusket-0.1.20-cp311-cp311-musllinux_1_2_aarch64.whl (710.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

rusket-0.1.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rusket-0.1.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (534.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rusket-0.1.20-cp311-cp311-macosx_11_0_arm64.whl (472.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rusket-0.1.20-cp311-cp311-macosx_10_12_x86_64.whl (536.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rusket-0.1.20-cp310-cp310-win_amd64.whl (450.3 kB view details)

Uploaded CPython 3.10Windows x86-64

rusket-0.1.20-cp310-cp310-musllinux_1_2_x86_64.whl (809.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

rusket-0.1.20-cp310-cp310-musllinux_1_2_aarch64.whl (711.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rusket-0.1.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rusket-0.1.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (534.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file rusket-0.1.20.tar.gz.

File metadata

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

File hashes

Hashes for rusket-0.1.20.tar.gz
Algorithm Hash digest
SHA256 dd8162b63cd00638e5b1a7e232a1b1451c626dda7c580a939bcd85cb637f110a
MD5 c7495b97151638094ec8fad6e6391fc8
BLAKE2b-256 740411ae81e5f74dbb98372bcb206ae42f2cc80760eb88e6f3a5f524825ac4ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20.tar.gz:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aaf678e126b49383467d2e759308852f548fb7b00c3b6361737a7152bab74cfe
MD5 9762a8ba412667c2b9d14c43c560234f
BLAKE2b-256 c7ce3184ec065bcc727517290b469f4f6c7dc5053c0576127dbde913cf550a78

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8b993a18357d812f10bf026edb330b5e90986a08fadd14d58d47f702a4ce3837
MD5 d7b9ef51f1d0c7d400b88083907ff07d
BLAKE2b-256 d23b161f842a5e8618ff407a052a2811ae3e2e62601128e45b22e1d9fd961504

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 224ed641b0c5d944043419e9455e0f109261f6392ae1a07880de71dc5cb7b1d4
MD5 53f59562e5630147f643115bb47b31fe
BLAKE2b-256 6a48708b31f3fcd56e5a867fbbfa2b1451ba64f12e35c2b87c1fec82a0a1e0fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5cdacb874a6a67cb1219ff5f6427be845d56b9e8501096ceab96e6ee84b6710a
MD5 5bfda8d26f42980098dde4b7aabd724f
BLAKE2b-256 fa3aa50f2d0cd877ba5516b0dec878f898cb9c27c0a4f71670977397b7dd5287

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5a9f0aaa0e78bab64bcc121a8e0fa15ad500fb28737088d933f3ca3ad4fc66a
MD5 bf4de823526512e70bbda3f346638ed1
BLAKE2b-256 b9569cb1056641083a922939a7949e65e5f0781f7e6ceec47027490bad8ccdd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0af4c075c4188c37951a8120ac0d3394e4117ea2d4d58cd91eef5c8707493ee4
MD5 152ff4be9056eacd265b1a30cc5d5a92
BLAKE2b-256 8ee30486d18f41df9e4ccc07fb705b48b10a65f86f3092d99bc4ba4e92504d28

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rusket-0.1.20-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 450.6 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 rusket-0.1.20-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a18049ddc8d9724f513cc1e79079f50e60aa698e07ff298e43dd24c1f7ee752a
MD5 841ac16798ae5761b893dac96af9500d
BLAKE2b-256 2246349476f444091e802ba6cbaa282d01d77c7f83012280a5542ecb0a5b173c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-win_amd64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d9e23af4565f71d53805ebb929ca8523d7be1ca8311d729163bee3f14788bec
MD5 d772c2a7f3ffdccecdf6da7f154cd1ac
BLAKE2b-256 8a52c8a77bb6076a6f725c82ed9ce9128bf981a5e8f5ae7eb81d759c080a7900

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2738dc7bc0a2bfd9d0f9d8759ee706e1714b374aea89f6dc6564483410ad3bf6
MD5 a8e21cc3d8a891aaf0772e422c9d6536
BLAKE2b-256 34a1117bbf6d8b4ac888e943bf7907ebb955478ca124917548d607512a693478

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aea8a7aeed4dad98b0b41138f48013a60d6bf077f4f4a74470451ac3c33e0ea5
MD5 efe82976a4ea7da1edc7e6005624b6a5
BLAKE2b-256 72cdec9b7d2b7f69b9f10cd153b4b434d8f3b49bf69e245c84803f491057dd18

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c0e00a94c492e70c7dec39e4e71020172e4d0f1ed07170d8b3663be9435d975e
MD5 92bf2505b0963f98c8dfa61aadb4bdb2
BLAKE2b-256 417736b5caa2d3db713128a68a543dc216c07df8c1f4ddfe975645d21da67e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 602186984230d9617caa34efa25a1ddc9a6c84ced3302bcda8dfe84ce0115da0
MD5 6f4ae79597a3fe2c29ffb3162931e577
BLAKE2b-256 92eb3a73dc8941215fbd7086a7bb7a4ad683283f5c74d472802f553037963fe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e362aad61f04366c973b7ee6771add053f3560f0e99dfe953f5b97eaaa836aca
MD5 d63aeb74067f3deb4afcb71e12360c26
BLAKE2b-256 e625b2a477eda68b962ef52811dee0b9610ec6a5fe0354bf3866d9144dc5d2be

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3f6e6255918399bb22ff08600dd93e81fdc259a3bf0543b03cf7b33882995140
MD5 0c914fecd3d374e73f761fe5edff1219
BLAKE2b-256 2613e01cec0e84928088ac636a783253f08e8896ac1d916dd0658e15fc81e14f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313t-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ae8b81bafb78ee41f9ac42722ad88ffb8f75c98daec88470a5f66fef3d82f314
MD5 bace4e5092cc1539988ff6f06466ce61
BLAKE2b-256 919d465d06f1f6c63d6a90cdfb56dc9044643a98535602905bc13d440b2ffce3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313t-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rusket-0.1.20-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 453.0 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 rusket-0.1.20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3898ff6290308df33d29140b8048334a2bb902f05c8606390f5964462f2aad7c
MD5 782619a5839e64389562c4807efa666e
BLAKE2b-256 42dec4385cc84544967d13173c4f56dcd939e79a380ddc2d862f07ca1feca735

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-win_amd64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf64e9084f1c5716bf5a0cedcc1db8775aa9e64e902aa07443ab2d8e8889be7e
MD5 7f837e141b4f2a16c458976627a28a21
BLAKE2b-256 c0f573c51073e63b518e9d22f1158cdcd25634ffd2b01fd1fe57414403639710

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7bf336a3d76227a73842f36cca450d1b9ea036a762b79b489503642e7e2d88f8
MD5 5482cacb507ad2c5740c74177c68ebcb
BLAKE2b-256 c79efcb55bf8c4bd8bf3e828b32ddd6b70bc20ce8968e6e6b491432aa012cc43

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 072a1436ca419c34b53e5e70fed7e91ee237e11e60ef512d080ffebdc2f36646
MD5 ce35c7917213b2652715d8eefb3670b5
BLAKE2b-256 dca4f734b57bf4dcfc14245f36f1240951b1c391a671d21be0bfe6e04d8982b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 353ca5a4d0f55cd14724929c247e714d0bec0c8c35b88ecebcb28eb6d4de7816
MD5 f552aec6d28b8a44734b05c64ebbe369
BLAKE2b-256 d4693afc9b966c76e1647383ee0a778013c0e00f7e8bba6fc744d25d08a87af6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c23a799bd4b0d06756fc11d44406b3414511035ee3811bf564e7f4d50df20d5c
MD5 fc75f179d8bee102037df77bda7d5241
BLAKE2b-256 0a8bb3037e0ad87f9eae5d32b27a412445c760e7b0dffb35c88dd57957cda462

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f0bc60848d3ee65859a952b5ce825e6e9b52f2fa1c539e5e1d328c90c7febac5
MD5 323ba74c10833ee5f6a674ddbf449a7b
BLAKE2b-256 165bb07e4059873281a2748b3e1918e818b800ea070c86daa7794c848f03c4b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rusket-0.1.20-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 453.1 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 rusket-0.1.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e0c9602bfd48e3cf2c49bff18af23fdc848ed9a5567701713db8dc645893ca36
MD5 a6e6de39aef29efd21bd2e133ddff4aa
BLAKE2b-256 1911985cc212c7a51d6c557642b3cacb8686095e67765e764e20134e72c1433d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-win_amd64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c304a10f0bd840aa0511f792c6e7321a499017391a81d246595a8b5dc9d8d92d
MD5 ec306558b2da9f92f563b0db3b253578
BLAKE2b-256 b547a9bff2addda49742e24e8c28008035fd9401391b1300dfe209bce6b0027d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cff386dd592ed14ca30d5de6db5f895bef5a3bbd9af11a8c0214bf542444aa17
MD5 3834628361ba6fde2a753d206f97fef1
BLAKE2b-256 59b8ce35373cf06c79a6ac38ae6b81c63ad6170c6ad7ca97fd0a5cc69edc31b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a30d86fcd4b85c310f0721be54780d5cc7e2d221df862978ed9f531d65bb52e
MD5 fb2fd1ec8fc93b4e00a870a390ad8ca2
BLAKE2b-256 5531a98dabfa4fe6ed935ff6a2aa60f85c25b2f8727f6c838ddb03a346d6c454

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a7ccbaf37d3ccfa6aad45dc44ccf5c92617544a35027292155cc643472791db
MD5 98c58d0ff6ab7749318794eecdb473df
BLAKE2b-256 7e1939b19b3c4026a145dcca154975eb67f049984285a09a2ff05cfc7e07bfaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 815fb2afc192a172f9fe6c523ef6cd4f63e0b9fda6560552453e15a6f18f2fc6
MD5 2c72792a35723292637346d60924d254
BLAKE2b-256 f8e28df1c9a8db3ad42bed43ea1882a8828025026672ed5ae550678075efd919

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b9c3eed60be4479a508e4e780dac1d767a53c9e018a3178238dcc0fa8b149441
MD5 09cdf635156580cfce383465a535c0ed
BLAKE2b-256 14a1c00d42b8307a451470b747840c15a5ca08bb4669c54b30d1a06c51138070

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rusket-0.1.20-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 450.2 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 rusket-0.1.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 414660990ad275985dc89a416a112bb3977da1d2d65adcda036c0da3da62cbb4
MD5 4358206ee05ebedacd2d3236c7ba788f
BLAKE2b-256 dde55fd6c9eb2aefed9c87eac55f12ce9816817d5ac9d10748ce2489097663e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-win_amd64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cb30798b8c862491e9b3b3c9c9c46e34a070351e4d8ca5e88ce0512aff7b34e7
MD5 ee38a92df8ba978146dbdfc893ccfb63
BLAKE2b-256 fe4d2107c63e8c89d2a1b749b246add2d74a022bc394426191cce01581bda336

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8ff600f07dfc566e045e4fdac74274b1a14914341b0bed05775ae56e18aa6541
MD5 82aadc57c6d98553a12336a2d185f4a6
BLAKE2b-256 933661fa7cddf9f8252e93297ec1bfd89021d0ee0f65a9ded9fda30656ac93f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88ae248c57a9be33c413145b645a2252cb542cc498d810a5025e3d9c16d25230
MD5 380364d8a258fa0a50e0780d14bada44
BLAKE2b-256 0d6882d19086d0495933e474ff8198af1827e294cdfc782343c81bb28738c962

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d06ae8f3231e7d3ddf1a7db234d861e0bf31da59320b5dee7690793ebf0705c1
MD5 6e46c536f4ce11478c38fba7e8a4f37b
BLAKE2b-256 05c8c8927e337f22181204654a87a3d423eab52a1a22d390b909539d8cf817bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95a833c771dd9cadf3f496e4e67a1d25c0544488af63af7b92f5c34591108d06
MD5 6c0696f97bfca9af0dc3cd05b7360744
BLAKE2b-256 4233ea36cecb19e8188345aa8d64e9e62d160695eb8a1b6f00d4971a9c15e190

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cc45a991f0bf28b5bc30171fe84375deebfed8d58b6c124d15aafe99177ffe08
MD5 6f342fa6f0f0be02849d31b968764250
BLAKE2b-256 22d3b07a0c774a51f974d27f9fba9c9b9826fe18fa3503478c7d5cb7b20b8bcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rusket-0.1.20-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 450.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 rusket-0.1.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a6afe11b3feb6015759940cb908fd20c214af6de4af7c9515d28e221faddb506
MD5 1bc9b0f9d0557f5b46e371fe80e31bf3
BLAKE2b-256 5ac0319ba9bdf0653aaf8e0452b9409a7ff740ce9186cab8c50407c10cee94a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp310-cp310-win_amd64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 23776d861e8177e1325affbfbb94a8be3ef3aa076bf389dcb2a114de5f920526
MD5 8caff10850c6714a4d04da0f9e851a20
BLAKE2b-256 5683b9648a79b88046deeb519ed07101b7262ee8bb1d0d0beb33dfa0f9ed130f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f6eb144aeb405b737b82168233d7a3ef7c0fd08f695b06b7b9ffe5ecab54e43
MD5 a96329625d82330c48cfdec1879e16ab
BLAKE2b-256 f7a2b55c432c871aef4c9dc8b5341290be0ce7e387c9d210a7c35d49759ae67b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ecdf9cd115c8355b9784ce9dfb5bc97a75a66a2ca40c01dc796afd8b654e9717
MD5 8d97be874211a9516e65031546617af4
BLAKE2b-256 017688570cc5b711b16fbcb1399c30ddc50ef6c9bcbae73e8a97100c596a69d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on bmsuisse/rusket

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

File details

Details for the file rusket-0.1.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rusket-0.1.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 89022bb499d1ec6e5409183bb1643b0a10b599f799c26904dead29496a5f30af
MD5 403e3731e2b6bcd8948b72db20dac576
BLAKE2b-256 1ffc65acfd0aa96d3408321a070485439d4db9c8d1092762d03887539f120d81

See more details on using hashes here.

Provenance

The following attestation bundles were made for rusket-0.1.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on bmsuisse/rusket

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