You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wasm3/platforms/python
Volodymyr Shymanskyy e07ffdc34e
Update Cosmopolitan. Update pywasm3 tests.
3 years ago
..
examples Enable recursive calls: calling exported function from an imported. 3 years ago
test Update Cosmopolitan. Update pywasm3 tests. 3 years ago
.gitignore Update python bindings. New API + Dino game using PyWasm! 3 years ago
LICENSE Publish pywasm3 to pypi 4 years ago
MANIFEST.in Boost pywasm3 version 4 years ago
README.md Update python bindings. New API + Dino game using PyWasm! 3 years ago
m3 Move setup.py to python platform 4 years ago
m3module.c Enable recursive calls: calling exported function from an imported. 3 years ago
setup.py Update python bindings. New API + Dino game using PyWasm! 3 years ago

README.md

pywasm3

Python binding for Wasm3, the fastest WebAssembly interpreter.

Install

pip3 install pywasm3

# Or, if you have a local copy:
python3 setup.py sdist
pip3 install dist/pywasm3-*.tar.gz

Usage example

import wasm3

# WebAssembly binary
WASM = bytes.fromhex("""
  00 61 73 6d 01 00 00 00 01 06 01 60 01 7e 01 7e
  03 02 01 00 07 07 01 03 66 69 62 00 00 0a 1f 01
  1d 00 20 00 42 02 54 04 40 20 00 0f 0b 20 00 42
  02 7d 10 00 20 00 42 01 7d 10 00 7c 0f 0b
""")

env = wasm3.Environment()
rt  = env.new_runtime(1024)
mod = env.parse_module(WASM)
rt.load(mod)
func = rt.find_function("fib")
result = func.call_argv("24")
print(result)                       # 46368

License

This project is released under The MIT License (MIT)