auditwheel-like tool for Pyodide
Project description
auditwheel-emscripten
auditwheel-like tool for Pyodide
$ pip install auditwheel-emscripten
Usage (CLI)
Usage: pyodide audit [OPTIONS] COMMAND [ARGS]...
Auditwheel-like tool for emscripten wheels and shared libraries.
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ copy Copy shared libraries to the wheel directory. Similar to repair but does not modify the needed section of WASM module. │
│ exports Show exports of a wheel or a shared library file. │
│ imports Show imports of a wheel or a shared library file. │
│ repair [Experimental] Repair a wheel file: copy shared libraries to the wheel directory and modify the path in the wheel file. │
│ show Show shared library dependencies of a wheel or a shared library file. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
# wget https://cdn.jsdelivr.net/pyodide/v0.21.3/full/Shapely-1.8.2-cp310-cp310-emscripten_3_1_14_wasm32.whl
$ pyodide audit show Shapely-1.8.2-cp310-cp310-emscripten_3_1_14_wasm32.whl
The following external shared libraries are required:
{
│ 'shapely/speedups/_speedups.cpython-310-wasm32-emscripten.so': ['libgeos_c.so'],
│ 'shapely/vectorized/_vectorized.cpython-310-wasm32-emscripten.so': ['libgeos_c.so']
}
$ pyodide audit copy --libdir <directory which contains libgeos_c.so> Shapely-1.8.2-cp310-cp310-emscripten_3_1_14_wasm32.whl
Repaired wheel has following external shared libraries:
{
│ 'Shapely.libs/libgeos.so.3.10.3': [],
│ 'Shapely.libs/libgeos_c.so': ['libgeos.so.3.10.3'],
│ 'shapely/speedups/_speedups.cpython-310-wasm32-emscripten.so': ['libgeos_c.so'],
│ 'shapely/vectorized/_vectorized.cpython-310-wasm32-emscripten.so': ['libgeos_c.so']
}
Usage (API)
Listing shared library dependencies of a wheel file:
from auditwheel_emscripten import show
libs = show("Shapely-1.8.2-cp310-cp310-emscripten_3_1_14_wasm32.whl")
print(libs)
# {'shapely/vectorized/_vectorized.cpython-310-wasm32-emscripten.so': ['libgeos_c.so'], 'shapely/speedups/_speedups.cpython-310-wasm32-emscripten.so': ['libgeos_c.so']}
Copying shared libraries to the wheel:
from auditwheel_emscripten import repair, show
repaired_wheel = repair(
"Shapely-1.8.2-cp310-cp310-emscripten_3_1_14_wasm32.whl",
libdir="/path/where/shared/libraries/are/located",
outdir="/path/to/output/directory",
# If set this to true, modify the needed section of WASM module.
# Note that is not compatible with WebAssembly dynamic linking ABI.
# https://github.com/WebAssembly/tool-conventions/blob/main/DynamicLinking.md
modify_needed_section=False,
)
libs = show(repaired_wheel)
print(libs)
# {'Shapely.libs/libgeos.so.3.10.3': [], 'Shapely.libs/libgeos_c.so': ['libgeos.so.3.10.3'], 'shapely/speedups/_speedups.cpython-310-wasm32-emscripten.so': ['libgeos_c.so'], 'shapely/vectorized/_vectorized.cpython-310-wasm32-emscripten.so': ['libgeos_c.so']}
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
Built Distribution
Close
Hashes for auditwheel_emscripten-0.0.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 304a103f01d300671366f92f408068cfe077c52cbbe60bf63107008315f8b516 |
|
MD5 | 4f837cb1b8e8470c8e3c0edbd0cff907 |
|
BLAKE2b-256 | d843b9d723cb59f318a642bed1ad4d6c8864a4a41621d25c1d2dc437a847c4e7 |
Close
Hashes for auditwheel_emscripten-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b783e44ccbc4e0e732524be833773950f76aad925225d903c1ad7da62cab3e54 |
|
MD5 | a090880827813825d5f71de1573a2a80 |
|
BLAKE2b-256 | 5893b01953f8f51715a465c637e31d0891004891c8007a7c261c6629b0352758 |