Tool to package Python applications as WebAssembly components
Project description
componentize-py
This is 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.
Installing from PyPI
pip install componentize-py
Building from source
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.2.tar.gz
(67.5 kB
view hashes)
Built Distributions
Close
Hashes for componentize_py-0.2.2-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a636412fffe44f62edfaedb668e1fe63107786425c8ff204131f9e5ac0b191e |
|
MD5 | 1340c4e28452857e5edc23a24819b659 |
|
BLAKE2b-256 | fd9596a711fbb9aaa9bac3a1097a475395bf9a24dd18718d8a6c69f6d0856a3a |
Close
Hashes for componentize_py-0.2.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdf07a734fc3962fc0b66a491d09b65f017b23b71ca86911500913e912b342c7 |
|
MD5 | 14ac579a7675e432615f9ade2af400ae |
|
BLAKE2b-256 | dfa5d6b127e088aaac09a04b6dc78b8475d8edd567ed374755c45d8832bba0e8 |
Close
Hashes for componentize_py-0.2.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ae3d70f10218d86d69586035e9f7c90bec50df2a8b3d8a78cd4f7cf179b841e |
|
MD5 | 367103bd26d3d1072930a99032b791ef |
|
BLAKE2b-256 | ef52d2853cad2d2875795c3e0c04ee3aaf9a56153db0056f7b170fc903263de7 |
Close
Hashes for componentize_py-0.2.2-cp37-abi3-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64361995c597dc83fd4d87d4f31b7e59d9fd53d7a568c3c29f7e90b1eb9ebf39 |
|
MD5 | af4bf7af8362e41446eb37cb81ff7f5b |
|
BLAKE2b-256 | dc458f673aad0dbbc904ba3333a4c64d50aab4cd2e8c3e11b15bf686afcb0ed1 |
Close
Hashes for componentize_py-0.2.2-cp37-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 373c0e218332f2f5228be9e2117a029401696545cbc11ce695a8993057c6c98f |
|
MD5 | 6579393d30a650dc2fa3b35f8968bc2a |
|
BLAKE2b-256 | 9ad0fe2ad1239530f0a5c179397fb64a2ee9bda4752a12db9eac048beaf42204 |