* Remove the need for `HostRef<Module>` This commit continues previous work and also #708 by removing the need to use `HostRef<Module>` in the API of the `wasmtime` crate. The API changes performed here are: * The `Module` type is now itself internally reference counted. * The `Module::store` function now returns the `Store` that was used to create a `Module` * Documentation for `Module` and its methods have been expanded. * Fix compliation of test programs harness * Fix the python extension * Update `CodeMemory` to be `Send + Sync` This commit updates the `CodeMemory` type in wasmtime to be both `Send` and `Sync` by updating the implementation of `Mmap` to not store raw pointers. This avoids the need for an `unsafe impl` and leaves the unsafety as it is currently. * Fix a typo
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.