Skip to main content

repairwheel

CI - Test PyPI - Version

Overview

  • repairwheel combines the "repair" steps from auditwheel, delocate, and delvewheel into a single tool, enabling cross-platform wheel repair.
  • It includes pure-python replacements for external tools like patchelf, otool, install_name_tool, and codesign, so no non-python dependencies are required.

What's it do?

  1. When invoked, repairwheel first looks at the platform tag on the input wheel.
  2. Based on the tag, repairwheel selects a repair step from auditwheel, delocate, or delvewheel (or nothing, if it's a pure-Python wheel)
  3. Finally, repairwheel rewrites the result in a canonical form ensuring that:
    1. File timestamps are set to a constant value;
    2. Files in the archive are ordered lexicographically; and
    3. Files in RECORD are ordered lexicographically

The final result should be bitwise-identitcal regardless of the system used to perform the repair.

Usage

usage: repairwheel [-h] -o OUTPUT_DIR [-l LIB_DIR] [-e EXCLUDE]
                   [--no-sys-paths] [-V]
                   wheels [wheels ...]

positional arguments:
  wheels                wheel file(s) to repair, supports glob patterns)

options:
  -h, --help            show this help message and exit
  -o, --output-dir OUTPUT_DIR
  -l, --lib-dir LIB_DIR
  -e, --exclude EXCLUDE
                        library name or glob pattern to exclude from wheel
                        repair; may be repeated
  --no-sys-paths        do not search libraries in system paths
  -V, --version         show program's version number and exit

Example

$ repairwheel \
  tests/testwheel/cp36-abi3-macosx_10_11_arm64/testwheel-0.0.1-cp36-abi3-macosx_10_11_arm64.whl \
  -l tests/testwheel/cp36-abi3-macosx_10_11_arm64/lib \
  -o /tmp/wheelout

$ repairwheel \
  tests/testwheel/cp36-abi3-linux_x86_64/testwheel-0.0.1-cp36-abi3-linux_x86_64.whl \
  -l tests/testwheel/cp36-abi3-linux_x86_64/lib \
  -o /tmp/wheelout

$ ls /tmp/wheelout
testwheel-0.0.1-cp36-abi3-macosx_10_11_arm64.whl
testwheel-0.0.1-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl

Metadata

Release files for repairwheel 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repairwheel 0.8.0
File Size Uploaded
repairwheel-0.8.0.tar.gz 295.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for repairwheel 0.8.0
File Interpreter ABI Platform
repairwheel-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 445.4 kB

Release files / repairwheel-0.8.0.tar.gz

Download URL repairwheel-0.8.0.tar.gz
Size 295.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5ce9bd64d00eabca81ab9ae570a0e10bbd09816c74c1a07ecb3c556c2ede85ea
BLAKE2b-256 checksum
How to use checksums
05dd9bd3439513c10a62ee9d29034b2f396165b62bbc12dc97ba5b64f883978b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1022-azure"}} HTTPX2/2.13.1

Release files / repairwheel-0.8.0-py3-none-any.whl

Download URL repairwheel-0.8.0-py3-none-any.whl
Size 149.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dbb702b334a83b112a21f9dad1b0e7c011643b6deaf2269e2d808c9dcd36932b
BLAKE2b-256 checksum
How to use checksums
76d583b88f57df37181d79d7e7e137c62fe4b725d3706664151d933805a1ecb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.3"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1022-azure"}} HTTPX2/2.13.1

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 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