Skip to main content

A Rust-backed Python clustering library

Project description

rustcluster

Fast, Rust-backed clustering for Python. Six algorithms, sklearn-compatible API, purpose-built embedding clustering with 11x PCA speedup.

Highlights

  • 6 algorithms: KMeans, MiniBatchKMeans, DBSCAN, HDBSCAN, AgglomerativeClustering, EmbeddingCluster
  • EmbeddingCluster — purpose-built pipeline for OpenAI/Cohere/Voyage embeddings (L2-normalize → PCA → spherical K-means)
  • EmbeddingReducer — standalone PCA transformer with save/load (fit once, cluster for free)
  • faer-accelerated PCA — 11x faster than hand-rolled matmul via SIMD-optimized GEMM
  • 3 distance metrics: euclidean, cosine, manhattan
  • 3 evaluation metrics: silhouette score, Calinski-Harabasz, Davies-Bouldin
  • KD-tree acceleration for DBSCAN/HDBSCAN neighbor queries (10-200x on low-d data)
  • Native f32/f64 — no silent upcast, doubles cache efficiency with f32
  • Cluster slotting — snapshot fitted clusters, assign new points 100x faster than refitting
  • Pickle serialization for all fitted models
  • GIL released during all compute — plays well with threads and async
  • 492 tests across Rust and Python

Installation

pip install rustcluster

Or from source (requires Rust toolchain + Python 3.10+):

pip install maturin
git clone https://github.com/mfbaig35r/rustcluster.git
cd rustcluster
maturin develop --release

Quickstart

K-Means

from rustcluster import KMeans

model = KMeans(n_clusters=3, random_state=42)
model.fit(X)
model.labels_           # cluster assignments
model.cluster_centers_  # centroids (k x d)
model.inertia_          # sum of squared distances
model.predict(X_new)    # assign new data

Embedding Clustering

Purpose-built pipeline for dense embedding vectors (OpenAI, Cohere, Voyage, etc.):

from rustcluster.experimental import EmbeddingCluster

model = EmbeddingCluster(n_clusters=50, reduction_dim=128)
model.fit(embeddings)          # L2-normalize → PCA → spherical K-means
model.labels_                  # cluster assignments
model.cluster_centers_         # unit-norm centroids in reduced space
model.intra_similarity_        # per-cluster cosine similarity
model.reduced_data_            # access PCA-reduced data

EmbeddingReducer (Fit Once, Cluster Many)

PCA is 99% of the embedding pipeline runtime. Separate reduction from clustering to iterate for free:

from rustcluster.experimental import EmbeddingReducer

# Pay the PCA cost once
reducer = EmbeddingReducer(target_dim=128)
X_reduced = reducer.fit_transform(embeddings)  # 323K × 1536 → 128 in ~56s
reducer.save("pca_128.bin")

# Iterate on clustering for free
reducer = EmbeddingReducer.load("pca_128.bin")
X_reduced = reducer.transform(new_embeddings)

EmbeddingCluster(n_clusters=50, reduction_dim=None).fit(X_reduced)   # ~4s
EmbeddingCluster(n_clusters=100, reduction_dim=None).fit(X_reduced)  # ~8s
EmbeddingCluster(n_clusters=200, reduction_dim=None).fit(X_reduced)  # ~15s

Matryoshka models (e.g., text-embedding-3-small) can skip PCA entirely:

reducer = EmbeddingReducer(target_dim=128, method="matryoshka")
X_reduced = reducer.fit_transform(embeddings)  # instant — just truncates + L2-normalizes

See the embedding clustering guide for full documentation.

Cluster Slotting (Incremental Assignment)

Fit once, assign new data forever. Snapshot freezes cluster centroids — new points are assigned without re-clustering:

from rustcluster import KMeans, ClusterSnapshot

# Fit and snapshot
model = KMeans(n_clusters=50).fit(X_train)
snapshot = model.snapshot()
snapshot.save("clusters/")

