Skip to main content

WebAssembly build tool for CPython C extensions

Project description

wasmpy-build

This tool can compile CPython C extension files, such as the ones created by Cython, to WebAssembly so that the extensions are platform independent.

This project contains modified CPython header files as well as a build script to ease the creation of .wasm extension files.

Currently this project only supports CPython 3.8, 3.9, 3.10 and 3.11 but I'm hoping to add support for older and future versions.

The project will automatically download wasi-sdk on first use.

Installation

Install from pip

pip install wasmpy-build

or build from source

git clone --recurse-submodules https://github.com/olivi-r/wasmpy-build
cd wasmpy-build
pip install patch
python patch_headers.py
python -m pip install .

Usage

Simply pass the C or C++ file and any extra arguments straight to the compiler.

wasmpy-build my_file.c -o my_file.wasm

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

wasmpy-build-0.3.2.tar.gz (802.9 kB view details)

Uploaded Source

Built Distribution

wasmpy_build-0.3.2-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file wasmpy-build-0.3.2.tar.gz.

File metadata

  • Download URL: wasmpy-build-0.3.2.tar.gz
  • Upload date:
  • Size: 802.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for wasmpy-build-0.3.2.tar.gz
Algorithm Hash digest
SHA256 fe8c260499c4d1f435091767a2e4d011a2d3ded9c4d04ccfe55199cc7263fed6
MD5 ef7872e00bb6c477bd419652efd9b553
BLAKE2b-256 ae6b9c61b47c1605df7d2d0a946dfc54fea03ba0e53455ebd42e0d32cc1c4825

See more details on using hashes here.

File details

Details for the file wasmpy_build-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: wasmpy_build-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for wasmpy_build-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a1227df0c2d710b3c4d21dcbece597d53dcb9fb4f60a7241cd0d76e16719a58d
MD5 a98769261ce4b41b95918951a6619ab5
BLAKE2b-256 640d2db0e0706f446e6a6866471786c43795005ef158d955db0e3b174973da17

See more details on using hashes here.

Supported by

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