Skip to main content

Crate etdl_target_python

Crate etdl_target_python 

Source
Expand description

The python CodeGenerator target.

Consumes the exact same validated EtlDocument + resolved fault-tree probabilities + AsyncApiRegistry every other target consumes. Nothing here re-parses .etdl, re-validates ECEL conditions, or re-evaluates fault trees. Generated Python is a thin, ctypes-based binding to the same compiled etdl-runtime-ffi C ABI the Java target binds to via java.lang.foreign — branch/SLA accounting, retry backoff, and ECEL matches/in semantics stay in Rust. See docs/architecture/targets.md.

Building this crate never requires Python — it only emits Python source text. Python (3.9+, for the list[T]/X | None type-hint syntax generated code uses) is needed only to run the generated output, and etdl-runtime-ffi’s compiled shared library is needed to run anything that touches BranchMonitor/RetryPolicy/Condition. ctypes is Python’s standard library — no pip install is needed either.

Structs§

PythonCodeGenerator