# Later: load and assign new data (no refit needed)
snapshot = ClusterSnapshot.load("clusters/")
labels = snapshot.assign(X_new)                   # 100x faster than refitting

Works with KMeans, MiniBatchKMeans, and EmbeddingCluster. EmbeddingCluster snapshots bake in the full preprocessing pipeline (L2-normalize, PCA, spherical assignment).

Confidence scoring and rejection:

result = snapshot.assign_with_scores(X_new, confidence_threshold=0.3)
result.labels_       # -1 for rejected points
result.confidences_  # [0, 1) — higher means more decisive assignment
result.distances_    # distance to nearest centroid
result.rejected_     # boolean mask

Adaptive thresholds (v2): Per-cluster rejection thresholds calibrated from training data. Fixes the problem where a global threshold rejects too many points from diffuse clusters:

snapshot.calibrate(X_train)  # compute per-cluster confidence distributions
result = snapshot.assign_with_scores(X_new, adaptive_threshold=True, adaptive_percentile="p10")

Mahalanobis boundaries (v2): Diagonal Mahalanobis distance accounts for per-cluster, per-dimension variance:

snapshot.calibrate(X_train)
labels = snapshot.assign(X_new, boundary_mode="mahalanobis")

Drift detection:

report = snapshot.drift_report(X_recent)
report.global_mean_distance_  # compare to training baseline
report.relative_drift_        # per-cluster drift
report.kappa_drift_           # vMF concentration shift (spherical only, v2)
report.direction_drift_       # centroid direction shift (spherical only, v2)
report.rejection_rate_        # fraction of points beyond per-cluster bounds (requires calibrate())

rejection_rate_ is NaN until snapshot.calibrate(X_train) is called. The per-cluster bounds come from the calibration distribution, not the fit-time data.

Hierarchical slotting (v2): Cascading snapshots for multi-level classification (e.g., commodity → sub-commodity):

from rustcluster.experimental import HierarchicalSnapshot

hier = HierarchicalSnapshot.build(X_train, root_model, n_sub_clusters=10)
root_labels, child_labels = hier.assign(X_new)
hier.save("clusters/hierarchy/")

Persistence: safetensors (centroids) + JSON (metadata). A 50-cluster, 128d snapshot is ~50 KB vs GBs of training data.

Validated on 323K CROSS ruling embeddings (113x speedup, 99.86% fidelity) and 312K supplier embeddings (453x speedup, 99.94% fidelity). Hierarchical slotting improved heading purity from 37% to 54% on CROSS rulings.

Mini-Batch K-Means

from rustcluster import MiniBatchKMeans

model = MiniBatchKMeans(n_clusters=3, batch_size=256, random_state=42)
model.fit(X_large)      # scales to large datasets

DBSCAN

from rustcluster import DBSCAN

model = DBSCAN(eps=0.5, min_samples=5)
model.fit(X)
model.labels_                # -1 for noise
model.core_sample_indices_   # core point indices

HDBSCAN

from rustcluster import HDBSCAN

model = HDBSCAN(min_cluster_size=5)
model.fit(X)
model.labels_              # -1 for noise
model.probabilities_       # soft membership [0, 1]
model.cluster_persistence_ # per-cluster stability

Agglomerative Clustering

from rustcluster import AgglomerativeClustering

model = AgglomerativeClustering(n_clusters=3, linkage="ward")
model.fit(X)
model.labels_     # cluster assignments
model.children_   # merge history
model.distances_  # distance at each merge

Evaluation Metrics

from rustcluster import silhouette_score, calinski_harabasz_score, davies_bouldin_score

silhouette_score(X, labels)         # [-1, 1], higher is better
calinski_harabasz_score(X, labels)  # higher is better
davies_bouldin_score(X, labels)     # lower is better

Distance Metrics

All algorithms accept a metric parameter:

KMeans(n_clusters=5, metric="cosine")
DBSCAN(eps=0.3, metric="manhattan")
HDBSCAN(min_cluster_size=5, metric="euclidean")
Metric Aliases KD-tree acceleration Notes
"euclidean" "l2" Yes Default for all algorithms
"cosine" No (brute force) K-means forces Lloyd (Hamerly assumes Euclidean)
"manhattan" "cityblock", "l1" Yes

