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

Note

The name of this Python package is j2y, but it will be renamed to j2-cli with the next major release.

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.

Files for j2y, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size j2y-0.3.0-py2.py3-none-any.whl (9.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size j2y-0.3.0.tar.gz (15.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page