Skip to main content

A python library for neuroimaging transformations

Project description

warpkit

Build PyPI codecov

A Python library for neuroimaging transforms, focused on the Multi-Echo DIstortion Correction (MEDIC) algorithm. The paper is published in Imaging Neuroscience at https://doi.org/10.1162/IMAG.a.1262.

The phase-unwrapping core is a self-contained C++17 port of ROMEO.

Installation

From PyPI (recommended)

pip install warpkit

Pre-built wheels are published for Linux (x86_64 + aarch64) and macOS (universal2). If pip falls back to a source build and fails, please open an issue with the output of pip install warpkit -v.

Standalone binaries (no Python required)

Each GitHub release attaches a zip per arch (linux-x86_64, linux-aarch64, macos-arm64) containing all seven wk-* CLIs as standalone binaries — no Python install or system ITK needed. Extract, add to PATH, and run. See the bundled README.md inside the zip for install/PATH instructions and the macOS Gatekeeper note.

Docker

docker run -it --rm ghcr.io/vanandrew/warpkit:latest --help

The image's entrypoint is the wk-medic CLI.

From source

You need a C++17 compiler and CMake ≥ 3.24. Everything else (Python, build deps, ITK) is resolved by uv.

git clone https://github.com/vanandrew/warpkit.git
cd warpkit
uv sync --group dev --config-setting editable_mode=strict

editable_mode=strict is the recommended setuptools editable layout — it avoids the import-path pitfalls of the default editable install. Append -v to uv sync if a build fails and include the full log when reporting the issue.

What is MEDIC?

MEDIC takes ME-EPI phase data:

phase

and turns it into a per-frame field map:

field map

You can then use these field maps to distortion-correct your data.

Using MEDIC

warpkit is meant to be integrated into a larger neuroimaging pipeline. The Python entry point:

import nibabel as nib
from warpkit.distortion import medic
from warpkit.utilities import displacement_map_to_field

# each list entry is a different echo
phases = [nib.load(p) for p in phases_paths]
magnitudes = [nib.load(p) for p in magnitude_paths]
TEs = [TE1, TE2, ...]                     # milliseconds
total_readout_time = ...                  # seconds
phase_encoding_direction = ...            # one of i, j, k, i-, j-, k-, x, y, z, x-, y-, z-

field_maps_native, displacement_maps, field_maps = medic(
    phases, magnitudes, TEs, total_readout_time, phase_encoding_direction
)

Returns are nibabel.Nifti1Image objects:

  • field_maps_native — field maps in distorted space (Hz). Mostly useful for debugging.
  • displacement_maps — displacement in undistorted space (mm). Convert with displacement_map_to_field before applying.
  • field_maps — field maps in undistorted space (Hz). Equivalent to topup/fugue output, but framewise.

To convert a displacement map to a per-frame warp field for your tool of choice:

displacement_maps.to_filename("/path/to/save.nii.gz")

displacement_field = displacement_map_to_field(
    displacement_maps, axis="y", format="itk", frame=0
)

format selects the output convention. Apply with the matching tool:

format Apply with Notes
itk warpkit.utilities.resample_image warpkit's internal format.
ants antsApplyTransforms ANTs uses ITK underneath, but its warp convention differs from ours.
afni 3dNwarpApply
fsl applywarp If you'd rather use fugue, feed it field_maps instead.

CLI

All warpkit CLIs are installed on PATH with a wk- prefix to avoid colliding with same-named tools from FSL/ANTs/AFNI/etc.:

Command Purpose
wk-medic End-to-end MEDIC pipeline: phase + magnitude → field maps + displacement maps.
wk-unwrap-phase Stage 1: ROMEO multi-echo phase unwrapping → unwrapped phase + per-frame masks.
wk-compute-fieldmap Stage 2: take stage-1 outputs → native + displacement + undistorted-space field maps.
wk-apply-warp Resample an image through a displacement map / field (single or per-frame series).
wk-convert-warp Convert between maps ↔ fields and between ITK / FSL / ANTs / AFNI; --invert warps.
wk-convert-fieldmap Convert between mm displacement maps/fields and Hz B0 field maps.
wk-compute-jacobian Per-voxel Jacobian determinant (1 = no change, <1 = compression, >1 = expansion).

wk-medic runs the full pipeline; wk-unwrap-phase + wk-compute-fieldmap run the same thing in two stages so you can inspect/reuse the unwrapped phase. Acquisition parameters can come either from BIDS sidecars or from the command line — pick one.

From BIDS sidecars:

