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.2.tar.gz
(294.6 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.2-py3-none-any.whl
(161.1 kB
view details)
File details
Details for the file repairwheel-0.6.2.tar.gz.
File metadata
- Download URL: repairwheel-0.6.2.tar.gz
- Upload date:
- Size: 294.6 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 |
f45873e795e79dc5a2304fda25cf18209734a63c8d431dc6446f87e7e5495c43
|
|
| MD5 |
b9616381fc01b25888b0e40a53f22c0d
|
|
| BLAKE2b-256 |
d27481f836d2008127c7e946de8a2327f8c0743c971f295916c54e2805a364d7
|
File details
Details for the file repairwheel-0.6.2-py3-none-any.whl.
File metadata
- Download URL: repairwheel-0.6.2-py3-none-any.whl
- Upload date:
- Size: 161.1 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 |
d0f4e67dc1428a26dceddb3def3bdf66f7deb3e17a87e34e44bb8d9191984b61
|
|
| MD5 |
10dd74ca35c68698d8c39d679362f006
|
|
| BLAKE2b-256 |
3bc70e9a023f91d54d7d65ccd23681b7f215ee2ca41e77cfcbd1efacd1199158
|