Ward linkage requires euclidean metric.

Performance

K-Means vs scikit-learn

Single-threaded, n_init=1, median of 5 runs:

n d k Speedup vs sklearn
1,000 8 8 2.9x
10,000 8 8 2.4x
100,000 8 32 3.2x
100,000 32 32 1.4x

DBSCAN and HDBSCAN use KD-tree acceleration for d <= 16 with euclidean or manhattan metrics, reducing neighbor queries from O(n^2) to O(n log n).

Embedding Clustering

Measured on 323K embeddings (text-embedding-3-small, 1536d → 128d, K=98, Apple Silicon):

Workflow Time
Full pipeline (PCA + cluster) 58s
Subsequent run (cached reduced data) 7.5s
5 clustering configs on cached data 74s
Matryoshka (no PCA needed) ~5s

Full benchmarks: python benches/benchmark.py

Serialization

All models support pickle:

import pickle

model = KMeans(n_clusters=3).fit(X)
data = pickle.dumps(model)
model_restored = pickle.loads(data)  # fitted state preserved

EmbeddingReducer uses a compact binary format:

reducer.save("pca_128.bin")                   # 1.5 KB
reducer = EmbeddingReducer.load("pca_128.bin") # instant

ClusterSnapshot uses safetensors + JSON for portable, safe persistence:

snapshot = model.snapshot()
snapshot.save("clusters/")                     # safetensors + metadata.json
snapshot = ClusterSnapshot.load("clusters/")   # zero-copy load

Development

maturin develop --release              # build
cargo test --no-default-features --lib # Rust tests (208)
pytest tests/ -v                       # Python tests (284)
python benches/benchmark.py            # benchmark vs sklearn
cargo fmt -- --check                   # formatting
cargo clippy --no-default-features --lib -- -D warnings  # linting

Architecture

Three-layer kernel design separating concerns:

  1. PyO3 boundary (src/lib.rs) — input validation, GIL release, dtype dispatch
  2. Algorithm logic (src/kmeans.rs, etc.) — iteration, convergence, ndarray types
  3. Hot kernel (src/utils.rs, src/distance.rs) — raw &[F] slices for auto-vectorization

The embedding pipeline adds:

  1. Embedding module (src/embedding/) — spherical K-means, PCA (faer-backed), vMF refinement, EmbeddingReducer

See docs/architecture-decisions.md for details and docs/lessons-building-rustcluster.md for the full build story.

Contributing

See CONTRIBUTING.md for how to add algorithms, distance metrics, and tests.

License

MIT

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

rustcluster-0.7.0.tar.gz (430.2 kB view details)

Uploaded Source

Built Distributions

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

rustcluster-0.7.0-cp313-cp313-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86-64

rustcluster-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rustcluster-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rustcluster-0.7.0-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rustcluster-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rustcluster-0.7.0-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

rustcluster-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rustcluster-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rustcluster-0.7.0-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rustcluster-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rustcluster-0.7.0-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

rustcluster-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rustcluster-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rustcluster-0.7.0-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rustcluster-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rustcluster-0.7.0-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

rustcluster-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rustcluster-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rustcluster-0.7.0-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rustcluster-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

rustcluster-0.7.0-cp39-cp39-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86-64

rustcluster-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rustcluster-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rustcluster-0.7.0-cp39-cp39-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

rustcluster-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file rustcluster-0.7.0.tar.gz.

File metadata

  • Download URL: rustcluster-0.7.0.tar.gz
  • Upload date:
  • Size: 430.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rustcluster-0.7.0.tar.gz
