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.6.2.tar.gz (422.4 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.6.2-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

rustcluster-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rustcluster-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rustcluster-0.6.2-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

rustcluster-0.6.2-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

rustcluster-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rustcluster-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rustcluster-0.6.2-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

rustcluster-0.6.2-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

rustcluster-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rustcluster-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rustcluster-0.6.2-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

rustcluster-0.6.2-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

rustcluster-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rustcluster-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rustcluster-0.6.2-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

rustcluster-0.6.2-cp39-cp39-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.9Windows x86-64

rustcluster-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rustcluster-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rustcluster-0.6.2-cp39-cp39-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

rustcluster-0.6.2-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.6.2.tar.gz.

File metadata

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

File hashes

Hashes for rustcluster-0.6.2.tar.gz
Algorithm Hash digest
SHA256 a128326cf4047bb5b0eba44e42589a4bc7c0d4fd41112bd542c63319d70e0e3a
MD5 851c4ab38b608634c2d214b25d7cc41e
BLAKE2b-256 90a42c92b00a191ea35faf1da39598e5788dde367bac85daac05f52b9b813787

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2.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.6.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 729f0a65f71e6aeffd356d6ed20db649eb71429c22bed3998a199f47002dd535
MD5 6c38269961cfec4aacf79d376e58cc69
BLAKE2b-256 be32dfd55b9bc78af8277dd6e3050d07a69b46014f873c5af2adc792a0f0a60e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f64ea3de8f2e70638c0d1c862e724ae60a5f3de48b5234a10b74659eea57f5c
MD5 d380e0bb4315be93c795bd9b475a27eb
BLAKE2b-256 5ea1c80443945bc59055a657d2e6043f5ef2f0b0f30d6984fd155c51a70d923c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d1f625a1c8a4051b5fe092487263f51f4fcfb661e4a828e0a5494baf12749e1
MD5 500fe6e0af06008b5286f097b3f116cd
BLAKE2b-256 5a8cc6612ea86d41b85675ffce48657b46ac7f5154640f383179d4e41fc935c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b39f1517ea751a1325d47363ba6c7f863a856506eb2dafea89eda6122b8daaba
MD5 d1fd2a086a36963b37a7a9f69aecb123
BLAKE2b-256 9dc7f36f51708fff2f6400c8231b4ef4408450dfd71fe203be2ec13c140016cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6571ea8f87147e3ee1f05d0ebf163c357343896b45dc0638941f9f1c04f66489
MD5 563e633648d5ddc76160c29f9b5ef1a7
BLAKE2b-256 77ae3cb09b9759f0d20d991c7d796292848b1668796bde1b0889d8e6f4218c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 600d22895c5dbcde884be44dbe3838e49e08f7f674fc18879968920889503afe
MD5 c591153d89be11f9a3877381a267d860
BLAKE2b-256 8cddca6cedb0cd92c5abd11c4b0d6d8ac4d33e0f9a4be00249e4a5d295354623

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2393c8f4d1af0e95dff58bcca093877348793b5eba6f2b961d851d8fb98b8b84
MD5 5a70817f06f09344aaea62464c2aaab4
BLAKE2b-256 fdab750ce5888efeb63863d6d8d874c14c4261e1d57195896951bbf5561b80f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9d9c69ec2900e9976bc158961ebd1941764c755304becd01c1533426a4c0dd51
MD5 966a4f44b9a7e2e041edc7385e000735
BLAKE2b-256 9acecc108d5de28872551e58412d0d5ea03f2663a73d7df38528e7971ed0ae02

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a16071e13f78d5b51a05296dd71b1343745a0ae3586ba755acc8af6b419138e4
MD5 e74f5c0bf466cb0060b4a50cdee1fb0e
BLAKE2b-256 3a0503f545f56929043ea1185b2ff1f5a69b3c1619c3cc63bcf70a2a26ee887b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e4e0f8ee7cadc1f0d17d300056a90490b4990c0a9c36268a7ce40092d709a474
MD5 c73922ed5ad56275af7d160ea89ff057
BLAKE2b-256 ed841ddc66f9fa5f97193b1c9e48c42ec03dc7c99b26693629f7622144cbb571

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66f65c24641ba44699abf23a451528a9cc524d459d896fd3e549c5fc31eebe73
MD5 c4ecd5418aee167c724be14033f4b760
BLAKE2b-256 563fe0982ddf8760b8ce1cd7ecbae936e0e9888f9e01943f35f5eb2e16ff8add

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00ec62169ddc602885ee855550c4e927599319672d8a54af5e619b69f2a6fb38
MD5 f32ebd726fc7af5e67a419dc79382fbe
BLAKE2b-256 e6064319ae31c7ad18fa80f40c0afa3159fc24e55fdda1aafd191b82886300ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 42c39f96ba9eed0f9a8ee0b1a77fd2775654a403b15bb6c890d14e99b7ef4b18
MD5 c58e876eb8d5f72832843390a97a4d7f
BLAKE2b-256 8066c1ef6d7e98b3e6d828f1501cd22372b269e4b7793892b80dfe8274a8eaab

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0791bf9a45c07a56e917082f03162a37e2273788b8737d1c5b18b92c3653f99a
MD5 5f7ad99eb22426eb398b53a39d6c4cd4
BLAKE2b-256 f598815836dc7d97bde5e20ddb85b27ea7de88595501d36aa120b3b1bda809e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f94a820f58abcb09e93f4038fbb4e31c4ed6bc2b1c56e2409432bd2a770ac7e
MD5 d585464ec27d1b4285a38868e39bcff0
BLAKE2b-256 28c4b58174bd394f3e2ca1c742ce5a222e883aed4af73e49257ce65d868ea8e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d0af35d403cd3ea31aa8ee3446215abcf7424bab2b1d006eea43fce6b93b87c1
MD5 c7db8a6c6b8a4afb0676b65680957f77
BLAKE2b-256 051f6893a888b75848296ba767c456a3af11c379478de2faec39b4259e4ed036

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e38e8dd0ba11bd836fca4e2884963fcef2b88604cf1fd1c36731b634890a2681
MD5 656fa447b83463c430be3149051a4e1e
BLAKE2b-256 e28db384d489c1201c51650a68df46ee6eb4b0e60d1540043273589f72936048

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9e96bb66e7f11546d1c83eeb340ae12b1f6834fbb10434a4bfdb55daba00fbba
MD5 500f10570498e2eec0eeae5988939c3e
BLAKE2b-256 e011ef2e617c8e5fe001dd602e4e17e37e434a1682a98569894c7e095ea92b57

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ba98fa82dd7c75b614b20d53ebc7fdbb81a3e41bff39cce9c807c76843d2d30
MD5 ee36cde6dfb4fff48a2abf5db8fb7ca7
BLAKE2b-256 bb1f29fe3048fb15a7b8275a5d099ac1c693bb0273eedb9a9b99db2e429671d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dca115742a79f6c0f10ae7f5e2959dad751cbf5d20ce911b26556141aab748bb
MD5 8df2bbabe96ca8be1b1ba83bac056744
BLAKE2b-256 19a766d1241fa90958dbfe7fe08ed7bfbd05a8784636b89fb9630e1168996bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: rustcluster-0.6.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.5 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.6.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f562cc06c3e2592d77b828b455e7fa270b5cd9ed0370aec24e04450ca689771b
MD5 f43a8468d6e2707429aa31b9aa0de502
BLAKE2b-256 e024bfbbc76c44afc794d44a736982fe0dd8fa62b44bbe786c3d135855ee8ba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9de35d7a868cf2ecb54889041d05a12a6c5dece3a5d13be2f507e5877e24be68
MD5 d6c91f564c86ca4842a142f272683866
BLAKE2b-256 92842152fe366b4bdc598d0f5a4f91b82c2c193c55c1238df6bdfd13df0c7d92

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 370392e6174495cb4bb23f2d2edc12784e41e745446dc4177512c0f966ab48e6
MD5 60d60453d2752bb68b1834bd7f9b7898
BLAKE2b-256 18c0902a6b0215edd84ceeb434ec49594506cb57c7ce7d5512c712d5c6a108f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8e3b29ac494b94649fd89d6108f6cb9ee2c6e2af0b01310d129706c53c9c2ce
MD5 3804ddbde49d1cad82bcee11404a45ec
BLAKE2b-256 f75acd0e1daa357a6d0c575af2fd058fb0094aa5ecb4e0368ba3645c6767a834

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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.6.2-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustcluster-0.6.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a633cb21bca4d729282f2045cc2febc77111d1ce6a0410a5514d117c88f5e78d
MD5 d0dd968b5b32c48c652fb73d9d8920cc
BLAKE2b-256 64dc8c9df9fd43062b436a70230be19e099667fbd6516a1e579475cad1ae3fda

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustcluster-0.6.2-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