[package] name = "extism" description = "Extism runtime and Rust SDK" edition.workspace = true authors.workspace = true license.workspace = true homepage.workspace = true repository.workspace = true version.workspace = true [dependencies] wasmtime = { version = "41", default-features = false, features = [ 'cache', 'gc', 'gc-drc', 'cranelift', 'coredump', 'wat', 'parallel-compilation', 'pooling-allocator', 'demangle', ] } wasi-common = "41" wiggle = "41" anyhow = "1" async-trait = "0.1" serde = { version = "1", features = ["derive"] } serde_json = "1" toml = "0.9" sha2 = "0.10" tracing = "0.1" tracing-subscriber = { version = "0.3.23", features = [ "std", "env-filter", "fmt", ] } url = "2" glob = "0.3" ureq = { version = "3.0", optional = true } extism-manifest = { workspace = true } extism-convert = { workspace = true, features = ["extism-path"] } uuid = { version = "1", features = ["v4"] } libc = "0.2" [features] default = [ "http", "register-http", "register-filesystem", "wasmtime-default-features", ] register-http = ["ureq"] # enables wasm to be downloaded using http register-filesystem = [] # enables wasm to be loaded from disk http = ["ureq"] # enables extism_http_request wasmtime-exceptions = [ ] # enables exception-handling proposal in wasmtime (requires wasmtime gc feature) wasmtime-default-features = ['wasmtime/default'] [build-dependencies] cbindgen = { version = "0.29", default-features = false } [dev-dependencies] criterion = "0.7.0" quickcheck = "1" rand = "0.9.0" [[bench]] name = "bench" harness = false