Skip to main content

python bindings for the binaryen webassembly library

Project description

saythanks Latest Version

Python interface to the Binaryen library

This module provides a Python interface to the binaryen webassembly library.

That library has to be installed separately, make sure it is available on your system as a shared library. You may need to add something to your link library search path to let python pick it up.

Requires Python 3.6 or newer. Also works on pypy3 (because it uses cffi).

Software license: MIT

Example

Running the following code:

import binaryen

module = binaryen.ModuleCreate()
params = binaryen.TypeCreate([binaryen.TypeInt32(), binaryen.TypeInt32()], 2)
results = binaryen.TypeInt32()
x = binaryen.LocalGet(module, 0, binaryen.TypeInt32())
y = binaryen.LocalGet(module, 1, binaryen.TypeInt32())
add = binaryen.Binary(module, binaryen.AddInt32(), x, y)
adder = binaryen.AddFunction(module, b"adder", params, results, binaryen.ffi.NULL, 0, add)
binaryen.ModulePrint(module)
binaryen.ModuleDispose(module)

results in the following Webasm Text output:

(module
 (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
 (func $adder (; 0 ;) (param $0 i32) (param $1 i32) (result i32)
  (i32.add
   (local.get $0)
   (local.get $1)
  )
 )
)

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

pybinaryen-1.6.tar.gz (14.4 kB view details)

Uploaded Source

File details

Details for the file pybinaryen-1.6.tar.gz.

File metadata

  • Download URL: pybinaryen-1.6.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for pybinaryen-1.6.tar.gz
Algorithm Hash digest
SHA256 ebbdb923d41e00ed15be5c045437d46c54c68bd67f1451b071ead3a55aedbe2a
MD5 64ea09548914290f183a228a0c348378
BLAKE2b-256 d95cdc1812198c6fed65af973d1d31f056b121d8fb5b6114ff3d2381c529e8c4

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