Skip to main content

Host SDKs

In Extism parlance, we call the application that your plug-ins extend the host. e.g: in VS Code, if the extensions are the plug-ins then the editor itself is the host.

The library you use to manage and run plug-ins in the host is called a Host SDK.

Usage

Within your program, you must add a library dependency for a Host SDK in order to execute plug-ins. Extism's officially supported SDKs are published to each language's respective primary package manager, e.g. Crates.io for Rust, or npm for Node.js.

  • Browser
  • C
  • C++
  • Elixir
  • Go
  • Haskell
  • Java
  • .NET
  • Node
  • OCaml
  • PHP
  • Python
  • Ruby
  • Rust
  • Zig

If you would like to implement an SDK in another language, please refer to the Runtime APIs section to see the functions you will need to write bindings to.

See the Integrate into your codebase section to find a Host SDK in your language, as well as installation instructions to get started.

If you are looking to build a plug-in for a Host program or application, please see the Write a Plug-in section for more information about PDKs.

Need help?

If you've encountered a bug or think something is missing, please open an issue on the Extism GitHub repository.

There is an active community on Discord where the project maintainers and users can help you. Come hang out!