Ultra-high-performance medical imaging I/O for deep learning
Project description
medrs
High-performance medical imaging I/O and processing library for Rust and Python.
Overview
medrs is designed for throughput-critical medical imaging workflows, particularly deep learning pipelines that process large 3D volumes. It provides:
- Fast NIfTI I/O: Memory-mapped reading, crop-first loading (read sub-volumes without loading entire files)
- Transform Pipeline: Lazy evaluation that fuses consecutive axis-aligned resamples and trailing intensity operations (z-normalize, scaling, clamping) into a single pass, with portable SIMD acceleration
- Mixed Precision: Native f16/bf16 support for 50% storage savings
- Volumetric Compression: Optional
.jvolcodec (vendored from jvol-rust) for lossy wavelet compression of floating-point volumes - Random Augmentation: Reproducible, GPU-friendly augmentations for ML training
- Python Bindings: Zero-copy numpy views, direct PyTorch/JAX tensor creation, GIL released around heavy operations
- MONAI Integration: Drop-in replacements for MONAI transforms
Why medrs?
medrs memory-maps uncompressed .nii files, so opening a volume and materializing it to a numpy array is comparable to nibabel (which also memory-maps) and roughly 10-25x faster than MONAI and TorchIO, whose default loaders eagerly read the data and build a tensor. For gzipped .nii.gz, load time is bounded by the decompressor; medrs is competitive with nibabel and MONAI, and the parallel Mgzip format is the fast path for compressed data. All numbers below are reproducible with the scripts in benchmarks/ (see "Reproducing benchmarks").
Single File Loading
Load plus full materialization to a numpy array (median of repeated runs, so every library does the same work). Multiples are relative to medrs.
| Volume | Format | medrs | nibabel | MONAI | TorchIO | SimpleITK |
|---|---|---|---|---|---|---|
| 128³ | .nii | 1.3 ms | 1.4x | 14x | 9x | 4x |
| 256³ | .nii | 17 ms | 1.4x | 23x | 13x | 4x |
| 128³ | .nii.gz | 82 ms | 0.6x | 1.2x | 0.2x | 0.3x |
| 256³ | .nii.gz | 370 ms | 1.8x | 2.5x | 0.5x | 0.1x |
Measured on Apple Silicon with benchmarks/bench_load_comparison.py (float32, structured data). For uncompressed volumes medrs and nibabel both memory-map, so they are close; the large multiples are against loaders that materialize eagerly. For gzipped volumes SimpleITK and TorchIO decompress faster than medrs's single-threaded path, which is why medrs also offers the parallel Mgzip format.
Compressed Storage
Optional lossy .jvol (wavelet codec, see the Compression Formats section) gives large storage and bandwidth savings on floating-point volumes. Measured on a 256³ float32 volume:
| Format | Size | vs raw | Decode |
|---|---|---|---|
| raw .nii | 67 MB | 1x | fastest (mmap) |
| .nii.gz | 61 MB | 1.1x | baseline |
| jvol q80 | 3.1 MB | 22x smaller | about gzip speed |
| jvol q60 | 0.1-3 MB | 20-600x smaller | about gzip speed |
jvol decode is roughly gzip speed, so its benefit is storage and bandwidth, not decode CPU. Mixed-precision bf16/f16 saves a fixed 50% of f32 with no codec.
Training Throughput (FastLoader)
The FastLoader prefetches patches across parallel worker threads with the GIL released. On 64³ random crops from gzipped volumes it delivers roughly 4x the throughput of a naive sequential load-and-crop loop (measured: 191 vs 49 patches/sec, 4 workers). Run your own with python benchmarks/bench_fastloader.py.
Key Advantages
- Crop-First Loading: Read only the cropped region from disk instead of loading the full volume, which matters most as volume size grows relative to patch size
- FastLoader: Parallel patch prefetching with the GIL released, roughly 4x a naive sequential loader
- Mixed Precision: Save in bf16/f16 for 50% smaller files, or lossy
.jvolfor 20-600x smaller - MONAI Drop-in: Replace MONAI I/O transforms with one import change
- Zero-Copy: Direct tensor creation without intermediate numpy allocations
Reproducing benchmarks
The numbers above are illustrative snapshots; benchmarks/results/ is not checked into the repo (it's regenerated, not reproducible from git history alone). Regenerate them on your own hardware with:
pip install -e ".[examples]"
# Individual suites
python benchmarks/bench_medrs.py
python benchmarks/bench_nibabel.py
python benchmarks/bench_monai.py
python benchmarks/bench_torchio.py
python benchmarks/bench_mgzip.py
python benchmarks/bench_fastloader.py
# Or via cargo for the Rust-side microbenchmarks
cargo bench
# Plots and a combined comparison report
python benchmarks/compare_all.py
python benchmarks/plot_results.py
See benchmarks/BENCHMARK_PLAN.md for the full benchmark matrix (libraries, volume sizes, dtypes, formats).
Installation
Python
pip install medrs
Rust
[dependencies]
medrs = "0.1"
Development
git clone https://github.com/liamchalcroft/med-rs.git
cd med-rs
pip install -e ".[dev]"
maturin develop --features python
Quick Start
Python:
import medrs
import torch
# Load a NIfTI image
img = medrs.load("brain.nii.gz")
print(f"Shape: {img.shape}, Spacing: {img.spacing}")
# Method chaining for transforms
processed = img.resample([1.0, 1.0, 1.0]).z_normalize().clamp(-1, 1)
processed.save("output.nii.gz")
# Load directly to PyTorch tensor (most efficient)
tensor = medrs.load_to_torch("brain.nii.gz", dtype=torch.float16, device="cuda")
For training pipelines that repeatedly access the same files, use load_cached() for
faster subsequent loads (caches decompressed data for .nii.gz files).
Rust:
use medrs::nifti;
use medrs::transforms::{resample_to_spacing, Interpolation};
fn main() -> medrs::Result<()> {
let img = nifti::load("brain.nii.gz")?;
println!("Shape: {:?}, Spacing: {:?}", img.shape(), img.spacing());
let resampled = resample_to_spacing(&img, [1.0, 1.0, 1.0], Interpolation::Trilinear)?;
nifti::save(&resampled, "output.nii.gz")?;
Ok(())
}
Transform Pipeline
Build composable transform pipelines with lazy evaluation and automatic optimization:
Python:
import medrs
# Create a reusable pipeline
pipeline = medrs.TransformPipeline()
pipeline.z_normalize()
pipeline.clamp(-1.0, 1.0)
pipeline.resample_to_shape([64, 64, 64])
# Apply to multiple images
for path in image_paths:
img = medrs.load(path)
processed = pipeline.apply(img)
Rust:
use medrs::pipeline::compose::TransformPipeline;
let pipeline = TransformPipeline::new()
.z_normalize()
.clamp(-1.0, 1.0)
.resample_to_shape([64, 64, 64]);
let processed = pipeline.apply(&img);
Random Augmentation
Reproducible augmentations for ML training with optional seeding:
Python:
import medrs
img = medrs.load("brain.nii.gz")
# Individual augmentations
flipped = medrs.random_flip(img, axes=[0, 1, 2], prob=0.5, seed=42)
noisy = medrs.random_gaussian_noise(img, std=0.1, seed=42)
scaled = medrs.random_intensity_scale(img, scale_range=0.1, seed=42)
shifted = medrs.random_intensity_shift(img, shift_range=0.1, seed=42)
rotated = medrs.random_rotate_90(img, axes=(0, 1), seed=42)
gamma = medrs.random_gamma(img, gamma_range=(0.7, 1.5), seed=42)
# Combined augmentation (flip + noise + scale + shift)
augmented = medrs.random_augment(img, seed=42)
Rust:
use medrs::transforms::{random_flip, random_gaussian_noise, random_augment};
// Individual augmentations
let flipped = random_flip(&img, &[0, 1, 2], Some(0.5), Some(42))?;
let noisy = random_gaussian_noise(&img, Some(0.1), Some(42))?;
// Combined augmentation
let augmented = random_augment(&img, Some(42))?;
Mgzip: Parallel Compressed Loading
For .nii.gz files, medrs supports the Mgzip (multi-member gzip) format for parallel decompression. Mgzip files are backwards-compatible with standard gzip; at 8 threads, decompression is 2-3x faster than medrs's own single-threaded libdeflate baseline. Single-threaded Mgzip is slightly slower than that baseline (channel and buffer overhead dominate below 2-3 threads), so it only pays off once you have a few cores to spare.
Performance (256³ volume)
| Method | Time | vs nibabel |
|---|---|---|
| nibabel | 173ms | 1× |
| medrs.load() | 126ms | 1.4× |
| medrs.load_mgzip(8 threads) | 47ms | 3.7× |
Usage
import medrs
# Convert existing .nii.gz to Mgzip format (one-time)
medrs.convert_to_mgzip("brain.nii.gz", "brain.mgz.nii.gz", num_threads=8)
# Load with parallel decompression
img = medrs.load_mgzip("brain.mgz.nii.gz", num_threads=8)
# Save directly in Mgzip format
medrs.save_mgzip(img, "output.mgz.nii.gz", num_threads=8)
# Check if file is Mgzip format
if medrs.is_mgzip("file.nii.gz"):
img = medrs.load_mgzip("file.nii.gz")
Batch Conversion CLI
Convert entire datasets with the included CLI tool:
# Convert all .nii.gz files in a directory (recursive)
python -m medrs.cli convert-mgzip data/*.nii.gz -r -w 8 -v
# Options:
# -r, --recursive Search subdirectories
# -w, --workers N Parallel conversion threads (default: CPU count)
# -v, --verbose Show progress
# --suffix .mgz Output suffix (default: replaces .nii.gz with .mgz.nii.gz)
When to Use Mgzip
- Large compressed datasets (100+ files, 256³+ volumes)
- Multi-core systems (4+ cores)
- Repeated access (training pipelines that load same files across epochs)
Mgzip files are ~1% larger than standard gzip but provide significant speedups. Standard gzip readers (nibabel, etc.) can still read Mgzip files.
Crop-First Loading
Load only the data you need - essential for training pipelines:
import medrs
import torch
# Load a 64^3 patch starting at position (32, 32, 32)
patch = medrs.load_cropped("volume.nii", [32, 32, 32], [64, 64, 64])
# Load with resampling and reorientation in one step
patch = medrs.load_resampled(
"volume.nii",
output_shape=[64, 64, 64],
target_spacing=[1.0, 1.0, 1.0],
target_orientation="RAS"
)
# Load directly to GPU tensor
tensor = medrs.load_cropped_to_torch(
"volume.nii",
output_shape=[64, 64, 64],
target_spacing=[1.0, 1.0, 1.0],
dtype=torch.float16,
device="cuda"
)
Training Data Loaders
TrainingDataLoader
LRU-cached patch extraction with prefetching:
import medrs
loader = medrs.TrainingDataLoader(
volumes=["vol1.nii", "vol2.nii", "vol3.nii"],
patch_size=[64, 64, 64],
patches_per_volume=4,
patch_overlap=[0, 0, 0],
randomize=True,
cache_size=1000
)
for patch in loader:
tensor = patch.to_torch()
FastLoader
Parallel prefetching loader for large .nii.gz datasets (100k+ files):
import glob
import medrs
loader = medrs.FastLoader(
volumes=glob.glob("data/*.nii.gz"),
patch_shape=[64, 64, 64],
prefetch=16,
workers=4,
shuffle=True,
seed=42
)
for patch in loader:
tensor = patch.to_torch()
Available Transforms
Intensity Transforms
z_normalize()/z_normalization()- Zero mean, unit variancerescale()/rescale_intensity()- Scale to [min, max] rangeclamp()- Clamp values to range
Spatial Transforms
resample()- Resample to target spacing (alsoTransformPipeline.resample_to_spacing(); the Rust API exposes the same function asresample_to_spacing)resample_to_shape()- Resample to target shapereorient()- Reorient to standard orientation (RAS, LPS, etc.)crop_or_pad()- Crop or pad to target shapeflip()- Flip along specified axes
Random Augmentation
random_flip()- Random axis flippingrandom_gaussian_noise()- Additive Gaussian noiserandom_intensity_scale()- Random intensity scalingrandom_intensity_shift()- Random intensity offsetrandom_rotate_90()- Random 90-degree rotationsrandom_gamma()- Random gamma correctionrandom_augment()- Combined augmentation pipeline
Performance
medrs uses several optimization strategies:
- SIMD: Hot loops use portable SIMD (
wide::f32x8), which lowers to two SSE registers on the x86-64 baseline and a single AVX2 register only when built with-C target-feature=+avx2or-C target-cpu=native(seemake build-native; the distributed wheels use the SSE2 baseline) - Parallel Processing: Rayon-based parallelism for large volumes
- Lazy Evaluation: Transform pipelines fuse consecutive axis-aligned resamples and trailing intensity operations into a single pass before execution
- Memory Mapping: Large files are memory-mapped to avoid full loads
- Parallel Decompression: Mgzip format enables multi-threaded gzip decompression
Compression Formats
| Format | Type | Best for |
|---|---|---|
.nii |
Uncompressed | Fastest load (memory-mapped), byte-exact crop-first reads |
.nii.gz |
gzip | Standard interchange; use load_mgzip/Mgzip for parallel decode |
.jvol |
Wavelet + Rice coding (optional jvol feature) |
Storage- and bandwidth-bound workflows on floating-point volumes |
.jvol is an optional volumetric codec, vendored from jvol-rust by Fernando Pérez-García (MIT licensed; see Credits). It supports two modes:
- Lossy (
quality=1..100): wavelet compression tuned for floating-point intensity volumes, typically 10x to 500x smaller than the source depending on quality. This is the mode.jvolis designed for. - Lossless: exact round-trip, but only roughly gzip-parity in file size, and decode is more CPU-intensive than gzip or Mgzip. Prefer
.nii.gz/.nii.mgzwhen load speed matters more than storage.
Lossy encoding is rejected outright for integer/label data (medrs returns an error) since wavelet quantization would silently corrupt segmentation values; use lossless mode for labels.
import medrs
img = medrs.load("brain.nii.gz")
# Lossy, tuned for floating-point intensity volumes
medrs.save_jvol(img, "brain.jvol", quality=60)
# Lossless (required for label/segmentation volumes)
medrs.save_jvol(seg, "seg.jvol", lossless=True)
# .jvol loads transparently through the normal load() entry point
restored = medrs.load("brain.jvol")
# Convert an existing file directly
medrs.convert_to_jvol("brain.nii.gz", "brain.jvol", quality=60)
use medrs::jvol::{self, JvolOptions};
let img = medrs::nifti::load("brain.nii.gz")?;
jvol::save(&img, "brain.jvol", JvolOptions::lossy(60))?;
let restored = jvol::load("brain.jvol")?;
Build with the jvol cargo feature (cargo build --features jvol); the python feature enables it automatically, so the published Python wheel includes .jvol support. See docs/guides/compression.rst for the full format writeup.
Examples
See the examples/ directory for:
basic/- Loading, transforms, and savingintegrations/- PyTorch, MONAI, JAX integrationadvanced/- Async pipelines, custom transforms
Testing
# Rust tests
cargo test
cargo test --features jvol
# Python tests
pytest tests/
# Benchmarks (see "Reproducing benchmarks" above)
python benchmarks/bench_medrs.py --quick
python benchmarks/bench_monai.py --quick
python benchmarks/bench_torchio.py --quick
# Generate benchmark plots
python benchmarks/plot_results.py
License
medrs is dual-licensed under MIT and Apache-2.0. See LICENSE for details. The vendored .jvol codec (src/jvol/codec/) is MIT-licensed separately; see LICENSE-jvol and Credits.
Credits
The .jvol volumetric compression codec (src/jvol/codec/) is vendored from jvol-rust by Fernando Pérez-García, MIT licensed. Only the codec modules (wavelet lifting, entropy coding, subband management, type definitions) are vendored; medrs's own NIfTI I/O front-end and Python bindings wrap it. Full license text: LICENSE-jvol.
Contributing
See CONTRIBUTING.md for guidelines.
Maintainer
Liam Chalcroft (liam.chalcroft.20@ucl.ac.uk)
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
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 medrs-0.2.0.tar.gz.
File metadata
- Download URL: medrs-0.2.0.tar.gz
- Upload date:
- Size: 334.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a73ed73a456232395d93979b9736a7ef31225e555341cb907d340158b433d74
|
|
| MD5 |
25b9577710dcf0c51e8ef88bd0d9fc99
|
|
| BLAKE2b-256 |
91029b18f8fcd8e008557feb02d867bb96ab79807c59d0476ad6fa9709ee0ea8
|
Provenance
The following attestation bundles were made for medrs-0.2.0.tar.gz:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0.tar.gz -
Subject digest:
3a73ed73a456232395d93979b9736a7ef31225e555341cb907d340158b433d74 - Sigstore transparency entry: 2048699078
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: medrs-0.2.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 1.3 MB
- 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 |
25320365a50704b96372210dd071cdd38b3c43254281f135a21a5ebff21305c1
|
|
| MD5 |
27141bd6b108735c5d897f5af4e49f3f
|
|
| BLAKE2b-256 |
3d4d85425d5a25ab8ec0dada9baf9a30d7ffa04e068b123a16364669ec1488bc
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp313-cp313-win_amd64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp313-cp313-win_amd64.whl -
Subject digest:
25320365a50704b96372210dd071cdd38b3c43254281f135a21a5ebff21305c1 - Sigstore transparency entry: 2048699267
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf54dc1cf05f91f0db5be51f3fa15792d394a618bceee85b69888ccbd72822e3
|
|
| MD5 |
af97d481dce3a23dc41ba0b2363fb6e3
|
|
| BLAKE2b-256 |
715fe3ec040e2d48321147d918ccfdaf7892a1212dbb9aa3c93cf83284e4f29b
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
bf54dc1cf05f91f0db5be51f3fa15792d394a618bceee85b69888ccbd72822e3 - Sigstore transparency entry: 2048699411
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: medrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23de050b242c21a302cc6c2344cb9dd08a5eac7be5e6ecdb14043403bd97ecf3
|
|
| MD5 |
988a95d862c24c975f6cfd33b4cdb444
|
|
| BLAKE2b-256 |
9d08f78fe5107f0e853ad49e167aa2b6e3eb58581508d4a00a81f426df75799f
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
23de050b242c21a302cc6c2344cb9dd08a5eac7be5e6ecdb14043403bd97ecf3 - Sigstore transparency entry: 2048699240
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: medrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7df32c260dda1573026ac0073b5b38ba3697a9309ac4d2e47377cde4c45251fa
|
|
| MD5 |
ded657bde9d9c0d037c55fd52baf148c
|
|
| BLAKE2b-256 |
d0a4ac97290b003ee52f542c54600792dbe96779441f376a4d2716cef26ebc0e
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
7df32c260dda1573026ac0073b5b38ba3697a9309ac4d2e47377cde4c45251fa - Sigstore transparency entry: 2048699293
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8545d7ec6635301415f38a03a0fb25ac5aa91e08696f72141cdbb2cb6c84a15e
|
|
| MD5 |
e2b71c86bffcce171a449b204327f3cf
|
|
| BLAKE2b-256 |
4e94428043b29d171edb09364c6a81b6bfd5ff4596fa863f7148ef692540275f
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl -
Subject digest:
8545d7ec6635301415f38a03a0fb25ac5aa91e08696f72141cdbb2cb6c84a15e - Sigstore transparency entry: 2048699165
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: medrs-0.2.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.3 MB
- 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 |
54f307e12e2128f9a1fd329f4a9789eb5ac67b414628478e96b18487b70c9845
|
|
| MD5 |
a23f6b865df942c119149650daa75372
|
|
| BLAKE2b-256 |
7560cde7dcd915b41a53bd764d27f33e111d4926e4758e8db5e5655b1a0701ab
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp312-cp312-win_amd64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp312-cp312-win_amd64.whl -
Subject digest:
54f307e12e2128f9a1fd329f4a9789eb5ac67b414628478e96b18487b70c9845 - Sigstore transparency entry: 2048699104
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b653bf360961d143ebb43dfbd94a3e9138f3fe8b779f901c107cad3b04eb96eb
|
|
| MD5 |
754f27152fce3c851003320e55435897
|
|
| BLAKE2b-256 |
62cc6ff92d6714fe6664f3a33b4c350bf3c430b28695f5ea429bf56b943c8ec2
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
b653bf360961d143ebb43dfbd94a3e9138f3fe8b779f901c107cad3b04eb96eb - Sigstore transparency entry: 2048699382
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: medrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
709d41924045e2336729be9b92ce0421fdc108c760f1a820ade4bc6a873eab93
|
|
| MD5 |
5a7bb02a77813286e311ca7bd21ccffc
|
|
| BLAKE2b-256 |
a0bec55c85f7849e1e84e5864a3ed5a375d88e1ff534901b8b34af3732592fe6
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
709d41924045e2336729be9b92ce0421fdc108c760f1a820ade4bc6a873eab93 - Sigstore transparency entry: 2048699320
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: medrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d0b059536c6b247a40fc8782445718fdc582254daf080195a4f9625c13d5574
|
|
| MD5 |
ddfde486522cdb3f0168a236686164a0
|
|
| BLAKE2b-256 |
57720b07bdf78b0b70ab58b926883d69ef4e73d7b82000aba92e8801a992e1e5
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
3d0b059536c6b247a40fc8782445718fdc582254daf080195a4f9625c13d5574 - Sigstore transparency entry: 2048699225
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b13d71bae9873345e3f89cebda4d0653becd24a8adc4e85d77411dd3e9e9022
|
|
| MD5 |
be2e560e5b720961fb8622e8651deb78
|
|
| BLAKE2b-256 |
04cb8c4fe2c5bb409482bb1ba390157bf64c36b0e19826454cfc6d9a25a880fe
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl -
Subject digest:
7b13d71bae9873345e3f89cebda4d0653becd24a8adc4e85d77411dd3e9e9022 - Sigstore transparency entry: 2048699351
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: medrs-0.2.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.3 MB
- 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 |
832e9b49d8f9b21f6d744f96056b13fe08355bedeffbc4d3862a2ba2e4c422f6
|
|
| MD5 |
822a6efa427453665e8b482d6259a194
|
|
| BLAKE2b-256 |
90dd86472dd17f0a7cc5cce6a2097de74caf5269ef7375ddfdcb1aa4cc7d9ed2
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp311-cp311-win_amd64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp311-cp311-win_amd64.whl -
Subject digest:
832e9b49d8f9b21f6d744f96056b13fe08355bedeffbc4d3862a2ba2e4c422f6 - Sigstore transparency entry: 2048699140
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cb30c6f6042b8ec36dc61721044837759e8ce20fe20ec0e76e26f95517c245f
|
|
| MD5 |
ee63a9d030cada27f97100760fda0efb
|
|
| BLAKE2b-256 |
95e237222071f8a94b0260b40e9b8cec58552d8138594cb2ef3a712876296c0e
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
6cb30c6f6042b8ec36dc61721044837759e8ce20fe20ec0e76e26f95517c245f - Sigstore transparency entry: 2048699125
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: medrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6388f9d09bbf05269fb58cbee53aae8097873e89e08628d7a78721760061082e
|
|
| MD5 |
510727e7a91793a3f59f482f3064babe
|
|
| BLAKE2b-256 |
fd8dc5ef08ec093f422bf577f4b32783b6e32f8c26f4625b10f8f60763bf6504
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
6388f9d09bbf05269fb58cbee53aae8097873e89e08628d7a78721760061082e - Sigstore transparency entry: 2048699186
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: medrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc20d669b4900a0dfda1e621e2299fb94e4b13bb017368bfed25d77853c92846
|
|
| MD5 |
a35b25690e9f32342420fa5d527677f2
|
|
| BLAKE2b-256 |
f8d1de0e491054ba11d6b55cda98f8bf01397ad714c8544d0c0c5fa141bdddbb
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
dc20d669b4900a0dfda1e621e2299fb94e4b13bb017368bfed25d77853c92846 - Sigstore transparency entry: 2048699207
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05bbb7c60838b6f1697db7e518b08e401488b2ea284b9e248d24940df1f279ce
|
|
| MD5 |
7b98fba8fb64c26bc4175a698134711b
|
|
| BLAKE2b-256 |
3be2d42897473800623457322a481d3b977bfec481db659f974c2e7dcfdc7b12
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl -
Subject digest:
05bbb7c60838b6f1697db7e518b08e401488b2ea284b9e248d24940df1f279ce - Sigstore transparency entry: 2048699517
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: medrs-0.2.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 1.3 MB
- 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 |
92f285fac529297442e8439acb6a23ddd13ccb4a2accd234b433dbffda759988
|
|
| MD5 |
62f3c821243a359aecc139cb8e695301
|
|
| BLAKE2b-256 |
7526a86ef87b2fd9ce6ede3d8927c1629c92eb87c76e53262e710ac9f7a21bd4
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp310-cp310-win_amd64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp310-cp310-win_amd64.whl -
Subject digest:
92f285fac529297442e8439acb6a23ddd13ccb4a2accd234b433dbffda759988 - Sigstore transparency entry: 2048699550
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a163f26b02d808aef4cb345a285866641465bf892fa78f7964010c1ac010b66
|
|
| MD5 |
33ae1419dda48e153c566fef3426f24c
|
|
| BLAKE2b-256 |
33f98f701463a8c4ab67967cfb21c2e6236232d46e8efc2c4121369128ae11d6
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
8a163f26b02d808aef4cb345a285866641465bf892fa78f7964010c1ac010b66 - Sigstore transparency entry: 2048699457
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: medrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f51b20c34a0bcec2c45b5c1305b8b66d77cbb966a6935735a146a5d2c5a42486
|
|
| MD5 |
70d5348bfa1254a3794fa17cd436d824
|
|
| BLAKE2b-256 |
dcbb27f0e837d0906f5dd7e4932742cc9791805ad32e658ba8b99f536dd2a666
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
f51b20c34a0bcec2c45b5c1305b8b66d77cbb966a6935735a146a5d2c5a42486 - Sigstore transparency entry: 2048699581
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: medrs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a12c7d3573061e6152c5f6e6d4e2fa736b914c47c527746d090fcd571b5e631
|
|
| MD5 |
c8f72d9c354ab9479c7eda1d8633a648
|
|
| BLAKE2b-256 |
953897312f2bc124bfc15c58b5b869c99574cc052216492549436f8dd25e1d01
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
7a12c7d3573061e6152c5f6e6d4e2fa736b914c47c527746d090fcd571b5e631 - Sigstore transparency entry: 2048699482
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file medrs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl.
File metadata
- Download URL: medrs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea06c5198949f38c05de112b11cd8a32ecd9363dabfeb41eccefdf8bd26782b7
|
|
| MD5 |
6240551da4ceff9146f2c97f3b13071a
|
|
| BLAKE2b-256 |
f829ce505cfcca9423c0a2df7df9d43fb2bbf78a79f39c2132a243129ffc6829
|
Provenance
The following attestation bundles were made for medrs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl:
Publisher:
publish.yml on liamchalcroft/med-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
medrs-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl -
Subject digest:
ea06c5198949f38c05de112b11cd8a32ecd9363dabfeb41eccefdf8bd26782b7 - Sigstore transparency entry: 2048699429
- Sigstore integration time:
-
Permalink:
liamchalcroft/med-rs@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/liamchalcroft
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b7ac4cb03889a6e75281f348d852c30e4ea338eb -
Trigger Event:
release
-
Statement type: