#aranya-policy-ifgen #policy #aranya #policies #toml #dag

aranya-policy-ifgen

Tools for generating Rust interfaces to Aranya Policies

7 releases (breaking)

new 0.7.0 Apr 21, 2025
0.6.0 Apr 10, 2025
0.5.0 Mar 19, 2025
0.4.0 Mar 12, 2025
0.1.0 Oct 16, 2024

#264 in FFI

Download history 135/week @ 2024-12-30 589/week @ 2025-01-06 240/week @ 2025-01-13 89/week @ 2025-01-20 363/week @ 2025-01-27 507/week @ 2025-02-03 318/week @ 2025-02-10 161/week @ 2025-02-17 24/week @ 2025-02-24 544/week @ 2025-03-03 1231/week @ 2025-03-10 1206/week @ 2025-03-17 1227/week @ 2025-03-24 925/week @ 2025-03-31 765/week @ 2025-04-07 1591/week @ 2025-04-14

4,521 downloads per month
Used in aranya-daemon

AGPL-3.0-only

460KB
11K SLoC

Policy Interface Generation

Generate typed Rust interface from policy code.

Quickstart

# Cargo.toml

[dependencies]
aranya-policy-ifgen = { ... }

[build-dependencies]
aranya-policy-ifgen-build = { ... }
// build.rs

fn main() {
    println!("cargo:rerun-if-changed=src/policy.md");
    aranya_policy_ifgen_build::generate("src/policy.md", "src/policy.rs").unwrap();
}
// src/lib.rs

#[rustfmt::skip]
mod policy;

impl aranya_policy_ifgen::Actor for MyActor { ... }

fn do_the_thing(actor: &MyActor) -> Result<(), aranya_runtime::ClientError> {
    use policy::ActorExt;
    actor.some_action(42, "my string")
}

Dependencies

~19–29MB
~468K SLoC