Skip to main content

Fast 3D volume resampling with optimized Cython

Project description

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 linear and cubic resampling
  • Supports uint8, int16 (nearest) and float32 dtypes (all other modes)

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 linear and cubic modes, align_corners=True preserves the corner voxels.
aligned = volresample.resample(volume, (192, 192, 192), mode='linear', 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): Only supported for 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, and SciPy grid_mode=False for cubic
    • Passing align_corners=True with nearest or area raises ValueError

PyTorch correspondence:

volresample PyTorch F.interpolate
mode='nearest' mode='nearest-exact'
mode='linear', align_corners=False mode='trilinear', align_corners=False
mode='linear', align_corners=True mode='trilinear', align_corners=True
mode='area' mode='area'

align_corners is intentionally limited to the modes where the reference APIs support it: linear and cubic.

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')

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', or 'reflection'

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)

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

Benchmarks below were produced by the default curated benchmark profile on an Intel i7-8565U using 4 CPU threads:

python tests/benchmark.py --threads 4

The default profile runs for about 30-60 seconds using adaptive repeat counts.

volresample vs PyTorch

Case Shape PyTorch volresample Speedup Max error
nearest 128x128x128 -> 64x64x64 0.98 ms 0.41 ms 2.36× 0
nearest (uint8) 128x128x128 -> 64x64x64 0.83 ms 0.27 ms 3.07× 0
nearest (int16) 128x128x128 -> 64x64x64 4.20 ms 0.40 ms 10.54× 0
linear 128x128x128 -> 64x64x64 3.45 ms 2.33 ms 1.48× 0
linear, align_corners=True 96x96x96 -> 144x144x144 23.75 ms 10.46 ms 2.27× 4.50e-05
area 160x160x160 -> 80x80x80 40.12 ms 7.20 ms 5.57× 0
4D linear 4x96x96x96 -> 64x64x64 12.01 ms 7.50 ms 1.60× 0
5D linear 2x4x80x80x80 -> 48x48x48 9.76 ms 8.49 ms 1.15× 0

volresample vs SciPy

Case Shape SciPy volresample Speedup Max error
cubic, align_corners=False 128x128x128 -> 64x64x64 266.29 ms 63.68 ms 4.18× 8.34e-07
cubic, align_corners=True 96x128x80 -> 64x160x48 403.68 ms 46.23 ms 8.73× 1.43e-06

volresample vs PyTorch (grid_sample)

Case Shape PyTorch volresample Speedup Max error
linear, zeros 1x2x96x96x96 -> 80x80x80 129.57 ms 41.63 ms 3.11× 4.40e-05
nearest, zeros 1x2x96x96x96 -> 80x80x80 14.23 ms 4.47 ms 3.18× 0
linear, reflection 1x2x80x96x64 -> 72x88x56 91.12 ms 19.75 ms 4.61× 5.42e-05

Average speedup across the default benchmark suite: 3.99×.

Notes:

  • Cubic mode is validated against SciPy rather than PyTorch. The align_corners flag selects between SciPy's grid_mode=True and grid_mode=False, and both paths are benchmarked above.
  • int16 nearest shows the largest speedup because PyTorch must round-trip through float32, while volresample operates directly on int16.
  • Area mode remains one of the strongest CPU wins because the implementation parallelizes efficiently over spatial work.
  • 4D and 5D coverage is included in the benchmark suite so multi-channel and batched paths are represented, even when the raw speedups are smaller than the single-volume cases.
  • These are machine-specific measurements. CPU architecture, memory bandwidth, thermal throttling, and installed library versions can shift the absolute numbers substantially.

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, roughly 30-60 seconds
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

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.

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

