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

Uploaded Source

Built Distribution

repairwheel-0.3.1-py3-none-any.whl (115.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for repairwheel-0.3.1.tar.gz
Algorithm Hash digest
SHA256 38d7149f628971d32df6c40fc4f36ceb1be8e887a8136f269421a94b986e79ae
MD5 67ba59fabba15360935f9690052e3cca
BLAKE2b-256 ec6c2cf3a3c35c07109c7cded00a2ca0668dc09b83c8aa8df264db66a3228baf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for repairwheel-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d42b00b4ce9a2a398771ddd9a554cf58390e2a982d2b1376384970b2651f3688
MD5 1da2b6f75230014f54a46e7d83bbd939
BLAKE2b-256 9ac4a22f2a9807661d4f9375a46738695c6f2441821b78c09d3943c93875267a

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