Mathematical utilities for MALDI-TOF mass spectrometry (Python port of the MALDIassist R package)
Project description
maldiassist (Python)
Python package v1.0.0 · Original R package: hiows/MALDIassist (v1.0.0)
maldiassist is a Python port of the MALDIassist R package (v1.0.0, R + Rcpp/C++). It reproduces the same algorithms and numerical results within floating-point tolerance. The workflow covers the full path from raw Bruker spectra to a cohort-level peak matrix:
- Loading Bruker MALDI-TOF spectra
- Smoothing and baseline correction
- Gaussian KDE-based peak detection (including shoulder peaks)
- Peak-quality metrics and filtering (intensity / prominence / strength)
- Spectrum alignment to internal standards (linear / lowess)
- Cohort feature analysis (frequent m/z discovery, matched peak matrix, two-group significance testing)
- Visualization (matplotlib)
Performance-critical kernel-regression routines are implemented in C++ (via nanobind, a direct port of the original Rcpp core).
Example
The figure below shows the core workflow on real Bruker MALDI-TOF data: a raw spectrum (gray) is smoothed and baseline-corrected (red), then peaks are detected and filtered (blue).
Installation
Requires Python 3.9+.
The package ships a small C++ extension (a nanobind port of the original Rcpp kernel-regression core) that accelerates peak detection. Pre-built wheels bundle this extension, so no compiler is needed:
pip install maldiassist
pip install "maldiassist[viz]" # with visualization (matplotlib)
Alternatively, install a pre-built wheel from the
GitHub Releases page, or
build from source (requires a C++17 compiler and CMake, handled automatically
by scikit-build-core):
pip install "git+https://github.com/hiows/MALDIassist-py.git"
The C++ extension is optional at runtime: if it cannot be imported the package transparently falls back to the pure-Python implementation, producing identical results (just slower).
For development (clone first, then editable install):
git clone https://github.com/hiows/MALDIassist-py.git
cd MALDIassist-py
pip install -e . # core (numpy, scipy, pandas) + C++ extension
pip install -e ".[viz]" # with visualization (matplotlib)
pip install -e ".[viz,test]" # visualization + test tooling
The original R package can be installed from GitHub (CRAN submission pending):
# install.packages("remotes")
remotes::install_github("hiows/MALDIassist")
Quick start
The pipeline follows six steps: load → preprocess → KDE → peak picking → peak filtering → visualization.
import maldiassist as ma
1. Load
Point load_maldi_spectra() at a directory of Bruker flex data files. It returns a
name-keyed dict of raw spectra.
raw_spectra = ma.load_maldi_spectra("data/")
2. Preprocess
Apply Savitzky-Golay smoothing and baseline subtraction.
preprocessed_spectra = ma.preprocess_maldi_spectra(
raw_spectra,
hws_sg=10, # half-window size for Savitzky-Golay
pno_sg=3, # polynomial order
baseline_type="snip", # baseline algorithm
iter_snip=50, # SNIP iterations
)
Build Gaussian KDE spectra for peak filtering:
kde_spectra = ma.build_kde_spectra(preprocessed_spectra, bw=1)
kde_spectrum_only = {k: v["spectrum"] for k, v in kde_spectra.items()}
3. Peak picking
find_peaks_spectra() detects peaks (including shoulder peaks) using a Gaussian KDE approach.
peaks_list = ma.find_peaks_spectra(
preprocessed_spectra,
bw=1, # KDE bandwidth
hws_peaks=10,
weight_type="raw",
cutoff_kappa_peak_strength=0.3,
peak_retention_fraction=0.25,
)
4. Peak filtering
filter_peaks_spectra() removes low-quality peaks by intensity, prominence, and strength cutoffs.
Pass the KDE spectra (not the preprocessed spectra) as the spectra argument, matching the R API.
filtered_peaks_list = ma.filter_peaks_spectra(
kde_spectrum_only,
peaks_list,
cutoff_peak_intensity=100,
cutoff_peak_prominence=50,
cutoff_peak_strength=0.5,
normalization_type="raw",
)
5. Visualization
Overlay a raw spectrum (gray), its preprocessed version (red), and the filtered peaks (blue)
in the same style as the Example figure (requires the [viz] extra). The exact spectrum
depends on your data/ directory and which sample is selected.
import matplotlib.pyplot as plt
example_range = (12000, 15000)
sample = next(iter(raw_spectra))
spec = raw_spectra[sample]
pp = preprocessed_spectra[sample]
fp = filtered_peaks_list[sample]
lo, hi = example_range
x_raw = spec.loc[(spec["mz"] >= lo) & (spec["mz"] <= hi), "mz"]
y_raw = spec.loc[(spec["mz"] >= lo) & (spec["mz"] <= hi), "intensity"]
x_pp = pp.loc[(pp["mz"] >= lo) & (pp["mz"] <= hi), "mz"]
y_pp = pp.loc[(pp["mz"] >= lo) & (pp["mz"] <= hi), "intensity"]
fig, ax = plt.subplots()
ax.plot(x_raw, y_raw, color="gray", lw=1.5, label="raw")
ax.plot(x_pp, y_pp, color="red", lw=2, label="preprocessed")
fp_r = fp[(fp["mz"] >= lo) & (fp["mz"] <= hi)]
ax.vlines(fp_r["mz"], 0, fp_r["intensity"], color="blue", lw=1.5, label="peaks")
ax.set_xlabel("m/z")
ax.set_ylabel("Intensity")
ax.set_ylim(0, y_raw.max())
plt.show()
You can also overlay all spectra in a single plot:
ma.visualize_spectra(preprocessed_spectra)
Cohort analysis
The example below follows a two-species MALDI-TOF cohort from PRIDE PXD058284: load Bruker spectra and sample metadata, preprocess and pick peaks, align across samples, build a matched-peak matrix, and test for group-discriminating m/z features.
1. Load spectra and metadata
import pandas as pd
raw_spectra = ma.load_maldi_spectra("data/raw/")
metadata = pd.read_excel("data/sample_metadata.xlsx")
# two-level species grouping (one label per sample)
sample_group = metadata.set_index("SampleID").reindex(raw_spectra.keys())["Species"].to_numpy()
2. Preprocess, KDE, and peak picking
preprocessed_spectra = ma.preprocess_maldi_spectra(
raw_spectra,
hws_sg=10,
pno_sg=3,
baseline_type="snip",
iter_snip=50,
)
kde_spectra = ma.build_kde_spectra(preprocessed_spectra, bw=1)
kde_spectrum_only = {k: v["spectrum"] for k, v in kde_spectra.items()}
peaks_list = ma.find_peaks_spectra(
preprocessed_spectra,
bw=1,
hws_peaks=10,
weight_type="raw",
cutoff_kappa_peak_strength=0.3,
peak_retention_fraction=0.25,
)
filtered_peaks_list = ma.filter_peaks_spectra(
kde_spectrum_only,
peaks_list,
cutoff_peak_intensity=100,
cutoff_peak_prominence=50,
cutoff_peak_strength=0.5,
normalization_type="raw",
)
3. Align spectra
align_spectra() corrects m/z drift using internal standards selected from frequent,
high-intensity peaks. Choose "linear" (two-point) or "lowess" (multi-point) alignment.
It returns one aligned spectrum / peaks pair per sample (in alignment_results) plus
the reference standard_mz values used as anchors.
aligned = ma.align_spectra(
kde_spectrum_only,
filtered_peaks_list,
bin_width=20,
alignment_mode="linear", # or "lowess"
hws_alignment=50,
)
aligned_peaks = {k: v["peaks"] for k, v in aligned["alignment_results"].items()}
exclude_mz = list(aligned["standard_mz"].values()) # alignment anchors, excluded below
4. Find frequent m/z values
find_frequent_mz() scans pooled peak m/z values across the aligned samples and refines each
bin location with Gaussian KDE. Pass the alignment anchors to exclude_mz so the internal
standards are dropped from the feature set.
freq_mz = ma.find_frequent_mz(
aligned_peaks,
bin_width=20,
exclude_mz=exclude_mz,
)
5. Build a matched peak matrix
build_matched_matrix() matches each sample's peaks to the frequent m/z references and
returns a detection matrix (detected_matrix) and a signed m/z-difference matrix
(delta_mz_matrix), both sample-by-marker.
matched = ma.build_matched_matrix(
aligned_peaks,
reference_mz=freq_mz["mz"].to_numpy(),
hws_match=10,
)
mat = matched["detected_matrix"]
Visualize the matrix with heatmap_matched_matrix(), optionally annotated by a per-sample
grouping (requires [viz]):
ma.heatmap_matched_matrix(
mat,
group=sample_group, # one entry per sample (row)
hide_rownames=True,
hide_colnames=True,
)
6. Test for significant m/z features
estimate_significance() runs a per-feature two-group comparison (t-test or Wilcoxon) on a
sample-by-marker matrix and returns raw and adjusted p-values. Subset the matrix to the
significant markers to highlight the discriminating features.
sig = ma.estimate_significance(
mat,
group=sample_group, # two-level grouping, one entry per sample
stat_method="t.test", # or "wilcox"
adj_method="BH", # "none", "BH", or "bonferroni"
)
sig_cols = sig.loc[sig["adj_pvalue"] < 0.01, "feat_names"]
ma.heatmap_matched_matrix(
mat[sig_cols],
group=sample_group,
hide_rownames=True,
hide_colnames=True,
)
Applied to the PXD058284 two-species cohort (E. coli vs K. pneumoniae), the significant markers cleanly separate the samples by species:
R/Python parity
The Python package was validated step-by-step against MALDIassist R v1.0.0 on the same Bruker cohort and parameter set (Quick start / cohort analysis above). Summary:
| Step | Match |
|---|---|
| Loading / preprocessing / peak detection / filtering / alignment | m/z and intensity within ~5×10⁻¹¹ |
find_frequent_mz |
identical row count; count and freq_ratio exact |
build_matched_matrix |
detection matrix exact (difference 0) |
estimate_significance |
p-value difference ~10⁻¹⁶; R and Python agree on adj. p < 0.01 calls |
Core algorithmic details (Nadaraya–Watson kernel regression with 1st–3rd derivatives,
SNIP/TopHat baselines, Savitzky–Golay boundary coefficients, R hist/pretty binning,
R lowess, p.adjust, Wilcoxon continuity correction, etc.) are reproduced identically.
Note: kernel summation is computed in the same sequential accumulation order as R's Rcpp loop. NumPy's default pairwise summation can introduce tiny floating-point differences over symmetric windows that flip tie-breaking in extremum selection.
Performance
The kernel-regression hot paths (Gaussian KDE grid evaluation with 1st–3rd derivatives and
bisection root finding) are implemented in C++ via nanobind (src/spectrum_math_cpp.cpp, a
direct port of the original Rcpp spectrum_math.cpp). The compiled backend uses the identical
sequential summation order as the pure-Python reference, so results match to floating-point
tolerance while running substantially faster. When the extension is unavailable,
maldiassist.spectrum_math falls back to the pure-Python path automatically. Set
MALDIASSIST_DISABLE_CPP=1 to force the pure-Python backend (used by the parity tests in
tests/test_kde_parity.py).
Main functions
| Function | Purpose |
|---|---|
load_maldi_spectra() |
Load Bruker raw spectra from a directory |
preprocess_maldi_spectra() |
Smooth and baseline-correct spectra |
find_peaks() / find_peaks_spectra() |
Detect ordinary and shoulder peaks (single / dict) |
find_peaks_fast() / find_peaks_spectra_fast() |
Fast local peak detection (single / dict) |
filter_peaks() / filter_peaks_spectra() |
Filter peaks by intensity, prominence, and strength |
build_kde_spectrum() / build_kde_spectra() |
Build Gaussian KDE spectra (single / dict) |
find_frequent_mz() |
Find frequent m/z values across a cohort |
align_spectra() |
Align spectra to internal standards (linear / lowess) |
build_matched_matrix() |
Assemble a cohort peak intensity matrix |
estimate_significance() |
Two-group significance testing per m/z feature |
visualize_spectrum() / visualize_spectra() |
Visualize spectra with matplotlib (requires [viz]) |
heatmap_matched_matrix() |
Heatmap of a matched-peak matrix (requires [viz]) |
Correspondence with the R package
| Step | R function | Python function |
|---|---|---|
| Loading | load_maldi_spectra |
load_maldi_spectra |
| Preprocessing | preprocess_maldi_spectra |
preprocess_maldi_spectra |
| KDE | build_kde_spectrum / build_kde_spectra |
build_kde_spectrum / build_kde_spectra |
| Peak detection | find_peaks / find_peaks_spectra |
find_peaks / find_peaks_spectra |
| Peak filtering | filter_peaks / filter_peaks_spectra |
filter_peaks / filter_peaks_spectra |
| Alignment | align_spectra |
align_spectra |
| Frequent m/z | find_frequent_mz |
find_frequent_mz |
| Matched matrix | build_matched_matrix |
build_matched_matrix |
| Significance test | estimate_significance |
estimate_significance |
| Visualization | visualize_spectrum/spectra, heatmap_matched_matrix |
visualize_spectrum/spectra, heatmap_matched_matrix |
Author
Wonseok Oh (ORCID: 0009-0002-0687-8466)
How to cite
If you use maldiassist in your research, please cite the underlying MALDIassist software. From R you can run:
citation("MALDIassist")
A BibTeX entry:
@Manual{maldiassist,
title = {MALDIassist: Mathematical Utilities for MALDI-TOF Mass Spectrometry},
author = {Wonseok Oh},
year = {2026},
note = {R package version 1.0.0; Python port version 1.0.0},
url = {https://github.com/hiows/MALDIassist},
doi = {10.5281/zenodo.21307258}
}
Archived on Zenodo: 10.5281/zenodo.21307258. To cite the software regardless of version, use the concept DOI 10.5281/zenodo.21219451.
License
MIT © 2026 Wonseok Oh. See LICENSE for details.
This project is a Python port of the MALDIassist R package (v1.0.0), which is also released under the MIT License (© 2026 Wonseok Oh).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file maldiassist-1.0.0.tar.gz.
File metadata
- Download URL: maldiassist-1.0.0.tar.gz
- Upload date:
- Size: 110.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e780174f7cf49f0f42267dc346ddd134a9237dacca5a1a219eb142c99e117c96
|
|
| MD5 |
39c21689bc864593729c6d39fc745c8a
|
|
| BLAKE2b-256 |
07d5ab6c842bc897789bd7e172ddd6aff5a22683d5a76fa7d4b7fe9b0ce4c147
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0.tar.gz:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0.tar.gz -
Subject digest:
e780174f7cf49f0f42267dc346ddd134a9237dacca5a1a219eb142c99e117c96 - Sigstore transparency entry: 2184140246
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 98.1 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4afe806e26d243d2cb41019c80a262183f1e76dbfbbb6b07aa5a7cfc7af3cdb7
|
|
| MD5 |
432618680b8dcabf7a2e5478df53f2eb
|
|
| BLAKE2b-256 |
1680de8a879681306119da5bf73365ff2b5d277be380534654b0ba5649b71a89
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp313-cp313-win_amd64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp313-cp313-win_amd64.whl -
Subject digest:
4afe806e26d243d2cb41019c80a262183f1e76dbfbbb6b07aa5a7cfc7af3cdb7 - Sigstore transparency entry: 2184145300
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 99.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69685d6653b19d3193fc59480e58d7791d10ed798483e6dfcaebacf6de1e5110
|
|
| MD5 |
b15acef00344ff226f90737961ace7da
|
|
| BLAKE2b-256 |
2690ab28bd677ac80cf7dcfde52a5d081e454ee47b731f2871d620d8b262b156
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
69685d6653b19d3193fc59480e58d7791d10ed798483e6dfcaebacf6de1e5110 - Sigstore transparency entry: 2184141257
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp313-cp313-macosx_10_14_universal2.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp313-cp313-macosx_10_14_universal2.whl
- Upload date:
- Size: 150.7 kB
- Tags: CPython 3.13, macOS 10.14+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72ecaa05f0b73a8f15c65f0e70cb5e4756a2777bb4cca6e8eaffede5be646ed2
|
|
| MD5 |
432cb48ff61cef1dd916568d5dbffd6c
|
|
| BLAKE2b-256 |
e3d2eea2380dfce13ace571f725394f9a96ce3fdfb95d76f1e62432c2d40130b
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp313-cp313-macosx_10_14_universal2.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp313-cp313-macosx_10_14_universal2.whl -
Subject digest:
72ecaa05f0b73a8f15c65f0e70cb5e4756a2777bb4cca6e8eaffede5be646ed2 - Sigstore transparency entry: 2184145980
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 98.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15666257ac15e8fbc7bb0075e21e1d69a07968f8b11d063290b7f75c960658a6
|
|
| MD5 |
38799de4ae24fc3491300b3c77c07702
|
|
| BLAKE2b-256 |
822d127942745c161801af253f2d1e3c5e5e8771374dabff377aba1b84a8b87c
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp312-cp312-win_amd64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp312-cp312-win_amd64.whl -
Subject digest:
15666257ac15e8fbc7bb0075e21e1d69a07968f8b11d063290b7f75c960658a6 - Sigstore transparency entry: 2184143617
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 99.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
824cbc9fc4d6f77e00d64254b3b4186466f6829a9d27fdff9d655720c30d85ae
|
|
| MD5 |
bb4511f37d100798a19a5e48141f4880
|
|
| BLAKE2b-256 |
db7b56a256da75c2d8da57d6813edd0d56ff698764ad2af9bad73faf48872a17
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
824cbc9fc4d6f77e00d64254b3b4186466f6829a9d27fdff9d655720c30d85ae - Sigstore transparency entry: 2184143904
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp312-cp312-macosx_10_14_universal2.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp312-cp312-macosx_10_14_universal2.whl
- Upload date:
- Size: 150.6 kB
- Tags: CPython 3.12, macOS 10.14+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dd54b0ddaa389ba087159d7b7693e834efd1234ad6137ea623fd8e355fef34e
|
|
| MD5 |
f1506b36a1720c3f153aca94bf48c7d0
|
|
| BLAKE2b-256 |
f99d318bf5b99098b39edee25f51aece97b23af2ede64889467ee24ef20387ff
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp312-cp312-macosx_10_14_universal2.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp312-cp312-macosx_10_14_universal2.whl -
Subject digest:
3dd54b0ddaa389ba087159d7b7693e834efd1234ad6137ea623fd8e355fef34e - Sigstore transparency entry: 2184140700
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 99.1 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
837c6578650767844a98355c724a25a8c0e351e73fe2ea9abaa49638c47d90c4
|
|
| MD5 |
82722571afa6ac969958e830bf120493
|
|
| BLAKE2b-256 |
3f8be49bff87074780eba29831ff7e781f89a2f1e2d3ef36681d2874ee0dc5fd
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp311-cp311-win_amd64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp311-cp311-win_amd64.whl -
Subject digest:
837c6578650767844a98355c724a25a8c0e351e73fe2ea9abaa49638c47d90c4 - Sigstore transparency entry: 2184146281
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 100.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e7dec50a8964d057cbea91207ee6b451a433e736c6d2f04849bc9dfa80c2985
|
|
| MD5 |
12080c670de1d70855585e2790373080
|
|
| BLAKE2b-256 |
9404bd8328fd46220c86083c5136e98ba743762b827c911fafe353e99fa854f4
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
2e7dec50a8964d057cbea91207ee6b451a433e736c6d2f04849bc9dfa80c2985 - Sigstore transparency entry: 2184141791
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp311-cp311-macosx_10_14_universal2.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp311-cp311-macosx_10_14_universal2.whl
- Upload date:
- Size: 152.8 kB
- Tags: CPython 3.11, macOS 10.14+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f422fdae7471c796e2a26d6f4b82e29205dfb63e2c7e45875588289db7cc67a7
|
|
| MD5 |
cab727ef5e46105cb0c1f97e6b7f81a1
|
|
| BLAKE2b-256 |
eb36fa693f5d0e2740a462e95eaaf92ad577cb4d03bebef363e003b0ae7386c6
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp311-cp311-macosx_10_14_universal2.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp311-cp311-macosx_10_14_universal2.whl -
Subject digest:
f422fdae7471c796e2a26d6f4b82e29205dfb63e2c7e45875588289db7cc67a7 - Sigstore transparency entry: 2184145039
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 99.2 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12c2cb974cec486730377b0214b0527c374a560555bcd3154b0f751cb8a145a8
|
|
| MD5 |
10c3ba6ce1b506a9c3ecfcc00f3af94c
|
|
| BLAKE2b-256 |
a3dace52080907b7a8a1209f077cc7188ba862989fafb111ae11cca6a74cf284
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp310-cp310-win_amd64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp310-cp310-win_amd64.whl -
Subject digest:
12c2cb974cec486730377b0214b0527c374a560555bcd3154b0f751cb8a145a8 - Sigstore transparency entry: 2184144364
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 101.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55bf84f488a21ccaa4feb152e612c3b1a144c8d8e676544b4eab1f5dcfefacb2
|
|
| MD5 |
176913a95f8239bb65e817bd3b027042
|
|
| BLAKE2b-256 |
41d4c412560ae68c56609908b41edd56e1909fc0106c1b67935cf4fa23ddbd24
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
55bf84f488a21ccaa4feb152e612c3b1a144c8d8e676544b4eab1f5dcfefacb2 - Sigstore transparency entry: 2184144759
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp310-cp310-macosx_10_14_universal2.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp310-cp310-macosx_10_14_universal2.whl
- Upload date:
- Size: 153.4 kB
- Tags: CPython 3.10, macOS 10.14+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b756527eea9f0197505483fdced49d507b426b6c6e80d11dd31a1a131309e1e
|
|
| MD5 |
b50b4e64d56ba46a9ab1c18deea747a4
|
|
| BLAKE2b-256 |
07762ad78094d9956a1ab0a8a1ab480ae20ad301f6d13f1a59886b2435a1b5f1
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp310-cp310-macosx_10_14_universal2.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp310-cp310-macosx_10_14_universal2.whl -
Subject digest:
0b756527eea9f0197505483fdced49d507b426b6c6e80d11dd31a1a131309e1e - Sigstore transparency entry: 2184145660
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 99.5 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c907837618553ba4478cef1747d0573bcaf26139235d4fa6259343590acabe06
|
|
| MD5 |
2db272adc1fb69f9b957ed059b708e98
|
|
| BLAKE2b-256 |
e7e08763379802155c314f33261bf9c722f0579a48371966ee521a5057e8cfe3
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp39-cp39-win_amd64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp39-cp39-win_amd64.whl -
Subject digest:
c907837618553ba4478cef1747d0573bcaf26139235d4fa6259343590acabe06 - Sigstore transparency entry: 2184143269
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 101.4 kB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b32aade157c7d7098a106b42a42e9a5446a3cb05a974d0f93c51cb7dfae8cc5a
|
|
| MD5 |
2fef40dd690eec67384f8a5c765e74ec
|
|
| BLAKE2b-256 |
86e55304aaa043ac4aa926d1537a41a1cc6635240fe7eae2b8aff8883887b559
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b32aade157c7d7098a106b42a42e9a5446a3cb05a974d0f93c51cb7dfae8cc5a - Sigstore transparency entry: 2184142383
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file maldiassist-1.0.0-cp39-cp39-macosx_10_14_universal2.whl.
File metadata
- Download URL: maldiassist-1.0.0-cp39-cp39-macosx_10_14_universal2.whl
- Upload date:
- Size: 153.8 kB
- Tags: CPython 3.9, macOS 10.14+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19861e13211f3d0e2f067cb671c1261e31b63fbf2a286591e3b5dbc16440a0ec
|
|
| MD5 |
fd984dacfc9e8248f27af06f9d408a5e
|
|
| BLAKE2b-256 |
09f52296095b01485b39228dc7868eb8ddccef14c191af43f8b582bed0527a0e
|
Provenance
The following attestation bundles were made for maldiassist-1.0.0-cp39-cp39-macosx_10_14_universal2.whl:
Publisher:
wheels.yml on hiows/MALDIassist-py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
maldiassist-1.0.0-cp39-cp39-macosx_10_14_universal2.whl -
Subject digest:
19861e13211f3d0e2f067cb671c1261e31b63fbf2a286591e3b5dbc16440a0ec - Sigstore transparency entry: 2184142747
- Sigstore integration time:
-
Permalink:
hiows/MALDIassist-py@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/hiows
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@ec62a9ed728fc79c611b0848f7442597e0dd76a1 -
Trigger Event:
push
-
Statement type: