rustledger-plugin 0.17.3

Beancount plugin system with 30 native plugins and WASM support
Documentation
[package]
name = "rustledger-plugin"
description = "Beancount plugin system with 30 native plugins and WASM support"
version = "0.17.3"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
authors.workspace = true
readme = "README.md"

[features]
default = ["wasm-runtime"]
wasm-runtime = ["wasmtime"]
python-plugins = [
  "wasm-runtime",
  "wasmtime-wasi",
  "ureq",
  "zip",
  "sha2",
  "dirs",
  "tempfile",
]

[dependencies]
rustledger-core.workspace = true
rustledger-ops.workspace = true
rustledger-plugin-types.workspace = true
wasmtime = { workspace = true, optional = true }
wasmtime-wasi = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true
rmp-serde.workspace = true
thiserror.workspace = true
anyhow.workspace = true
rust_decimal.workspace = true
jiff.workspace = true
regex.workspace = true

# Python plugin support (optional)
ureq = { workspace = true, optional = true }
zip = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true }
dirs = { workspace = true, optional = true }
tempfile = { workspace = true, optional = true }

[dev-dependencies]
rust_decimal_macros.workspace = true
wat.workspace = true
proptest.workspace = true
# `tempfile` is *also* an optional dep above (under `python-plugins`),
# but unit tests in `runtime.rs` use it unconditionally and would
# otherwise fail to compile under `cargo test --no-default-features
# --features wasm-runtime`. Declaring it again here ensures the dev
# build always has it regardless of feature selection.
tempfile.workspace = true

[lints]
workspace = true