Template FunctionsΒΆ

Template functions return data which can be used inside a template.

Wishbone makes use of Jinja2 for all its templates. Template functions are functions which can be executed inside templates in order to render data.


When bootstrapping a server the following template functions are always available:

  • strftime (wishbone.function.template.strftime)
  • epoch (wishbone.function.template.epoch)
  • env (wishbone.function.template.environment)
  • version (wishbone.function.template.)


  • Template functions are functions which are added to the Jinja2 list of global functions.
  • Template functions are classes which base wishbone.function.template.TemplateFunction.
  • Template functions must have a get() method which provides the desired data.

Wishbone comes by default with following builtin template functions:

Name Description
wishbone.function.template.choice Returns a random element from the provided array.
wishbone.function.template.cycle Cycles through the provided array returning the next element.
wishbone.function.template.environment Returns environment variables.
wishbone.function.template.epoch Returns epoch with sub second accuracy as a float.
wishbone.function.template.pid Returns the PID of the current process.
wishbone.function.template.random_bool Randomly returns True or False
wishbone.function.template.random_integer Returns a random integer.
wishbone.function.template.random_uuid Returns a uuid value.
wishbone.function.template.random_word Returns a random word.
wishbone.function.template.regex Regex matching on a string.
wishbone.function.template.strftime Returns a formatted version of an epoch timestamp.
wishbone.function.template.version Returns the version of the desired module.

See following examples: