Jinja-based texts and objects render.
pip install jonja
- Make template
hello.j2
Hello, {{ username }}!
{% jobj cached schema %}
world:
$cls: "types:SimpleNamespace"
$kwargs: {name: earth, size: {{ world_size }} }
{% endjobj %}- Load extension
from pathlib import Path
import jinja2 as j2
from jonja import Jonja
env = j2.Environment(..., extensions=(Jonja, ))- Render
text, objs = await env.render("hello", username="mikk", world_size=10_000)- make di socially independent (allow multiple instances of ext with different di container instances)