This chapter is WORK IN PROGRESS.
WasmEdge provides a C++ based API for registering extension modules and host functions. While the WasmEdge language SDKs allow registering host functions from a host (wrapping) application, the plugin API allows such extensions to be incorporated into WasmEdge's own building and releasing process.
The C API for the plug-in mechanism is under development. In the future, we will release the C API of plug-in mechanism and recommand developers to implement the plug-ins with C API.
Loadable plugin is a standalone
.dll file that WasmEdge can load during runtime environment, and provide modules to be imported.
Please refer to the plugin example code.
There are several plug-in releases with the WasmEdge official releases. Please check the following table to check the release status and how to build from source with the plug-ins.
WasmEdge-Processplug-in is attached in the WasmEdge release tarballs.
|Plug-in||Rust Crate||Released Platforms||Build Steps|
|WASI-Crypto||wasi-crypto||Build With WASI-Crypto|
|WASI-NN with OpenVINO backend||wasi-nn||Build With WASI-NN|
|WASI-NN with PyTorch backend||wasi-nn||Build With WASI-NN|
|WasmEdge-HttpsReq||wasmedge_http_req||Build With WasmEdge-HttpsReq|
Due to the
PyTorchdependencies, we only release the WASI-NN plug-in on
Ubuntu 20.04 x86_64now. We'll work with
manylinux2014versions in the future.