alef 0.67.3

Opinionated polyglot binding generator for Rust libraries
Documentation
{% if is_async %}import asyncio
{% endif %}
{% for import in imports %}{{ import }}
{% endfor %}

{% if is_async %}async def main() -> None:
{% else %}def main() -> None:
{% endif %}
{% if expects_error %}    try:
{% for line in body %}        {{ line }}
{% endfor %}{% if typed_error_type %}    except {{ typed_error_type }} as error:
        print(f"{{ typed_error_type }}: {error}")
{% endif %}    except {{ error_type }} as error:
        print(f"{type(error).__name__}: {error}")
{% else %}{% for line in body %}    {{ line }}
{% endfor %}
{% for operation in presentation %}
{% if operation.kind == "show" %}    print({{ operation.expression }})
{% else %}    for {{ operation.item }} in {{ operation.expression }}{% if operation.optional %} or []{% endif %}:
{% for field in operation.fields %}        print({{ field }})
{% endfor %}{% endif %}
{% endfor %}
{% if not presentation and not returns_void %}    print({{ result_var }})
{% endif %}
{% endif %}

{% if is_async %}asyncio.run(main())
{% else %}main()
{% endif %}