Tool to package Python applications as WebAssembly components
Project description
componentize-py
This is a prototype of a tool to convert a Python application to a WebAssembly component. It takes the following as input:
- a WIT file or directory
- the name of a WIT world defined in the above file or directory
- the name of a Python module which targets said world
- a list of directories in which to find the Python module and its dependencies
The output is a component which may be run using
e.g. wasmtime
. See the
tests for examples.
Build Prerequisites
- WASI SDK v16 (later versions may work, but have not yet been tested)
- Install this to
/opt/wasi-sdk
, or else specify an alternative location via theWASI_SDK_PATH
environment variable
- Install this to
- Tools needed to build CPython (e.g. Make, Clang, etc.)
- Rust v1.68 or later, including the
wasm32-wasi
andwasm32-unknown-unkown
targets
Building and Running
cargo run --release -- --help
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
componentize_py-0.2.0.tar.gz
(67.4 kB
view hashes)
Built Distributions
Close
Hashes for componentize_py-0.2.0-cp311-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74e43c67196729a6b664c8ce90bb87aee40a593ffe7d1cd6d4421fb7be647335 |
|
MD5 | 9bd5f09812595b4021eaf4b54c3597ff |
|
BLAKE2b-256 | 5516205bcd4be27bcffc4da0949bec92cbecb45a42f851a32437ab1cf3bae710 |
Close
Hashes for componentize_py-0.2.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cb699dae137a0e85c47e95df8625ecac827bd6d0a429ff706b138deeed55c8d |
|
MD5 | 455eebd3110fa57d3f22ee8a9edbbc4d |
|
BLAKE2b-256 | dc7d460e079a24fe7d14a0a027407e01adef2e8593d8572b4b40a7383e0d8d58 |
Close
Hashes for componentize_py-0.2.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e677348ef8ba968a1374880375b2a7f17139723e5d4e1a782331e838094dbdbb |
|
MD5 | 0a00e74ac16662dbcd96477a88bae3fd |
|
BLAKE2b-256 | 6d882545aa3ea96cec594ce9bc9d2944cee1feb70da996d779d1ac66fa23fc58 |
Close
Hashes for componentize_py-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00a229c9228db1975acc7660ba24c0841599a54f3e81af0abc7b6735b13dc94d |
|
MD5 | 667c4c6c9600554e8f02a3e2dcbf44e2 |
|
BLAKE2b-256 | 0dcbc7140a04574f7ca5701c3300568f3f9e187e1cb2c67244708279b52580f5 |
Close
Hashes for componentize_py-0.2.0-cp311-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8ecab23edab2834520d61b1eb5368db64f1c1c92170f03195caa5892918d1fd |
|
MD5 | 8f6801c9130eec62e4f82d402c9de633 |
|
BLAKE2b-256 | 70d279f0e866156454ecf400b62a925fdf0250c7daba283f101f9537e18bfd55 |