Repair any wheel, anywhere
Project description
repairwheel
Overview
repairwheelcombines the "repair" steps fromauditwheel,delocate, anddelvewheelinto a single tool, enabling cross-platform wheel repair.- It includes pure-python replacements for external tools like
patchelf,otool,install_name_tool, andcodesign, so no non-python dependencies are required.
What's it do?
- When invoked,
repairwheelfirst looks at the platform tag on the input wheel. - Based on the tag,
repairwheelselects a repair step fromauditwheel,delocate, ordelvewheel(or nothing, if it's a pure-Python wheel) - Finally,
repairwheelrewrites the result in a canonical form ensuring that:- File timestamps are set to a constant value;
- Files in the archive are ordered lexicographically; and
- Files in
RECORDare 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
Release history Release notifications | RSS feed
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.6.1.tar.gz
(294.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
repairwheel-0.6.1-py3-none-any.whl
(161.0 kB
view details)
File details
Details for the file repairwheel-0.6.1.tar.gz.
File metadata
- Download URL: repairwheel-0.6.1.tar.gz
- Upload date:
- Size: 294.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.17.0 {"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.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29bf44dbfe7b2f908e9122de0ddb6fbeeab4063c8895e62b8288fd59f251d500
|
|
| MD5 |
4d2a258f564a761f216e0b65f25b1442
|
|
| BLAKE2b-256 |
fa625f2f0b97c94807f4567549e5e86e57c96efcf3a1cc6c3dbe2cd7ab120792
|
File details
Details for the file repairwheel-0.6.1-py3-none-any.whl.
File metadata
- Download URL: repairwheel-0.6.1-py3-none-any.whl
- Upload date:
- Size: 161.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Hatch/1.17.0 {"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.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4752fd8e24a0f332b3b42c43bf5373971517588bbf4130d8483e84c227d09016
|
|
| MD5 |
fd6ddffdb7ebb0b961713932f0efc7df
|
|
| BLAKE2b-256 |
08f1dca3c12dd51be728930835b19012370e958f4c62ef363a6f338185684668
|