Skip to main content

Render parameterized Jinja2 template files

Project description

inji

Render static jinja2 template files, optionally specifying parameters contained in vars files.

Useful in CI/CD scenarios to keep configuration DRY across environments.

Installation

NOTE: Support for Python2 is now dropped. Python3 is required.

pip install inji

Usage

Render a lone Jinja2 template.
inji --template=jello-world.j2
Render a template passing vars from a YAML file.
inji --template=motd.j2 --vars-file=production.yaml

vars files must contain valid YAML documents and can hold either simple scalars or collections. Your jinja templates must reference these accordingly.

e.g.

$ cat vars.yaml
sage: victor
section: indigo

envoy:
  names:
    - alice
    - bob
    - chuck
  location: metaverse
  origin: world's end
$ cat hello-world.j2
Hello {{ envoy.names | join(', ') }}!!

I am {{ sage }}, the {{ section }} sage.

It seems you are at {{ envoy.location }} today and come from {{ envoy.origin }}.
$ inji -t hello-world.j2 -v vars.yaml
Hello alice, bob, chuck!!

I am victor, the indigo sage.

It seems you are at metaverse today and come from world's end.
Render a template using variables from multiple vars files
inji --template=nginx.conf.j2    \
      --vars-file=web-tier.yaml  \
      --vars-file=eu-west-1.yaml \
      --vars-file=prod.yaml  > /etc/nginx/sites-enabled/prod-eu-west-1.conf

This is especially useful in managing layered configuration. i.e. variables from files specified later on the command-line will be overlain over those defined earlier.

Etymology

inji is named in keeping of the UNIX tradition of short (memorable?) command names.

inji (/ɪndʒi:/) also happens to be the Tamil word for Ginger. In this case, it is a near-anagram of Jinja which ostensibly is a homophone of Ginger (Zingiber).

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

inji-0.2.tar.gz (5.3 kB view details)

Uploaded Source

Built Distributions

inji-0.2-py3.8.egg (4.8 kB view details)

Uploaded Source

inji-0.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file inji-0.2.tar.gz.

File metadata

  • Download URL: inji-0.2.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for inji-0.2.tar.gz
Algorithm Hash digest
SHA256 42732b16db5e48cc429d2de80c9aabccc19a4fe5bb88df7f78ef6525ede36f1c
MD5 bd808d84deef6ab3fcd86f81f54a4ec6
BLAKE2b-256 f015cc0dcd5c5b6e98ceda41a1aa497f16339dfbb00830418d4aa586442d29ca

See more details on using hashes here.

File details

Details for the file inji-0.2-py3.8.egg.

File metadata

  • Download URL: inji-0.2-py3.8.egg
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for inji-0.2-py3.8.egg
Algorithm Hash digest
SHA256 db95d06ae71b113da8e9eb37910452b398f08fbf56214cae6dfa8f6561bafd71
MD5 fa262f9999fbff176479036459e23f96
BLAKE2b-256 e81903faddbb011841409bd288f85637c1197e93c9746a42676c87aa12e7ab12

See more details on using hashes here.

File details

Details for the file inji-0.2-py3-none-any.whl.

File metadata

  • Download URL: inji-0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for inji-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cb5aa60a7bfa42f8d31d2f96a0345ca02979a2f2f07913fe892ef5d977727fd6
MD5 f9743169ff2c5677c60acf269db196cb
BLAKE2b-256 ae185612f12087ffc762c5476a0e33eea10dd8042685fc8c0753ad4b87dd4fc8

See more details on using hashes here.

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