package extism

  1. Overview
  2. Docs
Extism bindings

Install

Dune Dependency

Authors

Maintainers

Sources

v0.2.0.tar.gz
md5=02aee06a119237a777329052697fd3fc
sha512=d6545ff5b46cb7de5c8f1051b08679c6d9075f2af4cf21c0403794eb269fca1c2701b77ff1e4be52973541ed11be07b1ea4514af5a98d19d030526ef0a1dc5ec

Description

Bindings to Extism, the universal plugin system

Tags

topics wasm plugin

Published: 23 Jan 2023

README

Welcome!

Please note: this project still under active development. It's usable, but expect some rough edges while work is underway. If you're interested in working on or building with Extism, please join our Discord and let us know - we are happy to help get you started.

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, Elixir/Erlang, .NET, Java, Zig & more (others coming soon).

Plug-in development kits (PDK) for plug-in authors supported in Rust, AssemblyScript, Go, C/C++, Haskell, and Zig.

Extism embedded SDK language support

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.

Dependencies (9)

  1. cmdliner >= "1.1.1"
  2. ppx_inline_test >= "v0.15.0"
  3. extism-manifest
  4. ppx_yojson_conv >= "v0.15.0" & < "v0.16.0"
  5. bigstringaf >= "0.9.0"
  6. ctypes-foreign >= "0.18.0"
  7. ctypes >= "0.18.0"
  8. dune >= "3.2"
  9. ocaml >= "4.14.1"

Dev Dependencies (1)

  1. odoc with-doc

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.