* Refactor the `types.rs` types and structures A few changes applied along the way: * Documentation added to most methods and types. * Limits are now stored with the maximum as optional rather than a sentinel u32 value for `None`. * The `Name` type was removed in favor of just using a bare `String`. * The `Extern` prefix in the varaints of `ExternType` has been removed since it was redundant. * Accessors of `ExternType` variants no longer panic, and unwrapping versions were added with "unwrap" in the name. * Fields and methods named `r#type` were renamed to `ty` to avoid requiring a raw identifier to use them. * Remove `fail-fast: false` This was left around since the development of GitHub Actions for wasmtime, but they're no longer needed! * Fix compilation of the test-programs code * Fix compilation of wasmtime-py package * Run rustfmt
Python 3 extension for interface with Wasmtime/Cranelift.
Build
First, you'll need to install some Python dependencies:
$ pip3 install setuptools wheel==0.31.1 setuptools-rust
Next you can build the extension with:
rustup run nightly python3 setup.py build
Note that a nightly version of Rust is required due to our usage of PyO3.
This will create a directory called build/lib which you can add to
PYTHONPATH in order to get import wasmtime working.