Algorithm Hash digest
SHA256 4a6ec2233727a3cf1fe342c6fd60afc4adc8affb47d033c2a4233304e02a8d71
MD5 9cc489ab261d6cceebe302d2dad539e9
BLAKE2b-256 012dd1fb649d3f9a1e697454c23d1545e509b8342a0c4bc790a06b6be239550c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0.tar.gz:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 57544aaa2dee6d65b86bcebc87a4eaa77fa58ba80b0f94dceb5e92598f86ea75
MD5 c21edf14e273cf898fb22a8095f92820
BLAKE2b-256 bc31b11cebdb51349978204fb40e8356b395a26e88089bc4ac1db6a254719bf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 465d3a4327c293188c003d5038041d7fe2f080cd56fbd62b9c391605d3f174d8
MD5 d29f963a38189d247c18b2fb259b474a
BLAKE2b-256 789eb99959c8379bcb8f2c5f8e64e746920af5530927a1efcd1ec47766bb191a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 03540c81af430e21256190a0b2b0125e0449599d42679b6584de0ecb470f1969
MD5 2b1f866bb14f7aaefd732d50f06eb20e
BLAKE2b-256 65dbcd17f4b4e19bbfb1d145f2acd1fe8790dc70f9327359e2689f0af619f2e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5782d59d68e868bc0cf89815843e552f37378a10e23db65556a3a6eff2df0f9f
MD5 ddcb036bb42064ac054efaa96551a6b1
BLAKE2b-256 d5d9511e60eeadf52f1302be2b122de5fe2127897148d65bd8c73d419e84015e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b0768e25031ded90f1afd12ce10b25481b437cb6efcd5108266de8a54bbf8222
MD5 42f3e8761b3992fc3bb3b2925c0e6305
BLAKE2b-256 0b32bfcec373a85fb28137d933fedb4d92126d431149d6f5cfa490d084afcc49

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cc7820a569729e0bf6ac8bb1eb3f983be5789c2d66d0888c74be3909958a7aa5
MD5 9847e18a1202ab74a21746711d4d4d35
BLAKE2b-256 e2dfbd5c9ad8ca2d22ca00a2a2e4fbbbf3565d4060c9ae57a30eeb59ec94d835

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1665972acdaff05ce76a27a4a0914e482c043e27c164bf5bd536b4a70ebb5452
MD5 f260de282973a2fba902d3d662278852
BLAKE2b-256 ee877c3eff713b3d0ae9d9e307f20c82657142403fb077006830fd53f88406f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df10f7572a2868f7d820d4cb657830fdaf9d56df8ef3a22afd585190c01b9627
MD5 7944afe910099c5a1e0f5cee915c1c99
BLAKE2b-256 6fd215509d4c4ec8030d90175222e2e8c5a006e6d956d6433218ebd0a513efbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95cca762108586ffe77200b174488618ec84087fda812c946e7f2456efe2644d
MD5 c1cfddd4f5bc059cf2e1c74c2ab72076
BLAKE2b-256 f2f9aa3daad3173c051ab5ae4373088541344fe046f751c1f9ce960f5255c73c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1e517c87b6ecbf6cd894dfc7b6d37969e6a0973260806423ef135711defe30ac
MD5 77028ee6a611cd904bbcbe00f886e31b
BLAKE2b-256 9cb320165c31d4f34332e1034a3807c1e24a5efd4521c9c875e78a266a3f7ad3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 db542022357655481d9a05f01eed982cad7aef4b487633350e983c8047edc1a4
MD5 26806ff05003faa5793ccf57fc812d02
BLAKE2b-256 ac1f353528dbcd00cea84da47d9c10f127158a93e3ad0467dcde3eececdfb9e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acbd3ebec6e2677d4686d496d7813a077e1b1fbb5e983a91777498858026f208
MD5 441426ad7bd1402c8f9e6f79d80afe0e
BLAKE2b-256 225dab059fb7d7f87812a24ba0c953f10a48f051020ce6eb28d24e1b7f6ae3f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9e6b6f7a3e01b85db0ed94f041ba4799fbbd361502762b3ee5498fc01753b21a
MD5 2e6907ca65008627917d3dde7a3f8a45
BLAKE2b-256 849a99c5052ae76d6dec5e6abd68488294a0857db3589e671a6d96d7c66dd608

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab837c50f5318de3d8c030b9fb0d0f4393b3f34fe4d6e4f7db0d8e3afa2ee94e
MD5 66b45ab776b692a36aac158bad892344
BLAKE2b-256 f5dc10ca25edb107de8558ecea7e9d834bd76566072b857d3e1c24c8d20083d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 481901670c76ff981c57a0b89ceaccd2a800f317d3e24ff82c04329fbd1c309f
MD5 9f5e75d2cd21222a4c2e13b78b6af5ac
BLAKE2b-256 1dcd584fbfd3bc29f5a9b4ccea54921cbb1e060425c58dc41fcf5d8e2eac4bc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 25d797ebc0d266c2803beb95f1237c3657414755dbaf8ac7eb9f5c3e6897c5cd
MD5 a99aeb1f82329632b95a955f0495035e
BLAKE2b-256 4680bf0b502459ad23c83ba1c604f9bef205468137feee5f661c08081310282f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1af289c82c4bbb4c5f5fca8cc1cda28e85b25a847c1e0237f699937a64116c9
MD5 fd92bb1aa6a848ee434722a4fa2d9e36
BLAKE2b-256 e961ffb5e983ee2068ce26f8ae6e99e0e121e2ebfcc514101b8b21332045da15

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a2aa8f0adc57349a30f5348c5888705b96251060391dfba22896a1c4cd6e6c6
MD5 24fac696bc3cfcde5f6f4b652b388b1e
BLAKE2b-256 7b748b0ab9449ad8c217cbb617ab7881a5254bdce4b504d206a02b1267339e69

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49c22ac23acca6c7688e0967739cf488fdd129f7ae51d4d4cc4df6c96c34c0de
MD5 8cf69b4b38fb679618c9c73815c5a5b7
BLAKE2b-256 7f1529606ab35da8e473f1467de8d7234a236c27a06e88c04860f077a294f270

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 85165a227778bc9e53ccd2d9480b27a1912ff6c58fc4f38a03c4f2edb851f4b1
MD5 dd88061325f084c7be7da6fdc10345b3
BLAKE2b-256 1db3a847d7ce9c5fc2a67b471724a7f4d404c5ad7d685b7f84d057884fa79b34

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: rustcluster-0.7.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rustcluster-0.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 139d0c9f392a1badd9471742dd2024dc65c70b0594a59812f5f8d05cb16639fd
MD5 7095dc2574bee1dda115e03a32f5f261
BLAKE2b-256 76db078c8b62bf07aa5edf3101ce841bf30ef825375deeed458d3fc531b0c502

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp39-cp39-win_amd64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15bda4309c94a3c512ccdef2ccd6d7fb493aa3c45fd415818a73536bc751e5a7
MD5 95c1249b9b0a8b34c7d58d52ab65a156
BLAKE2b-256 f4d32a978d5e539ae1eae8dfb0156b6394fc42b742bed8fd0eb8c38dd92ebc0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 41780d8524bbe527942a200e27f5e5ab0ae211029dc66485c76fc7227587b304
MD5 5d97f380404d8e5f08ce464c4cb38b3b
BLAKE2b-256 68317e8552e0584b1d5a2f5c4e050f8cdd15c3db6630d4d1fb520537021b9fa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35cc3f7ca6cd82660c174c28e192f0d6ed226e49bd41620373cb9e94b45b501a
MD5 4757d004563642681532c3f778041a23
BLAKE2b-256 60f4ea905da08e788f2fcd1c112b2bff2a8bebc579f73d8323bca68ccdb1ac94

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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

File details

Details for the file rustcluster-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4e40f379b29d4416ec87fa7aea69690021a831b3e349705947d64d6a99d88955
MD5 3019c96abbde66057a5dc2d443a396fb
BLAKE2b-256 9f6b389cfa55a4f23686a129dd81be461f3335fd27834dffcd781bb3eb6f2a56

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.7.0-cp39-cp39-macosx_10_12_x86_64.whl:

Publisher: release.yml on mfbaig35r/rustcluster

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