Develop WasmEdge Plug-in
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 recommend developers to implement the plug-ins with C API.
Loadable Plug-in
Loadable plugin is a standalone .so
/.dylib
/.dll
file that WasmEdge can load during runtime environment, and provide modules to be imported.
Please refer to the plugin example code.
WasmEdge Currently Released Plug-ins
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.
The
WasmEdge-Process
plug-in is attached in the WasmEdge release tarballs.
Plug-in | Rust Crate | Released Platforms | Build Steps |
---|---|---|---|
WasmEdge-Process | wasmedge_process_interface | manylinux2014 x86_64 , manylinux2014 aarch64 , and ubuntu 20.04 x86_64 (since 0.10.0 ) | Default |
WASI-Crypto | wasi-crypto | manylinux2014 x86_64 , manylinux2014 aarch64 , and ubuntu 20.04 x86_64 (since 0.10.1 ) | Build With WASI-Crypto |
WASI-NN with OpenVINO backend | wasi-nn | ubuntu 20.04 x86_64 (since 0.10.1 ) | Build With WASI-NN |
WASI-NN with PyTorch backend | wasi-nn | ubuntu 20.04 x86_64 (since 0.11.1 ) | Build With WASI-NN |
WASI-NN with TensorFlow-Lite backend | wasi-nn | manylinux2014 x86_64 , manylinux2014 aarch64 , and ubuntu 20.04 x86_64 (since 0.11.2 ) | Build With WASI-NN |
WasmEdge-HttpsReq | wasmedge_http_req | manylinux2014 x86_64 , and manylinux2014 aarch64 (since 0.11.1 ) | Build With WasmEdge-HttpsReq |
Due to the
OpenVINO
andPyTorch
dependencies, we only release the WASI-NN plug-in onUbuntu 20.04 x86_64
now. We'll work withmanylinux2014
versions in the future.