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.1.tar.gz (240.7 kB view details)

Uploaded Source

Built Distribution

repairwheel-0.2.1-py3-none-any.whl (121.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for repairwheel-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6a316a411724d8cdcb41fc1a3242f26a4e39e82570e4eb1c55d947fbd852db66
MD5 7368ffcfcd9a0811ca922cbd8a58cf5f
BLAKE2b-256 b7dadeb1c5ead621802d8fc206513023aeb01c31d1836e9bf9a9b9304d180b1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for repairwheel-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 02c8c3931c1f55205a18a51634c470bd102e379d4b048ccaee6988b0441bd7e4
MD5 6de21605143e058c6ed716a6b06d3056
BLAKE2b-256 85adf30effe7ea1e2083b164386a11c3f3cddf6769dc2ff48966dc14028d258b

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