Extism
The universal plug-in system. Run WebAssembly extensions inside your app. Use idiomatic Host SDKs for Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP & more (others coming soon).
Plug-in development kits (PDK) for plug-in authors supported in Rust, AssemblyScript, Go, C/C++.
Add a flexible, secure, and bLaZiNg FaSt plug-in system to your project. Server, desktop, mobile, web, database -- you name it. Enable users to write and execute safe extensions to your software in 3 easy steps:
1. Import
Import an Extism Host SDK into your code as a library dependency.
2. Integrate
Identify the place(s) in your code where some arbitrary logic should run (the plug-in!), returning your code some results.
3. Execute
Load WebAssembly modules at any time in your app's lifetime and Extism will execute them in a secure sandbox, fully isolated from your program's memory.
Usage
Head to the project website for more information and docs. Also, consider reading an overview of Extism and its goals & approach.
Contribution
Thank you for considering a contribution to Extism, we are happy to help you make a PR or find something to work on!
The easiest way to start would be to join the Discord or open an issue on the extism/proposals issue tracker, which can eventually become an Extism Improvement Proposal (EIP).
Who's behind this?
Extism is an open-source product from the team at:
Reach out and tell us what you're building! We'd love to help.
