Skip to main content

Render templates with data from various sources

Project description

tpl: Render templates with data from various sources

You want to fill data into a template file?

tpl --yaml data.yaml template.file > rendered.file

You have everything already set up in your environment and now you just want to POST it somewhere?

tpl structure.json | curl -X POST -H "Content-Type: application/json" -d@- httpbin.org/anything

You want to fill in a template in your CD pipeline and have access to docker?

echo "My go-to editor is {{VISUAL}} on {{OS}}" \
  | docker run --rm -i -e "VISUAL" -e "OS=$(uname)" m3t0r/tpl -

Installation

make install or pip install tpl

Input sources

tpl supports multiple sources:

  • YAML files (--yaml <file>)
  • JSON files (--json <file>)
  • environment variables (--environment)

You can specify multiple sources at once, but if a key is present in more than one then it's value will be taken from the latter source. This can be useful if you have default values that you want to always be present:

tpl \
  --yaml defaults.yaml \
  --json <(curl -H "Content-Type: application/json" now.httpbin.org) \
  template.jinja2 > results.html

Usage

Usage:
  tpl [options] <template_file>
  tpl --help
  tpl --version

Options:
  -e, --environment    Use all environment variables as data
  --json=<file>        Load JSON data from a file or STDIN
  --yaml=<file>        Load YAML data from a file or STDIN

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tpl-0.7.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

tpl-0.7-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page