Skip to main content

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 the WASI_SDK_PATH environment variable
  • Tools needed to build CPython (e.g. Make, Clang, etc.)
  • Rust v1.68 or later, including the wasm32-wasi and wasm32-unknown-unkown targets

Building and Running

cargo run --release -- --help

Project details


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 details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

componentize_py-0.2.0-cp311-abi3-win_amd64.whl (13.1 MB view details)

Uploaded CPython 3.11+Windows x86-64

componentize_py-0.2.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

componentize_py-0.2.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (15.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

componentize_py-0.2.0-cp311-abi3-macosx_11_0_arm64.whl (13.7 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

componentize_py-0.2.0-cp311-abi3-macosx_10_7_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.11+macOS 10.7+ x86-64

File details

Details for the file componentize_py-0.2.0.tar.gz.

File metadata

  • Download URL: componentize_py-0.2.0.tar.gz
  • Upload date:
  • Size: 67.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for componentize_py-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f7551ee180a4a42fcbbd6897bf2550abde358e3c52c44d42811e84fa30e5b3d5
MD5 26ec8ff24fbc3f02ba51d5c269e210a5
BLAKE2b-256 6eae4451dd240b40a3ea3e5cefb8991cfd14b4a3b43d757b65527407efdd81e5

See more details on using hashes here.

File details

Details for the file componentize_py-0.2.0-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for componentize_py-0.2.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 74e43c67196729a6b664c8ce90bb87aee40a593ffe7d1cd6d4421fb7be647335
MD5 9bd5f09812595b4021eaf4b54c3597ff
BLAKE2b-256 5516205bcd4be27bcffc4da0949bec92cbecb45a42f851a32437ab1cf3bae710

See more details on using hashes here.

File details

Details for the file componentize_py-0.2.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file componentize_py-0.2.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

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

See more details on using hashes here.

File details

Details for the file componentize_py-0.2.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for componentize_py-0.2.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 00a229c9228db1975acc7660ba24c0841599a54f3e81af0abc7b6735b13dc94d
MD5 667c4c6c9600554e8f02a3e2dcbf44e2
BLAKE2b-256 0dcbc7140a04574f7ca5701c3300568f3f9e187e1cb2c67244708279b52580f5

See more details on using hashes here.

File details

Details for the file componentize_py-0.2.0-cp311-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

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

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page