wk-medic \
  --magnitude mag_e1.nii.gz mag_e2.nii.gz mag_e3.nii.gz \
  --phase phase_e1.nii.gz phase_e2.nii.gz phase_e3.nii.gz \
  --metadata mag_e1.json mag_e2.json mag_e3.json \
  --out-prefix sub-01_run-01

EchoTime is read per file (seconds → converted to ms internally); TotalReadoutTime and PhaseEncodingDirection are taken from the first sidecar.

Or by passing acquisition parameters directly:

wk-medic \
  --magnitude mag_e1.nii.gz mag_e2.nii.gz mag_e3.nii.gz \
  --phase phase_e1.nii.gz phase_e2.nii.gz phase_e3.nii.gz \
  --TEs 14.2 38.93 63.66 \
  --total-readout-time 0.0501 \
  --phase-encoding-direction j- \
  --out-prefix sub-01_run-01

--TEs is in milliseconds, --total-readout-time in seconds, and --phase-encoding-direction is one of i, j, k, i-, j-, k-, x, y, z, x-, y-, z-.

Run any wk-* CLI with --help for the full option list.

Common follow-on workflows

Apply a MEDIC displacement-map series to the BOLD it was derived from (per-frame distortion correction):

wk-apply-warp \
  --input bold.nii.gz \
  --transform sub-01_run-01_displacementmaps.nii \
  --phase-encoding-axis j \
  --output bold_corrected.nii.gz

Convert MEDIC's per-frame displacement maps into per-frame ANTs-format displacement fields:

wk-convert-warp \
  --input sub-01_run-01_displacementmaps.nii \
  --to field --axis j --to-format ants \
  --output field_{0..14}.nii.gz

Compute the per-frame Jacobian determinant (volume-change map) of those displacement maps:

wk-compute-jacobian \
  --input sub-01_run-01_displacementmaps.nii \
  --axis j \
  --output sub-01_run-01_jacobian.nii

Convert MEDIC's mm displacement maps to a Hz B0 field map (or back — this CLI handles either direction, with maps or fields on the mm side):

wk-convert-fieldmap \
  --input sub-01_run-01_displacementmaps.nii \
  --to fieldmap \
  --total-readout-time 0.0501 \
  --phase-encoding-direction j- \
  --output sub-01_run-01_fieldmap.nii

Citation

If you use warpkit, please cite:

Van AN, Montez DF, Laumann TO, Cho PN, Suljic V, Madison T, et al. Frame-wise multi-echo distortion correction for superior functional MRI. Imaging Neuroscience 2026; 4 IMAG.a.1262. doi: https://doi.org/10.1162/IMAG.a.1262

Authors

Vahdeta Suljic <suljic@wustl.edu>, Andrew Van <vanandrew77@gmail.com>

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

warpkit-1.3.0.tar.gz (39.4 MB view details)

Uploaded Source

Built Distributions

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

