jinplate 0.0.7
jinplate
A command line Jinja2 renderer inspired
by gomplate
jinplate can read from local and remote variable files in a number of formats and use them
to render a local Jinja2 template file.
jinplate uses URIs to identify how to fetch and parse Jinja2 variable files.
Installation
pip install jinplate
To install with support for the tests and filters included with ansible, use
pip install jinplate[ansible]
Usage
jinplate --help
Usage: jinplate [OPTIONS] TEMPLATE_FILE DATASOURCES...
A command line renderer for jinja templates
TEMPLATE_FILE is the path to a jinja template file to render
DATASOURCES is a list of URIs to data sources supported by jinplate which
contain the template variables. Data sources are parsed and merged into a single
dict in the order in which they are specified.
--jinja-ext allows specifying a comma-separated list of import paths
containing jinja extensions. Example: --jinja-ext jinja2.ext.i18n
Options:
--jinja-ext TEXT
--help Show this message and exit.
Local Vars Example
test.j2
---
key: {{ test1.key }}
arr: {{ test2.arr }}
vars.json
{
"test1": {
"key": "val"
},
"test2": {
"arr": [1, 2, 3]
}
}
jinplate test.j2 "file:///$(pwd)/vars.json"
---
key: val
arr: [1, 2, 3]
Remote Vars example
python -m http.server
jinplate test.j2 "http://127.0.0.1:8000/vars.json"
---
key: val
arr: [1, 2, 3]
Supported Vars File Schemes
URI Scheme
Plugin
Example
file
jinplate.plugins.scheme.file
file:////path/to/vars.yaml
http
jinplate.plugins.scheme.http
http://127.0.0.1:8000/vars
Supported Vars File Types
File types are determined by extension, but can also be overridden by appending
+<file_type> to the datasource URI scheme, as in http+json://
File type
Matching extensions
Plugin
Example
json
.json
jinplate.plugins.filetype.json
http+json://127.0.0.1:8000/vars
yaml
.yaml, .yml
jinplate.plugins.filetype.yaml
http://127.0.0.1:8000/vars.ymlfile:////path/to/vars.yaml
dotenv
.env
jinplate.plugins.filetype.dotenv
file+env:////path/to/vars
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.