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.7.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.7.0.tar.gz | 286.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| repairwheel-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 433.3 kB
Release files / repairwheel-0.7.0.tar.gz
| Download URL | repairwheel-0.7.0.tar.gz |
|---|---|
| Size | 286.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46083dad76e35595712ae593c1c9f112fb3f37a0e63268906e6de8182de55122
|
|
BLAKE2b-256 checksum How to use checksums |
fb74e4c2ed3d34cde8cf790f4f5d99fb7b06933864ca8b5b6eed1dd237c7b763
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.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.18.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1022-azure"}} HTTPX2/2.12.0
|
Release files / repairwheel-0.7.0-py3-none-any.whl
| Download URL | repairwheel-0.7.0-py3-none-any.whl |
|---|---|
| Size | 146.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7fff43ed5abbf9710ef5ea6478c10cfd551aae043f445fd46307d4b602674ce0
|
|
BLAKE2b-256 checksum How to use checksums |
1412bbc4f17fa2661e40342a1e36ad099f085bb83d6dbd025fb00c69e313182f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.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.18.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.3","system":{"name":"Linux","release":"6.17.0-1022-azure"}} HTTPX2/2.12.0
|