#plugin #plugin-api #javy #config

javy-plugin-api

APIs for Javy plugins

4 stable releases

new 3.1.0 Apr 17, 2025
3.0.0 Jan 8, 2025
2.0.0 Nov 27, 2024
1.0.0 Nov 12, 2024

#1533 in WebAssembly

Download history 57/week @ 2025-01-02 75/week @ 2025-01-09 1/week @ 2025-01-30 8/week @ 2025-02-06 30/week @ 2025-02-13 24/week @ 2025-02-20 56/week @ 2025-02-27 15/week @ 2025-03-06 8/week @ 2025-03-13 24/week @ 2025-03-20 19/week @ 2025-03-27 28/week @ 2025-04-03 55/week @ 2025-04-10

129 downloads per month

Apache-2.0 WITH LLVM-exception

130KB
2.5K SLoC

javy-plugin-api

A crate for creating Javy plugins

Documentation Status crates.io status

Refer to the crate level documentation to learn more.

Example usage:

use javy_plugin_api::import_namespace;
use javy_plugin_api::Config;

// Dynamically linked modules will use `my_javy_plugin_v1` as the import
// namespace.
import_namespace!("my_javy_plugin_v1");

#[export_name = "initialize_runtime"]
pub extern "C" fn initialize_runtime() {
    let mut config = Config::default();
    config
        .text_encoding(true)
        .javy_stream_io(true);

    javy_plugin_api::initialize_runtime(config, |runtime| runtime).unwrap();
}

Publishing to crates.io

To publish this crate to crates.io, run ./publish.sh.

Dependencies

~8–12MB
~289K SLoC