tatara-lisp-script 0.3.21

tatara-script — standalone interpreter that makes tatara-lisp a full scripting language for nix-run apps. Wraps tatara-lisp-eval with a scripting-oriented stdlib (http, json, yaml, sops, file I/O, env, sha256, string ops) so a .tlisp file can replace a bash script one-for-one.
Documentation
[package]
name = "tatara-lisp-script"
description = "tatara-script — standalone interpreter that makes tatara-lisp a full scripting language for nix-run apps. Wraps tatara-lisp-eval with a scripting-oriented stdlib (http, json, yaml, sops, file I/O, env, sha256, string ops) so a .tlisp file can replace a bash script one-for-one."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true

[[bin]]
name = "tatara-script"
path = "src/main.rs"

[lib]
name = "tatara_lisp_script"
path = "src/lib.rs"

[lints]
workspace = true

[dependencies]
tatara-lisp.workspace        = true
tatara-lisp-eval.workspace   = true
tatara-lisp-lint.workspace   = true
tatara-lisp-source.workspace = true

anyhow     = "1"
thiserror  = "2"

# HTTP client — blocking on purpose. Orchestration scripts, not a service.
ureq       = { version = "3", features = ["json"] }

# HTTP server — blocking, single-threaded. The whole scripting model is
# synchronous; a production service would run via WASM/wasm-operator
# anyway. tiny_http is ~2k LoC and works well for hello-world-tier services.
tiny_http  = "0.12"

# Data formats
serde      = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"

# Hashing + MAC
sha1       = "0.10"
sha2       = "0.10"
hmac       = "0.12"
hex        = "0.4"
base64     = "0.22"

# Regex
regex      = "1"

# TOML
toml       = "0.9"

# Process orchestration
which      = "8"