Skip to main content

WasmEdge Plug-ins

For those workloads which are too heavy to compile into WebAssembly, it would be more appropriate to build them into native host functions. To satisfy the portability of WebAssembly runtime, WasmEdge introduced the plug-in mechanism to make the host functions loadable and portable.

The plug-in mechanism for WasmEdge is an easy way to extend the host modules from loadable shared libraries. With the plug-ins, users can load and instantiate the host functions from the shared libraries released by WasmEdge official or even by other developers.

Official Released Plug-ins

The following lists are the WasmEdge official released plug-ins. Users can install them easily by the installer.

Plug-inDescriptionPlatform SupportLanguage support
WasmEdge-ProcessAllows WebAssembly programs to execute native commands in the host operating system. It supports passing arguments, environment variables, STDIN/STDOUT pipes, and security policies for host access.manylinux2014 x86_64, manylinux2014 aarch64, and ubuntu 20.04 x86_64 (since 0.10.0)Rust
WASI-CryptoAPIs that a runtime can expose to WebAssembly modules in order to perform cryptographic operations and key management.manylinux2014 x86_64, manylinux2014 aarch64, and ubuntu 20.04 x86_64 (since 0.10.1)Rust
WASI-NN (OpenVINO backend)AI inference using OpenVINO models.ubuntu 20.04 x86_64 (since 0.10.1)Rust, JavaScript
WASI-NN (Pytorch backend)AI inference using Pytorch models.manylinux2014 x86_64 and ubuntu 20.04 x86_64 (since 0.11.1)Rust, JavaScript
WASI-NN (TensorFlow-Lite backend)AI inference using TensorFlow-Lite models.manylinux2014 x86_64, manylinux2014 aarch64, and ubuntu 20.04 x86_64 (since 0.11.2)Rust, JavaScript
WasmEdge-ImageA native library to manipulate images for AI inference tasks.manylinux2014 x86_64, manylinux2014 aarch64, ubuntu 20.04 x86_64, darwin x86_64, and darwin arm64 (since 0.13.0)Rust (0.3.0)
WasmEdge-TensorflowA native library for inferring TensorFlow models.manylinux2014 x86_64, manylinux2014 aarch64, ubuntu 20.04 x86_64, darwin x86_64, and darwin arm64 (since 0.13.0)Rust (0.3.0)
WasmEdge-TensorflowLiteA native library for inferring TensorFlow-Lite models.manylinux2014 x86_64, manylinux2014 aarch64, ubuntu 20.04 x86_64, darwin x86_64, and darwin arm64 (since 0.13.0)Rust
WasmEdge-OpenCVVery popular utility functions to process images and videos for AI input/output.UnreleasedRust
WasmEdge-eBPFA native library for inferring eBPF applicationsmanylinux2014 x86_64, manylinux2014 aarch64, ubuntu 20.04 x86_64, darwin x86_64, and darwin arm64 (since 0.13.0)Rust
WasmEdge-rustlsA native library for inferring Rust and TLS Librarymanylinux2014 x86_64, manylinux2014 aarch64, ubuntu 20.04 x86_64, darwin x86_64, and darwin arm64 (since 0.13.0)Rust

Old WasmEdge Extensions

Besides the plug-ins, WasmEdge provides the extensions before the 0.13.0 versions. Noticed that the extensions are replaced by the corresponding plug-ins after the 0.13.0 version.

The latest version supporting the extensions is 0.12.1. This chapter will be deprecated when the 0.12.x versions are no longer supported by the WasmEdge installer.

ExtensionDescriptionPlatform SupportLanguage support
Image processingA native library to manipulate images for AI inference tasks. Migrated into the plug-in after WasmEdge 0.13.0.manylinux2014 x86_64, manylinux2014 aarch64, android aarch64, ubuntu 20.04 x86_64, and darwin x86_64Rust (0.2.2)
TensorFlow and Tensorflow-LiteA native library to inferring TensorFlow and TensorFlow-Lite models. Migrated into the plug-in after WasmEdge 0.13.0.manylinux2014 x86_64, manylinux2014 aarch64 (TensorFlow-Lite only), android aarch64 (TensorFlow-Lite only), ubuntu 20.04 x86_64, and darwin x86_64Rust (0.2.2)