Skip to main content

A command line interface for rendering Jinja2 templates.

Project description

Travis CI Python Package Index Code Style: Black

Render Jinja2 templates on the command line using a YAML, JSON or HCL file as input for the render context.

Installation

j2y is installed using pip:

$ pip install j2y

Alternatively you can install directly from Github master branch:

$ pip install git+https://github.com/chaudum/j2y.git@master

Usage

By default, the j2cli command takes a YAML file as input:

$ j2cli template.j2 < values.yaml

Alternatively you can use JSON or HCL as input format:

$ j2cli template.j2 -f json < values.json
$ j2cli template.j2 -f hcl < values.hcl

It’s also possible to provide multiple input files:

$ j2cli template.j2 --context v1.yaml --context v2.yaml

Run j2cli -h to see all available options.

Template Variables

Additionally to the variables provided by the input file, j2cli also provides built-in default variables. These variables are:

meta.date:

Type: datetime

Value: Current UTC datetime object

meta.platform:

Type: dict

Value: Output of platform.uname()

env:

Type: dict

Value: All environment variables (output of os.environ).

Local Development

Bootstrapping

Create a virtualenv and install the package as develop egg:

$ python -m venv env
$ source env/bin/activate
(env) $ pip install -e .

Tests

At the moment there are very simple test cases only. Test are written as Python doctests and run using pytest:

(env) $ pip install -e ".[test]"
(env) $ pytest

Pytest additionally runs the black linter and mypy static type checker.

Documentation

The tests located in the docs/ folder can also be built into HTML using Sphinx:

(env) $ sphinx-build -E -W docs/ _build/

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

j2y-0.3.0.tar.gz (15.5 kB view hashes)

Uploaded Source

Built Distribution

j2y-0.3.0-py2.py3-none-any.whl (9.3 kB view hashes)

Uploaded Python 2 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