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

Uploaded Source

Built Distribution

repairwheel-0.2.2-py3-none-any.whl (121.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: repairwheel-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 29f4a54e68b6bb70a2826c651e8195ca1f06085dd19e2abfb769521d2c078598
MD5 42fad216b7d41f472b4bb885d8afb231
BLAKE2b-256 94ae9a6b6b02d2be1703f77b171bcb82ad11f45398b140c3e8a242a624a075c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for repairwheel-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e30ea0ad0bf9d9a6f114fb9ec8f03d9edd58acedb5d31fcdfb409c9c332f9051
MD5 40c22f0c6a166b42e2de779b7e39c4d7
BLAKE2b-256 e81abcad28ed8776dc56c6bc66bb7db0f96491a7a9b630a47fa021a74a66cd86

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