#generator #aranya #policies #parser #ifgen

aranya-policy-ifgen

Tools for generating Rust interfaces to Aranya Policies

17 breaking releases

Uses new Rust 2024

new 0.18.0 Jan 6, 2026
0.17.0 Dec 11, 2025
0.16.1 Nov 13, 2025
0.11.0 Jun 23, 2025
0.1.0 Oct 16, 2024

#314 in FFI

Download history 1152/week @ 2025-09-16 1635/week @ 2025-09-23 1581/week @ 2025-09-30 1055/week @ 2025-10-07 1902/week @ 2025-10-14 1912/week @ 2025-10-21 2240/week @ 2025-10-28 1492/week @ 2025-11-04 3496/week @ 2025-11-11 1220/week @ 2025-11-18 264/week @ 2025-11-25 1499/week @ 2025-12-02 1740/week @ 2025-12-09 1428/week @ 2025-12-16 486/week @ 2025-12-30

3,829 downloads per month
Used in aranya-daemon

AGPL-3.0-only

500KB
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

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

~28–46MB
~665K SLoC