37 releases (2 stable)

1.0.1 Jan 13, 2021
1.0.0-rc1 Dec 23, 2020
1.0.0-alpha5 Nov 6, 2020
0.17.1 Jun 24, 2020
0.5.7 Jul 23, 2019

#23 in WebAssembly

Download history 65/week @ 2020-10-02 168/week @ 2020-10-09 128/week @ 2020-10-16 117/week @ 2020-10-23 229/week @ 2020-10-30 370/week @ 2020-11-06 349/week @ 2020-11-13 222/week @ 2020-11-20 424/week @ 2020-11-27 105/week @ 2020-12-04 169/week @ 2020-12-11 35/week @ 2020-12-18 55/week @ 2020-12-25 221/week @ 2021-01-01 263/week @ 2021-01-08 349/week @ 2021-01-15

863 downloads per month
Used in less than 6 crates

MIT license

460KB
9K SLoC

wasmer-wasi Build Status Join Wasmer Slack MIT License crates.io

This crate provides the necessary imports to use WASI easily from Wasmer.

Usage

use wasmer::{Store, Module, Instance};
use wasmer_wasi::WasiState;

let store = Store::default();
let module = Module::from_file(&store, "my_wasi_module.wasm")?;

// Create the WasiEnv
let wasi_env = WasiState::new("command name")
    .args(&["world"])
    .env("KEY", "VALUE")
    .finalize()?;

let import_object = wasi_env.import_object(&module)?;
let instance = Instance::new(&module, &import_object)?;

wasi_env.set_memory(instance.exports.get_memory("memory")?.clone());

let start = instance.exports.get_function("_start")?;
start.call(&[])?;

Note: you can find a full working example using WASI here.

Dependencies

~5MB
~97K SLoC