Skip to main content

Emscripten compatible build script 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.

The created .wasm files can be imported by WasmPy in a simmilar manner to native C extensions.

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 and 3.10 but I'm hoping to add support for older versions.

Installation

To install WasmPy-Build you will first need to install the Emscripten SDK.

Install WasmPy-Build from pip

$ pip install wasmpy-build

... or build from source

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

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

Uploaded Source

Built Distribution

wasmpy_build-0.2.0-py3-none-any.whl (712.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wasmpy-build-0.2.0.tar.gz
  • Upload date:
  • Size: 545.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for wasmpy-build-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3aef83a4f48ac9eb4c010f147c65b2338272e728a3f5943d2a01eea9ed5c77b2
MD5 147071337dfde351c5a2a82ca5092fbb
BLAKE2b-256 6cd9668489983994bbd379806286dfaee8ea0971a0eb6924110f832d4863a60f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wasmpy_build-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 712.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for wasmpy_build-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4e666df7c8814c6bed9a01918ece457026bab531f6eb7b8de873c15a47eeb11
MD5 eadfc51d9a4c1f5709c9d7f5c8cf0875
BLAKE2b-256 758240cb51e9434932bbb12cfd23d69708b057d177410b03ee11c92540d93b6b

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