volresample
Fast 3D volume resampling with Cython and OpenMP parallelization.
Implemented against PyTorch's F.interpolate and F.grid_sample as a reference, producing identical results for nearest, linear, and area modes. The cubic mode matches scipy.ndimage.zoom(order=3, mode='reflect'), using grid_mode=True when align_corners=False and grid_mode=False when align_corners=True. Can be used as a drop-in replacement when PyTorch or SciPy is not available or when better performance is desired on CPU.
Features
- Cython-optimized with OpenMP parallelization
- Simple API:
resample()andgrid_sample() - Interpolation modes: nearest, linear, area, and cubic
- Supports 3D, 4D (multi-channel), and 5D (batched multi-channel) volumes
- Supports
align_corners=Truefor nearest, linear, and cubic resampling - Supports uint8, int16 (nearest) and float32 dtypes (all other modes) for both
resampleandgrid_sample
Installation
pip install volresample
Or build from source:
git clone https://github.com/JoHof/volresample.git
cd volresample
uv sync
Quick Start
Basic Resampling
import numpy as np
import volresample
# Create a 3D volume
volume = np.random.rand(128, 128, 128).astype(np.float32)
# Resample to a different size
resampled = volresample.resample(volume, (64, 64, 64), mode='linear')
print(resampled.shape) # (64, 64, 64)
Cubic Resampling (scipy-compatible)
# Cubic B-spline resampling.
# align_corners=False -> scipy zoom(..., grid_mode=True)
# align_corners=True -> scipy zoom(..., grid_mode=False)
resampled = volresample.resample(volume, (64, 64, 64), mode='cubic')
Align Corners
# For nearest, linear, and cubic modes, align_corners=True preserves the corner voxels.
aligned = volresample.resample(volume, (192, 192, 192), mode='linear', align_corners=True)
# Nearest with align_corners=True: corner input voxels map exactly to corner output voxels.
# This is not supported by PyTorch's interpolate, but follows the same geometric convention.
nearest_ac = volresample.resample(volume, (192, 192, 192), mode='nearest', align_corners=True)
Multi-Channel Volumes
# 4D volume with 4 channels
volume_4d = np.random.rand(4, 128, 128, 128).astype(np.float32)
# Resample all channels
resampled_4d = volresample.resample(volume_4d, (64, 64, 64), mode='linear')
print(resampled_4d.shape) # (4, 64, 64, 64)
Batched Multi-Channel Volumes
# 5D volume with batch dimension (N, C, D, H, W)
volume_5d = np.random.rand(2, 4, 128, 128, 128).astype(np.float32)
# Resample all batches and channels
resampled_5d = volresample.resample(volume_5d, (64, 64, 64), mode='linear')
print(resampled_5d.shape) # (2, 4, 64, 64, 64)
Grid Sampling
# Input volume: (N, C, D, H, W)
input = np.random.rand(2, 3, 32, 32, 32).astype(np.float32)
# Sampling grid with normalized coordinates in [-1, 1]
grid = np.random.uniform(-1, 1, (2, 24, 24, 24, 3)).astype(np.float32)
# Sample with linear interpolation
output = volresample.grid_sample(input, grid, mode='linear', padding_mode='zeros')
print(output.shape) # (2, 3, 24, 24, 24)
Parallelization
import volresample
# Check default thread count (min of cpu_count and 4)
print(volresample.get_num_threads()) # e.g., 4
# Set custom thread count
volresample.set_num_threads(8)
# All subsequent operations use 8 threads
resampled = volresample.resample(volume, (64, 64, 64), mode='linear')
API Reference
resample(data, size, mode='linear', align_corners=False)
Resample a 3D, 4D, or 5D volume to a new size.
Parameters:
data(ndarray): Input volume of shape(D, H, W),(C, D, H, W), or(N, C, D, H, W)size(tuple): Target size(D_out, H_out, W_out)mode(str): Interpolation mode:'nearest': Nearest neighbor (works with all dtypes)'linear': Trilinear interpolation (float32 only)'area': Area-based averaging (float32 only, suited for downsampling)'cubic': Tricubic B-spline interpolation with IIR prefilter (float32 only). Matchesscipy.ndimage.zoom(order=3, mode='reflect')
align_corners(bool): Supported formode='nearest',mode='linear', andmode='cubic'False(default): matches PyTorchalign_corners=Falsefor linear, and SciPygrid_mode=Truefor cubicTrue: matches PyTorchalign_corners=Truefor linear, SciPygrid_mode=Falsefor cubic, and aligns corner voxels for nearest (not supported by PyTorch)- Passing
align_corners=TruewitharearaisesValueError
PyTorch correspondence:
| volresample | PyTorch F.interpolate |
|---|---|
mode='nearest' |
mode='nearest-exact' |
mode='nearest', align_corners=True |
(no PyTorch equivalent) |
mode='linear', align_corners=False |
mode='trilinear', align_corners=False |
mode='linear', align_corners=True |
mode='trilinear', align_corners=True |
mode='area' |
mode='area' |
SciPy correspondence:
| volresample | SciPy |
|---|---|
mode='cubic', align_corners=False |
scipy.ndimage.zoom(order=3, mode='reflect', grid_mode=True) |
mode='cubic', align_corners=True |
scipy.ndimage.zoom(order=3, mode='reflect', grid_mode=False) |
Returns:
- Resampled array with same number of dimensions as input
Supported Dtypes:
uint8,int16: Only withmode='nearest'float32: All modes (nearest,linear,area,cubic)
grid_sample(input, grid, mode='linear', padding_mode='zeros', fill_value=0)
Sample input at arbitrary locations specified by a grid.
Parameters:
input(ndarray): Input volume of shape(N, C, D, H, W)grid(ndarray): Sampling grid of shape(N, D_out, H_out, W_out, 3)- Values in range
[-1, 1]where -1 maps to the first voxel, 1 to the last
- Values in range
mode(str):'nearest'or'linear'padding_mode(str):'zeros','border','reflection', or'constant'fill_value(float): Fill value for out-of-bounds samples whenpadding_mode='constant'. For integer dtypes in nearest mode, the value is clamped to the valid range. Default:0
PyTorch correspondence:
| volresample | PyTorch F.grid_sample |
|---|---|
mode='nearest' |
mode='nearest' |
mode='linear' |
mode='bilinear' |
The behavior matches PyTorch's grid_sample with align_corners=False.
Returns:
- Sampled array of shape
(N, C, D_out, H_out, W_out)
Supported Dtypes:
uint8,int16: Only withmode='nearest'float32: All modes (nearest,linear)
set_num_threads(num_threads)
Set the number of threads used for parallel operations.
Parameters:
num_threads(int): Number of threads to use (must be >= 1)
get_num_threads()
Get the current number of threads used for parallel operations.
Returns:
- Current thread count (default:
min(cpu_count, 4))
Performance
Measured on 2026-09-11 with the current Cython implementation on an
Intel Core i5-14600K, using four physical performance cores (CPU IDs
0,2,4,6). PyTorch and volresample were configured for 4 CPU threads;
SciPy's thread count was not configured by the benchmark.
Versions: Python 3.13.7, NumPy 2.4.2, PyTorch
2.14.0+rocm7.14 (CPU execution), and SciPy 1.17.1. The extension
was built with GCC 14.3.0, Cython 3.2.4, and the project's existing AVX2/FMA/OpenMP
compiler flags.
python setup.py build_ext --inplace
OMP_PROC_BIND=true OMP_PLACES=cores OMP_DYNAMIC=false taskset -c 0,2,4,6 \
python tests/benchmark.py --threads 4 --profile default
Timings are median / IQR in milliseconds, measured over at least six rotating blocks after three warmup calls. The default profile gives each callable at least 1,800 ms of measured time. Calls reuse the input and include NumPy input/output conversion and allocation; input generation and output checks are outside timing. Speedups use unrounded medians: reference time divided by volresample time. Values above 1× favor volresample.
volresample vs PyTorch
| Case | Shape | PyTorch (ms) | volresample (ms) | Speedup | Max error |
|---|---|---|---|---|---|
| nearest | 128x128x128 -> 64x64x64 |
0.055 / 0.001 | 0.031 / 0.000 | 1.77× | 0 |
nearest (uint8) |
128x128x128 -> 64x64x64 |
0.106 / 0.002 | 0.023 / 0.000 | 4.64× | 0 |
nearest (int16) |
128x128x128 -> 64x64x64 |
0.136 / 0.002 | 0.027 / 0.000 | 4.95× | 0 |
| nearest, large volume | 512x512x512 -> 256x256x256 |
10.804 / 0.100 | 7.767 / 0.033 | 1.39× | 0 |
| linear | 128x128x128 -> 64x64x64 |
0.276 / 0.003 | 0.137 / 0.001 | 2.01× | 0 |
linear, align_corners=True |
96x96x96 -> 144x144x144 |
2.683 / 0.034 | 1.420 / 0.031 | 1.89× | 4.50e-05 |
| linear, large volume | 512x512x512 -> 256x256x256 |
25.731 / 0.325 | 17.649 / 0.158 | 1.46× | 0 |
| area | 160x160x160 -> 80x80x80 |
4.179 / 0.114 | 0.733 / 0.038 | 5.70× | 1.19e-07 |
| area, large volume | 512x512x512 -> 64x64x64 |
52.356 / 0.506 | 12.433 / 0.221 | 4.21× | 2.24e-07 |
| 4D linear | 4x96x96x96 -> 64x64x64 |
1.004 / 0.009 | 0.517 / 0.007 | 1.94× | 0 |
| 5D linear | 2x4x80x80x80 -> 48x48x48 |
0.878 / 0.012 | 0.444 / 0.007 | 1.98× | 0 |
volresample vs SciPy
| Case | Shape | SciPy (ms) | volresample (ms) | Speedup | Max error |
|---|---|---|---|---|---|
cubic, align_corners=False |
128x128x128 -> 64x64x64 |
77.631 / 1.138 | 10.995 / 1.059 | 7.06× | 0 |
cubic, align_corners=True |
96x128x80 -> 64x160x48 |
80.826 / 0.555 | 4.465 / 1.062 | 18.10× | 0 |
volresample vs PyTorch (grid_sample)
| Case | Shape | PyTorch (ms) | volresample (ms) | Speedup | Max error |
|---|---|---|---|---|---|
| linear, zeros | 1x2x96x96x96 -> 80x80x80 |
11.930 / 0.287 | 4.376 / 0.215 | 2.73× | 4.40e-05 |
| nearest, zeros | 1x2x96x96x96 -> 80x80x80 |
3.697 / 0.100 | 0.777 / 0.025 | 4.76× | 0 |
| linear, reflection | 1x2x80x96x64 -> 72x88x56 |
16.535 / 0.377 | 3.462 / 0.061 | 4.78× | 5.42e-05 |
Arithmetic mean speedup across these 16 cases: 4.34×. This summary depends on the selected workloads.
Notes:
- Cubic timings include spline prefiltering for both implementations. The two rows cover both
align_cornerssettings. - For
int16nearest, the PyTorch reference converts tofloat32and back; volresample operates directly onint16. - Supplemental prepared-tensor PyTorch timings printed by the benchmark exclude input wrapping/casts and output conversion. They are not used in these tables or the speedup summary.
- Max error is the maximum absolute difference from the reference output. Floating-point interpolation can differ slightly because of rounding and operation order.
- These are CPU measurements on this machine. Core selection, memory bandwidth, thermal conditions, library versions, and workload shape affect performance.
Development
Running Tests
# Run all tests
pytest tests/
# Run with PyTorch comparison tests
pip install torch
pytest tests/ -v
# Skip PyTorch tests
pytest tests/ --skip-torch
Running Benchmarks
# Curated default run: all modes plus grid_sample
python tests/benchmark.py
# Faster smoke benchmark
python tests/benchmark.py --profile quick
# Or pin the thread count
python tests/benchmark.py --threads 4
# Output is printed live while the benchmark runs
python -u tests/benchmark.py
The main tables measure end-to-end CPU calls from NumPy input to NumPy output.
Times are median / IQR of per-call averages from at least six measurement blocks,
with three warmup calls and rotating backend order. Each callable receives the
profile's measured time budget (or --target-ms); total runtime also includes
warmup and output validation.
Supplemental PyTorch tables time F.interpolate / F.grid_sample with prepared
CPU tensors. They include dispatch and output allocation, but exclude input
wrapping, dtype conversion, and output conversion, and do not enter speedup
summaries. For int16 nearest, the end-to-end PyTorch path includes conversion to
float32 and back; its prepared timing uses float32 tensors. Cubic SciPy timings
include spline prefiltering and return float32 directly. --threads configures
PyTorch and volresample; it does not configure SciPy.
For Cython changes, python -m tests.experiment builds isolated source snapshots
and compares them in the same process with correctness gates, repeated rounds,
and JSON results. Run python -m tests.experiment --help for available commands.
Building from Source
pip install -e ".[dev]"
python setup.py build_ext --inplace
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome. Please submit a Pull Request.
Metadata
Release files for volresample 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| volresample-0.5.1.tar.gz | 245.9 kB | Details |
Built distributions (wheels)
Total release size: 11.0 MB
Release files / volresample-0.5.1.tar.gz
| Download URL | volresample-0.5.1.tar.gz |
|---|---|
| Size | 245.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c6e4960453f8d5a7cd33b723e6fdf1ae9498a06a2269e16a4b79247ca3b54f4
|
|
BLAKE2b-256 checksum How to use checksums |
a0116d6e53effb9fdb46696b5befd0c5d1255c4d24c959b0c329c73ade6d64cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp313-cp313-win_amd64.whl
| Download URL | volresample-0.5.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 91.6 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b68e08857d0b4afa47bfc2df5589c4ab3eda62935af9900b299c0ff3e080acb5
|
|
BLAKE2b-256 checksum How to use checksums |
14eee2cc7fceb83b724c48753c770474f80dca7d9307e28f0d2375ef33048e36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | volresample-0.5.1-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 713.3 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4736cd98ca75b40cf934689975a4399115cca039ba810ff30132351d9d986039
|
|
BLAKE2b-256 checksum How to use checksums |
9431ccd3092e81c1911b35aaf2f4f2f40bc9b5627a89cf74402d3e3b3d147405
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | volresample-0.5.1-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 663.6 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
9e14e7674f4ed9011923c5ffc1408c07a3313f125c0f920941e904f57f952229
|
|
BLAKE2b-256 checksum How to use checksums |
1d4f6ac00d8ff14fb1be9053a32d45190514bcc98743d6d64138034cc96a150d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp313-cp313-macosx_15_0_x86_64.whl
| Download URL | volresample-0.5.1-cp313-cp313-macosx_15_0_x86_64.whl |
|---|---|
| Size | 403.5 kB |
| Tags | CPython 3.13 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
f69bbfb691293647cf5302249eb1e3da34ef87d11ba2bbc54b6c7a54b65e2ccf
|
|
BLAKE2b-256 checksum How to use checksums |
834903fd9398481dd1f8ab5cb74873a2f833e6c7dc9540bf68f17d0d37dff57e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp313-cp313-macosx_15_0_arm64.whl
| Download URL | volresample-0.5.1-cp313-cp313-macosx_15_0_arm64.whl |
|---|---|
| Size | 356.8 kB |
| Tags | CPython 3.13 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6e0d4ee605c3cc201193c0ce0cb7fd0709ca59d7853c3f082cb397e88c8cd820
|
|
BLAKE2b-256 checksum How to use checksums |
0627c678c70af7e28e2a4068d6f01d2b89b4e9e52d9ed107cea80a900dce800c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp312-cp312-win_amd64.whl
| Download URL | volresample-0.5.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 92.2 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8abfe222d0619d434dceddda989f6bac8efc78a15a758bcaa4097ab4225ed61a
|
|
BLAKE2b-256 checksum How to use checksums |
cb038b32ef6c3648b93e52801b40368ff7320703b0be889ea1415fc00571728d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | volresample-0.5.1-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 723.5 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a538c0ab35857ff9c60c9b88c0d7b8fbbb51b197ca652db57cdbea6353ec3b16
|
|
BLAKE2b-256 checksum How to use checksums |
dcdf13d504a0f671540c958c97aff338425f51e30d834ad78bbdc49166a8041c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | volresample-0.5.1-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 672.0 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
e475241a7c3e18025b3074ce161dfd6c9ee02fe0b5fe2876c34ca05bcea04d0b
|
|
BLAKE2b-256 checksum How to use checksums |
072df757e4ab7024afdfa4c2deabebd17579d6a66ebf04ac33af7ed4ff00e45c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp312-cp312-macosx_15_0_x86_64.whl
| Download URL | volresample-0.5.1-cp312-cp312-macosx_15_0_x86_64.whl |
|---|---|
| Size | 400.2 kB |
| Tags | CPython 3.12 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
048b2cba4599b4955bc19cf923c76e7c2091a7cc5fc5307a7aae4053aa01bd8f
|
|
BLAKE2b-256 checksum How to use checksums |
20cffd65e22ca7c03456a529ce70b201bee180795178673843bf0d22483d6e6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | volresample-0.5.1-cp312-cp312-macosx_15_0_arm64.whl |
|---|---|
| Size | 353.9 kB |
| Tags | CPython 3.12 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
bdd0ad94bda3d98905e44d060fb03a9feb8fcf20f6612ba45339e0f5f2e641c7
|
|
BLAKE2b-256 checksum How to use checksums |
71bc18689c4fab623685e013c0bb593f6e3569784021052a215300bdfa9274c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp311-cp311-win_amd64.whl
| Download URL | volresample-0.5.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 95.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f0fb1b5652b551ca0640d7d1593b07716533eab85c00bf421ef40e3fd22dc3c0
|
|
BLAKE2b-256 checksum How to use checksums |
1cb89373b67c68e99bbf4e265d5f78f404635c4e9b1bcc45d29d2d1d4325b3b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | volresample-0.5.1-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 720.1 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
50793c7ab3880add542a1bc9ed2da3831a646c9ac143e23acf4f6306144eb76e
|
|
BLAKE2b-256 checksum How to use checksums |
00c1b365a1adf35c5e54fa1e85e9120b77c5310a1cc1e32e432ef79a22c10667
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | volresample-0.5.1-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 673.8 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6a9facd6aee226bf690ceb96069b9a08c76e27bd0ef404b4de2d30ddd536fefd
|
|
BLAKE2b-256 checksum How to use checksums |
744014b5ea798a959926e4df2cf04bce9cd00cfbe74248c4880f7fba42a42129
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp311-cp311-macosx_15_0_x86_64.whl
| Download URL | volresample-0.5.1-cp311-cp311-macosx_15_0_x86_64.whl |
|---|---|
| Size | 402.2 kB |
| Tags | CPython 3.11 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
24dac094efa7b338fbb98e8d7f917520044a8d708636504ca1de3d1b62b62e6b
|
|
BLAKE2b-256 checksum How to use checksums |
865beee728a8273b01a5ff5829186f23e1f323e835b62f75416a3132a8fe3800
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | volresample-0.5.1-cp311-cp311-macosx_15_0_arm64.whl |
|---|---|
| Size | 353.9 kB |
| Tags | CPython 3.11 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5da6f193b75f8171fff1d5a2927c0e2eda87642a193342454452e3b646bd15c6
|
|
BLAKE2b-256 checksum How to use checksums |
82073beaf469a2cd53fa6746d550572f409f85e26270aa762bad6acf43023ddb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp310-cp310-win_amd64.whl
| Download URL | volresample-0.5.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 96.4 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4f42c7db86234b31a5279cd054624886099b549d87b05990171188a6f55824d9
|
|
BLAKE2b-256 checksum How to use checksums |
3378dd6a739eed9fa9ff767ab14241d9bc768744d82064eb2020682298803d5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | volresample-0.5.1-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 701.2 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
df5e330eeb3aeb914b09cd54bd3f5ef21d495c296bfa20418e7dd7229e1657c1
|
|
BLAKE2b-256 checksum How to use checksums |
75c3f8e57c510cb30a0c5f349c33625320ff95da9d8f799b439cf8de7adbe32a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | volresample-0.5.1-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 656.3 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6b067219af93c2821c64d2af93f95165962bb7ceab8d89fd33281abf5e9e9e47
|
|
BLAKE2b-256 checksum How to use checksums |
8f3787b0d41dfed6885f05b27a3ba84ce924266b9966fc775d48dcdba08e6d83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp310-cp310-macosx_15_0_x86_64.whl
| Download URL | volresample-0.5.1-cp310-cp310-macosx_15_0_x86_64.whl |
|---|---|
| Size | 403.8 kB |
| Tags | CPython 3.10 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
d46e1021de3ca1dd93706171a604e952159bf95177e5cb2521aa1d6b54d59179
|
|
BLAKE2b-256 checksum How to use checksums |
f10e3c7291a85c290ca6c7018e69bb23080884ff660c2becc7aa8d54a6e26d0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp310-cp310-macosx_15_0_arm64.whl
| Download URL | volresample-0.5.1-cp310-cp310-macosx_15_0_arm64.whl |
|---|---|
| Size | 355.7 kB |
| Tags | CPython 3.10 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
bbb64fa2863e842e97392f533b51c364b26587f1c249540affcfc47d1d64fd7c
|
|
BLAKE2b-256 checksum How to use checksums |
b871985e24ac1c4d0a91d11579a8341e436d03d685882bcc254322bb1c276a7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp39-cp39-win_amd64.whl
| Download URL | volresample-0.5.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 96.5 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
074f9e5586ac2e0e4a69c963d35a24d3b2ce9d19ce311e20d174ed416a05d098
|
|
BLAKE2b-256 checksum How to use checksums |
3edf030db636cb46ef47f8dac84c7833df922a1e7d25ed112cee979f1e9abf41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp39-cp39-manylinux_2_28_x86_64.whl
| Download URL | volresample-0.5.1-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 699.5 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6af6a67e9c2a5dffe38113a97ec9130ded46e7440de9f1a9ee531cd93c08be72
|
|
BLAKE2b-256 checksum How to use checksums |
c6621cb146c8a62d74b499fab66119abe6f81e11e5c2fbf852f7649d9c118108
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp39-cp39-manylinux_2_28_aarch64.whl
| Download URL | volresample-0.5.1-cp39-cp39-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 654.7 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
14cd90b16a7c1da5c8fa0637f8f33c6044f445d581f78071b3e97d3de161ef98
|
|
BLAKE2b-256 checksum How to use checksums |
3d8985b6320c494a68c996fb3f862edccab7c7fc66f967efa1c724ec99dbc6bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / volresample-0.5.1-cp39-cp39-macosx_15_0_x86_64.whl
| Download URL | volresample-0.5.1-cp39-cp39-macosx_15_0_x86_64.whl |
|---|---|
| Size | 403.8 kB |
| Tags | CPython 3.9 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
796b36d91b83b8ed0ce3aa95ec198b587d9376a62961523273a1ff7d93e1ff66
|
|
BLAKE2b-256 checksum How to use checksums |
f6ec8362211797bfde940478ff0ec20140e9cf442ebd2daadd31f96d507fcae3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log