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.3.tar.gz (802.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: wasmpy-build-0.3.3.tar.gz
  • Upload date:
  • Size: 802.1 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.3.tar.gz
Algorithm Hash digest
SHA256 0ae4eb33e4cace5a147835da8cc1e1b76090d0bb8a0a4fd9ef27260af47a030d
MD5 3fa7d1143f51d8cc24bbe74640cb7aaa
BLAKE2b-256 64f89e57bb943e827f65ab9e071311c682b5ea4d7581cba239b7bb16e2351ad6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wasmpy_build-0.3.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d6f1c4d6cd9d6eada5c9e578b8b6ef93e1080469e51fa1cfddcad47c49ab17e6
MD5 557d6043f6b79f47c8a7a689856280a2
BLAKE2b-256 62de21845a699293518bc60e5df2978305e82a402fb35f1c343dd3bc92890f31

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