warpkit-1.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (762.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

warpkit-1.3.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (704.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

warpkit-1.3.0-cp314-cp314t-macosx_10_15_universal2.whl (1.2 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ universal2 (ARM64, x86-64)

warpkit-1.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (757.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

warpkit-1.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (699.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

warpkit-1.3.0-cp314-cp314-macosx_10_15_universal2.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

warpkit-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (757.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

warpkit-1.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (699.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

warpkit-1.3.0-cp313-cp313-macosx_10_13_universal2.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

warpkit-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (757.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

warpkit-1.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (699.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

warpkit-1.3.0-cp312-cp312-macosx_10_13_universal2.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

warpkit-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (756.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

warpkit-1.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (698.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

warpkit-1.3.0-cp311-cp311-macosx_10_9_universal2.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file warpkit-1.3.0.tar.gz.

File metadata

  • Download URL: warpkit-1.3.0.tar.gz
  • Upload date:
  • Size: 39.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for warpkit-1.3.0.tar.gz
Algorithm Hash digest
SHA256 c50dad01760bf36aa7f28a5641c049f37c1b718a24175f3ab4d5c122cf95f4b6
MD5 a7fae78864b9490f7b4c6f88a8512dc4
BLAKE2b-256 ca7e97826328e236517289afbf9ba3d241a1028d752a15e10b9fe0a60ff03b41

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0.tar.gz:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5deaa9b3c99a016472ce8c73402a3bbcab96e39481a1d33be9ed9a58899308cb
MD5 670b132ed99702735f19ae16240187a0
BLAKE2b-256 5b9a5fc770d01deac95bf2518c16ad669c15b2ca70f447641c2793343a74dc88

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9f1507336c593371d138615448fced82373cd7c3e92b90eb8742218b1c1ec7c4
MD5 42a1d70b28ad4dc05d87a3b6f267dd38
BLAKE2b-256 5e701941dba89918bda9091290957ff98fffac005c4f0b834c29d6b44dc55ec6

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp314-cp314t-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp314-cp314t-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d29b60418d7b8b8e84dcbffab076d80c32cdf1090e24b274818be3b387f3a042
MD5 7d69952c549fb9dd99bc69298951eb79
BLAKE2b-256 5283b8b23a32d4ad8822d0dc1358773adb08c3f63b45f8b9672930bbee76bd34

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp314-cp314t-macosx_10_15_universal2.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73c1c5fafd9a1a8c118d3b4fee54ccbcdd6ce1f64e3157df3d81e1695e3fd3f7
MD5 4d742a2e6f32a112ec0c0679a67564c7
BLAKE2b-256 0bc4ddc59075115cdeba0f3e4c038fd2cfae5a63f31baba5f8f0782dc92f4c3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 18fd9b816d5f469a3c97bd66cce28b1298628ac7d900b180a873f9d8b9c4821c
MD5 a9b100a3d60a33afd493ce30afdf89f4
BLAKE2b-256 f26a9c1529538f58bfb5b9ae8476a887380fc2245a55609e2c4634d9edcbacc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 222ce3fb0f6980a563a6260400a2f6c88336636628125b82b9d12dbb116f7ad1
MD5 f5c60ff22223e28b13f8bb7db7cf7333
BLAKE2b-256 54ef8e76589f4d70bb457ab8e6bafc99c2d8936605ee7ea63718684ddc355944

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4bae1b66c1260e0c0d3b5071cf951eaa02ecf1329275fc979763c0db84c39514
MD5 0236ac56077ddf4c386a3a0d6569ded3
BLAKE2b-256 d4a06ead5d652ee17d1a1ce544319ed823b37da850c2e689ea372877655f9dca

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ed5635ea71fd5c986a4b321a82304ccef33247e9ce4b9221f9ab615385e9380f
MD5 93b63f313ea4eb8878dfca25482901e3
BLAKE2b-256 3ae90acf72d32d63c19856ca996d1cd7643d8ae654f7eb07943553fdfe33d2b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f331a2818f5cc3fe574f53b263bec994e264c4b005db52739b200b5f71972a4b
MD5 602d1ea728f802a554e7228283ed461e
BLAKE2b-256 ab22ed8ead85465ca2ccaca3a31e1c1f5ae509aca95914409ef88de2714518a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bdf7c6b542140dc90009ca3d833dfe9e77c7387ada2522c3f7db5c4340b17d61
MD5 561876dc42c2475dfd7566fe2224fff0
BLAKE2b-256 38138c33a56a73e6ec0f9b478567490f3e33373da4282eba72188f2d2609774a

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dfc79a24ce8a259886bddac09596546c856d0e026c8051037e1f8c3a7c01cd7a
MD5 1de8837bbb2129aea19adaed069c5dbc
BLAKE2b-256 03dad46dc17636e8f80e24a09e0f5a1732760efee01ceb2a4616efd941ed6efe

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 017cd47a4cd1fd27236d087fa94e30e8b356e7e96f40ecacde3a24f73475cd34
MD5 4e50ae9fb2c57335d7d181c5fb3f18b6
BLAKE2b-256 507b9d063f4b531f4fc392f2b95d55438af0ba29f76c7cc50d54c215bfeec25c

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87c2a742e9ddce2ba3b2649bccf71b649f67a3639aef18b7405c46178dd90bd0
MD5 96bce552d18052eaf2684fd6c78f891a
BLAKE2b-256 58a6624b913718e32687fbad5f942e1d8aeab7cb3171a8ee01b946b061e07916

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 307ad985ced8f11cd5dcf2923f9f81aeedae102a0dae4337e2205b74281e79a0
MD5 181e467896cfe3c8133e78344f6ffd4c
BLAKE2b-256 ba59123882dee3dd594e0a8e77a2a9226f07667b5c137132f23d28fbb12b94a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on vanandrew/warpkit

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

File details

Details for the file warpkit-1.3.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for warpkit-1.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ddf2f7abfe583e22fe90a11b81fbec5bc6d737b305347af639cc599873171f87
MD5 329258e2ac9c310fea8a0b522caf7dfa
BLAKE2b-256 2aa44e88403edbaeadd7e539a6048778064557f2bcc58f378932516376151175

See more details on using hashes here.

Provenance

The following attestation bundles were made for warpkit-1.3.0-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: build.yml on vanandrew/warpkit

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