volresample-0.2.0.tar.gz (189.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

volresample-0.2.0-cp313-cp313-win_amd64.whl (77.5 kB view details)

Uploaded CPython 3.13Windows x86-64

volresample-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl (568.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

volresample-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl (533.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

volresample-0.2.0-cp313-cp313-macosx_15_0_x86_64.whl (373.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

volresample-0.2.0-cp313-cp313-macosx_15_0_arm64.whl (330.5 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

volresample-0.2.0-cp312-cp312-win_amd64.whl (77.7 kB view details)

Uploaded CPython 3.12Windows x86-64

volresample-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (569.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

volresample-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl (541.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

volresample-0.2.0-cp312-cp312-macosx_15_0_x86_64.whl (370.9 kB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

volresample-0.2.0-cp312-cp312-macosx_15_0_arm64.whl (328.7 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

volresample-0.2.0-cp311-cp311-win_amd64.whl (80.2 kB view details)

Uploaded CPython 3.11Windows x86-64

volresample-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (577.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

volresample-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl (543.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

volresample-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl (373.6 kB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

volresample-0.2.0-cp311-cp311-macosx_15_0_arm64.whl (329.6 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

volresample-0.2.0-cp310-cp310-win_amd64.whl (80.1 kB view details)

Uploaded CPython 3.10Windows x86-64

volresample-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (549.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

volresample-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl (520.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

volresample-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl (374.4 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

volresample-0.2.0-cp310-cp310-macosx_15_0_arm64.whl (330.5 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

volresample-0.2.0-cp39-cp39-win_amd64.whl (80.2 kB view details)

Uploaded CPython 3.9Windows x86-64

volresample-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl (548.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

volresample-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl (519.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

volresample-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl (374.5 kB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

File details

Details for the file volresample-0.2.0.tar.gz.

File metadata

  • Download URL: volresample-0.2.0.tar.gz
  • Upload date:
  • Size: 189.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for volresample-0.2.0.tar.gz
Algorithm Hash digest
SHA256 20933521fa356442125fba2d9605f25f5e5b6a915a564e64df8ba77d811de4d4
MD5 cff313cc40152e74fdbacd0eba139570
BLAKE2b-256 0cce58c793be0ec9bff18226c239454767eca18ec64c3335f868266ae1b3925b

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0.tar.gz:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6684c89c035548829759946fb608c3286102940a936201763afe920146e768b3
MD5 94551c7cb5effde03478939d129a0d18
BLAKE2b-256 007c779c2fc3237c4057149597b4caa3b13a0c6376fc896f29965894f896f12a

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50b94563035303f5ceda0080585ffb54b7258f8a3ab8227aeb6c4be0d95d4477
MD5 de737e51747df1bbfa5fe1680b4aede2
BLAKE2b-256 7dcc91b2f8148fd5c19e9ff9c51811a453542719df5497b6bb0906862274ec9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cab715e1904ac51c8e0f01f27349113c7c73f0cb9076c38fcc2b3385919302d8
MD5 fb99b6f7995f04956847447190f4c5dd
BLAKE2b-256 76f798f19b649d7ce409919c990ab3a2689c48928451d05398cae2f86d802e66

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 bfff78d48cb6593d9e218513997a424d63941d9d2f39f6f224f3dfb867f303d7
MD5 6c6755c0d00ad35d21898d128894edc2
BLAKE2b-256 bce72a15a76c615cc3b734b0ccf41177c9b4c6d288a76f97b7f3771dc716658f

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp313-cp313-macosx_15_0_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ba3ac42f8e9f45fc56a1415c5d69698adcb6fb4316f4742137e9e54d84999348
MD5 fac53220441a5ee7c3809fd015a01cfb
BLAKE2b-256 f794bb3ae398d983492ae1cfa55c4c89d2a92e7b0224f33e717d8af1874e0f1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 35c1fdc26df8cd7318a0491e39e811a8e48fa7f01fe9667a1718812e72f97037
MD5 ede8beefdb962c80539d42f59844bc2f
BLAKE2b-256 0b7df6f3dc77e51f9c0f339ad8572b913bb83fa15595f2b232f6a3fa54041030

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 399f24f4038bda080e4779a853010e9c9994eaabc40c5726fe5943822e1b236f
MD5 1e21be0fc04ea74f47b1617d87b45da4
BLAKE2b-256 5a822bdd803fab127832b176c2c4f728aa742b174ed51665cc4815a45b625602

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e9d23f98af601f80f07e6779e82bf97ce73f9dffe5baf94eff394583c37d7bbb
MD5 5ba1cb8b6a9993a129f0354ea3a4940b
BLAKE2b-256 33c4eb0f66521173ee6bd02739f6e3bee064507fe9d3655b23a52970f70cec1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 3bc8372254d007139a3be32be5c78f25b43ce58d66d8aeb000f9181c7e8aed1a
MD5 13c2593f421868faf3c3d3f9b1037350
BLAKE2b-256 3b172788fc6a2439693f3e118c4934c626b3bfd960f68cb6f738d51c197de682

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp312-cp312-macosx_15_0_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 26fb9701b9dad8bdd64a5261e14a753df057c6461703f160cdb19bc82ef1f565
MD5 bb5f18195f29305e65f94e53e1294e26
BLAKE2b-256 3fad7e7bd3679c4edaa210cc942a1c600a7bcd71ecdba0206273cfe6fb31d218

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 155d0c0d406c5b393108d762efaa2b82e40f758070aff36019e6010b84a57b5c
MD5 6da8627ff80d02b2ac66c56f69e32b30
BLAKE2b-256 234c588cb048c2a4b18d7ca43f554c322dad8c50a57bdc09d4b20b0adbddd2f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23b03f8cfcad3f05ba6fc712e10f8f31f0aa1684c29ee590a475117ec5181e06
MD5 b224213e91b6cc5bc9fc6d147707c2b3
BLAKE2b-256 c42812accd842e262616af393029cb43c76cc7218e9c5f72d3647b62d82bb445

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9cd73a55f4e61a0b51b202cc358eb19393aa91e8988bd98befe9fb5e4c751283
MD5 35f1d0cb7fdcfafb5e3b5ac28b9a274f
BLAKE2b-256 3cf269a2fabd8c9897c34b5d5a4f86c356c651b9d2e033823997814b2c322880

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 9d98eed3ff76b6072d4ad9b811e1257b552f0cab2b073db94c75fbc4bec208eb
MD5 9ff133bd1835fd43d13c0c1da6fdfeca
BLAKE2b-256 6b3179106d1b1b99fa32570803a307e206a1c638601176b86076801b46236e51

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e5049545b3507618c99c6a352d515d31ecca0b21d8f88a85d3de451e10374b53
MD5 4144bdc6fa022d2b50f05a0fd9e9e003
BLAKE2b-256 88d2855a848030a7aab8fb29e28a35454195d6d664a4d5503925a56d4f6b71ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9d4e3dedf2212447f1c15995d29f5a5d2dfbf1bef90ef70e511d22dbb0a04370
MD5 d1d018e4be0a13f2950b28089e633090
BLAKE2b-256 36559af6894d804d92276b2276fc179749b6946857480098e58ab6716ac62700

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3eea6812c55de1701565b365c59482ca3ebde87ebf7403595c9b5f4b60656ac
MD5 0fdb4e395d16e95206ff4345cfd4936b
BLAKE2b-256 eef040d4fdcc5ea3e839f225e9ca193965934aea49742162063b6ffa92170aee

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f8f152ca913a7b7fe9dea02cda04a65618b4a7522a6663d7babe4f4af7d47320
MD5 455ec091ed10668f2fd3606472b33148
BLAKE2b-256 4948eeb5c12f909df4a365c4b2d9b8c0e02eef94c5ca834d093f9731331ed28d

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 68b9fd3aebe2058ede0ee926b47fd5ae42dbde5e1c68993c3fffb9650b4867e1
MD5 9bfa5ec06a4c3d89ecb2c1a6bae8bc23
BLAKE2b-256 8b387ced7e8e330cd9e61cfb0e4974812ba78fcd95303fc501d3a42b989ceef1

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 58b953bec8ba67a33e01b9995c0d1cdeb614a5fd18eb3c23c5bc01930f16fbd5
MD5 4c0bd1671956fc601f7e145efaa4dc17
BLAKE2b-256 508e96cbcc6d0388551b6b999b2817b912e43802c400fd31e2f2621b6da5d3da

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: volresample-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 80.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for volresample-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ea5b581df2eb2e36d66f7e8685e87357527661df2a700b2abea2107965b36474
MD5 c93a473ba5859d2e17c092a65ebfc13c
BLAKE2b-256 474b92dccf48f29eb694c763b7ffb1e058b2339e1dfdfbc9dcd5808c99729ac5

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp39-cp39-win_amd64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba6d1fa660ecb7e8e1e535f14e6d13f54e93d00da0bea912c3faad834b819504
MD5 4cb19b2912374081ac7f728521cf44ee
BLAKE2b-256 c954b83c769486c498034cef25ff8e523cfdb9fa5bad0eb6d540c70e5ad1a0f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5e85a2f0cf484e998edececfa8508fa626621c7c160cc2125b97005001a4e849
MD5 e16f18a6811535424e8e2d066c909675
BLAKE2b-256 9b0898551934119ad5cc19ce2f1ec0177c9285f4bd0630e22b880932343dd6d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file volresample-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for volresample-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 23d2ebea05ddd05111bdfe9c340a4c70db0a26366614d297e5fa8054c1cbc9e4
MD5 5a65cf445c575964e1ce2c4acaefc023
BLAKE2b-256 7f7b089349eb01912ad3b385b0441d96684b436fa302fc832f550d475c565aa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for volresample-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl:

Publisher: build_wheels.yml on JoHof/volresample

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page