Adapted from the Griptape AI Framework documentation.
Source Code in griptape/utils/j2.py
@define(frozen=True) class J2: template_name: Optional[str] = field(default=None) templates_dir: str = field(default=abs_path("templates"), kw_only=True) environment: Environment = field( default=Factory( lambda self: Environment(loader=FileSystemLoader(self.templates_dir), trim_blocks=True, lstrip_blocks=True), takes_self=True, ), kw_only=True, ) def render(self, **kwargs) -> str: if self.template_name is None: raise ValueError("template_name is required.") return self.environment.get_template(self.template_name).render(kwargs).rstrip() def render_from_string(self, value: str, **kwargs) -> str: return self.environment.from_string(value).render(kwargs)
environment = field(default=Factory(lambda self: Environment(loader=FileSystemLoader(self.templates_dir), trim_blocks=True, lstrip_blocks=True), takes_self=True), kw_only=True)
class-attribute instance-attributetemplate_name = field(default=None)
class-attribute instance-attributetemplates_dir = field(default=abs_path('templates'), kw_only=True)
class-attribute instance-attribute
render(**kwargs)
Source Code in griptape/utils/j2.py
def render(self, **kwargs) -> str: if self.template_name is None: raise ValueError("template_name is required.") return self.environment.get_template(self.template_name).render(kwargs).rstrip()
render_from_string(value, **kwargs)
Source Code in griptape/utils/j2.py
def render_from_string(self, value: str, **kwargs) -> str: return self.environment.from_string(value).render(kwargs)
Could this page be better? Report a problem or suggest an addition!