Skip to main content

Repair any wheel, anywhere

Project description

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] wheel

positional arguments:
  wheel

options:
  -h, --help            show this help message and exit
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
  -l LIB_DIR, --lib-dir LIB_DIR

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

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

repairwheel-0.2.4.tar.gz (241.1 kB view details)

Uploaded Source

Built Distribution

repairwheel-0.2.4-py3-none-any.whl (122.0 kB view details)

Uploaded Python 3

File details

Details for the file repairwheel-0.2.4.tar.gz.

File metadata

  • Download URL: repairwheel-0.2.4.tar.gz
  • Upload date:
  • Size: 241.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.0

File hashes

Hashes for repairwheel-0.2.4.tar.gz
Algorithm Hash digest
SHA256 343f61d9e74c173d40cd397bf3ffc1d6c49bf0b5b932045b28cabe4cbc4b5d60
MD5 a1a7a728819eaad511c8c94b9b0ccc6c
BLAKE2b-256 ff001886eb5bff4d119ec84854ecea5986e27d0392e9839297d5e07dab9bd3ee

See more details on using hashes here.

File details

Details for the file repairwheel-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for repairwheel-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 394cdd582da0a5421015632e8bd579f5d753d41c3b696a0a68c1e6a9ff34bb4f
MD5 a1c96a09e3a2a8b5102a61389ad0bdf7
BLAKE2b-256 62f66f0c1ff2c826244cfd49a7abbb790100e5e317d42d6ba8812c443e0e18af

See more details on using hashes here.

Supported by

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