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] [-e EXCLUDE]
[--no-sys-paths] [-V]
wheels [wheels ...]
positional arguments:
wheels wheel file(s) to repair, supports glob patterns)
options:
-h, --help show this help message and exit
-o, --output-dir OUTPUT_DIR
-l, --lib-dir LIB_DIR
-e, --exclude EXCLUDE
library name or glob pattern to exclude from wheel
repair; may be repeated
--no-sys-paths do not search libraries in system paths
-V, --version show program's version number and exit
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
Metadata
Release files for repairwheel 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| repairwheel-0.8.0.tar.gz | 295.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| repairwheel-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 445.4 kB
Release files / repairwheel-0.8.0.tar.gz
| Download URL | repairwheel-0.8.0.tar.gz |
|---|---|
| Size | 295.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ce9bd64d00eabca81ab9ae570a0e10bbd09816c74c1a07ecb3c556c2ede85ea
|
|
BLAKE2b-256 checksum How to use checksums |
05dd9bd3439513c10a62ee9d29034b2f396165b62bbc12dc97ba5b64f883978b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"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.18.1"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1022-azure"}} HTTPX2/2.13.1
|
Release files / repairwheel-0.8.0-py3-none-any.whl
| Download URL | repairwheel-0.8.0-py3-none-any.whl |
|---|---|
| Size | 149.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dbb702b334a83b112a21f9dad1b0e7c011643b6deaf2269e2d808c9dcd36932b
|
|
BLAKE2b-256 checksum How to use checksums |
76d583b88f57df37181d79d7e7e137c62fe4b725d3706664151d933805a1ecb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"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.18.1"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1022-azure"}} HTTPX2/2.13.1
|