# Jinja

In Prism, you can augment your YML configuration files and Python tasks using [Jinja](https://jinja.palletsprojects.com/en/3.1.x/), a powerful templating language.

For example, using Jinja in Prism enables you to:

* Create relative variables (i.e., relative paths)
* Use external, project-level variables
* Use environment variables for production deployments
* Use control structures (e.g. `if` statements and `for` loops)

Here are the list of available Jinja functions:

* [`__file__`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/__file__-and-path)
* [`Path`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/__file__-and-path)
* [`prism_project`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/prism_project)
* [`wkdir()`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/wkdir)
* [`parent_dir(path)`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/parent_dir)
* [`concat(str1, str2)`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/concat)
* [`env(var)`](https://docs.runprism.com/v0.2.5/fundamentals/jinja/env)
