Skip to main content

volresample

License: MIT Python 3.9+

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.

Blogpost

Features

  • Cython-optimized with OpenMP parallelization
  • Simple API: resample() and grid_sample()
  • Interpolation modes: nearest, linear, area, and cubic
  • Supports 3D, 4D (multi-channel), and 5D (batched multi-channel) volumes
  • Supports align_corners=True for nearest, linear, and cubic resampling
  • Supports uint8, int16 (nearest) and float32 dtypes (all other modes) for both resample and grid_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). Matches scipy.ndimage.zoom(order=3, mode='reflect')
  • align_corners (bool): Supported for mode='nearest', mode='linear', and mode='cubic'
    • False (default): matches PyTorch align_corners=False for linear, and SciPy grid_mode=True for cubic
    • True: matches PyTorch align_corners=True for linear, SciPy grid_mode=False for cubic, and aligns corner voxels for nearest (not supported by PyTorch)
    • Passing align_corners=True with area raises ValueError

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 with mode='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
  • mode (str): 'nearest' or 'linear'
  • padding_mode (str): 'zeros', 'border', 'reflection', or 'constant'
  • fill_value (float): Fill value for out-of-bounds samples when padding_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 with mode='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_corners settings.
  • For int16 nearest, the PyTorch reference converts to float32 and back; volresample operates directly on int16.
  • 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)

Source distribution for volresample 0.5.1
File Size Uploaded
volresample-0.5.1.tar.gz 245.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for volresample 0.5.1
File
volresample-0.5.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
volresample-0.5.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
volresample-0.5.1-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
volresample-0.5.1-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
volresample-0.5.1-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
volresample-0.5.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
volresample-0.5.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
volresample-0.5.1-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
volresample-0.5.1-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
volresample-0.5.1-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
volresample-0.5.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
volresample-0.5.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
volresample-0.5.1-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
volresample-0.5.1-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
volresample-0.5.1-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
volresample-0.5.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
volresample-0.5.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
volresample-0.5.1-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
volresample-0.5.1-cp310-cp310-macosx_15_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 15.0+ x86-64 Details
volresample-0.5.1-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details
volresample-0.5.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
volresample-0.5.1-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
volresample-0.5.1-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details
volresample-0.5.1-cp39-cp39-macosx_15_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 15.0+ x86-64 Details

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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

0.6.0

25 release files

This release

0.5.1 This release

25 release files

0.5.0

25 release files

0.4.1

25 release files

0.4.0

25 release files

0.3.0

25 release files

0.1.0

25 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page