Introduction
Agents are configured using a YAML file. If you’re totally new to YAML files, you can learn more about them here. In Alto, you can augment your YAML configuration files and Python tasks using Jinja, a powerful templating language. For example, using Jinja enables you to:- Create relative variables (e.g., relative paths)
- Use environment variables for production deployments
__platform____version____file__Pathwkdir()parent_dir(path)concat(str1, str2)env(var)
Jinja Functions
__platform__
__platform__
{{ __platform__ }} returns the operating system on which your project is running. It’s
identical to sys.platform. You probably won’t use this much in your projects.Example:alto.yml
__version__
__version__
{{ __version__ }} returns the Python version on which your project is running, in
the format "{major}.{minor}.{micro}". As with __platform__, you probably won’t use
this much in your projects.Example:alto.yml
__file__ and Path
__file__ and Path
{{ __file__ }} allows you to access the the path to the YAML file.{{ Path(...) }} allows you convert any string to a pathlib
Path object. When using this Jinja
function, users also get access to Path’s methods and operators.{{ __file__ }} and {{ Path(...) }} can be used together to define relative paths.Example:alto.yml
wkdir()
wkdir()
{{ wkdir() }} allows you to access the current project directory as a string. This is a
less powerful alternative to {{ Path(__file__) }}.Example:alto.yml
parent_dir()
parent_dir()
{{ parent_dir(path) }} computes the parent path of path as a string. This is a less
powerful alternative to {{ Path(__file__).parent }}.Example:alto.yml
concat()
concat()
{{ concat(str1, str2) }} concatenates str1 and str2 together and returns the
output as a string.Example:alto.yml
env()
env()
{{ env(var) }} returns the environment variable var. This is probably the most
useful Jinja function.Example:alto.yml
