pyfcstm.utils.jinja2

This module provides utilities for enhancing Jinja2 environments with Python builtins and additional settings.

It includes functions to add Python built-in functions to Jinja2 environments as filters, tests, and globals, as well as adding environment variables and custom text processing functions.

add_builtins_to_env

pyfcstm.utils.jinja2.add_builtins_to_env(env: Environment) Environment[source]

Mount Python built-in functions to a Jinja2 environment.

This function adds Python’s built-in functions to the specified Jinja2 environment as filters, tests, or global functions based on their characteristics.

Parameters:

env (jinja2.Environment) – A Jinja2 Environment instance

Returns:

The Jinja2 Environment with Python builtins mounted

Return type:

jinja2.Environment

Example:

>>> env = jinja2.Environment()
>>> env = add_builtins_to_env(env)
>>> # Now Python builtins like len, str, etc. are available in templates

add_settings_for_env

pyfcstm.utils.jinja2.add_settings_for_env(env: Environment) Environment[source]

Add additional settings and functions to a Jinja2 environment.

This function enhances a Jinja2 environment by: 1. Adding Python built-in functions 2. Adding custom text processing filters 3. Adding environment variables as global variables

Parameters:

env (jinja2.Environment) – The Jinja2 environment to enhance

Returns:

The enhanced Jinja2 environment

Return type:

jinja2.Environment

Example:

>>> env = jinja2.Environment()
>>> env = add_settings_for_env(env)
>>> # Now the environment has additional filters and globals