antp
Module & app for processing Jinja template files with json data and environment variables.
Installation
python3 -m pip install antp
Usage
python3 -m antp -t|--template <templatefile> [-o|--output <outputfile>] [-d|--data <json_datafile1,json_datafile2,...,json_datafileN>]
Templatefile is the jinja-template. Parameter can be omitted or parameter value set to dash to read template from stdin.
Outputfile is the filename where the output will be written. Parameter can be omitted or parameter value can be set to dash to write the output to stdout.
Json_datafile is the json-file with the data to be accessed in the templates. The data-parameter can have multiple datafiles, use comma to separate filenames.
Data from datafiles will be in the data variable. Variables from environment will be in the envvariable.
Examples
data1.json
{
"colors": {
"black": "#000000",
"white": "#FFFFFF",
"red": "#FF0000",
"green": "#00FF00",
"blue": "#0000FF"
},
"food": [
"vegetables",
"meat",
"fish"
]
}
data2.json
{
"capitals": {
"Finland": "Helsinki",
"Sweden": "Stockholm",
"Denmark": "Copenhagen"
}
}
template.jinja
The capital of Finland is {{ data["capitals"]["Finland"] }}.
Typical foods: {{ data["food"]|join(", ") }}.
Black is {{ data["colors"]["black"] }}.
Environment variable FOO is {{ env["FOO"] }}.
Run command:
FOO=bar python3 -m antp -t template.jinja -d data1.json,data2.json -o out.txt
out.txt
The capital of Finland is Helsinki.
Typical foods: vegetables, meat, fish.
Black is #000000.
Environment variable FOO is bar.
Docker container
Containerized version of antp is also available from anttin/antp.
Container usage
Sample template:
Our message to you is: {{ env["Message"] }}
Sample run:
docker run --rm -it -v /local/path/template:/antp/template -v /local/path/output_directory:/antp/output -e MESSAGE="Hello world" antp:latest
Sample output:
Our message to you is: Hello world
You can use ANTP_TEMPLATE, ANTP_OUTPUT and ANTP_DATA environment variables to override the default paths. Datafiles are not used by default, so this env variable is needed if you want to use data files.
Use cases
This container can be useful as a k8s init-container. Input files can be ConfigMaps. Values can be fed through ConfigMaps or env variables. Output can be set to an emptyDir volume that is shared between the containers.
Release files for antp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| antp-0.1.1.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| antp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.7 kB
Release files / antp-0.1.1.tar.gz
| Download URL | antp-0.1.1.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
568bb2e4f18e079c34092ffcbacbac5dde81e8f911e7a319f1c9c9ab166d9e4e
|
|
BLAKE2b-256 checksum How to use checksums |
5d458761411f3c3f107938da24030268702f1fc47b77fac253de1c763ab63a22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|
Release files / antp-0.1.1-py3-none-any.whl
| Download URL | antp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78775e2296c83abb2ba903915958cf845b60179422269a02b0d6b1047eca3c6b
|
|
BLAKE2b-256 checksum How to use checksums |
6598a0cc109b58009457e3279d8baae60bb6297f216533092c61f92d69728df9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.5
|