Skip to main content

jinja2 template renderer

Project description

jiren

jiren is an application that generates text from a template. The format of the template is based on jinja2.

PyPI PyPI - Python Version Python Tests codecov pre-commit.ci status

Read this in Japanese: 日本語

Installation

pip install jiren

Usage

Generate text

Generate text from a template using the jiren command. This command can read a template from stdin or files.

An example of reading a template from stdin:

Command:

echo "hello, {{ name }}" | jiren - -- --name=world

Outputs:

hello, world

An example of reading a template from a file:

Command:

cat <<EOF >template.j2
hello, {{ name }}
EOF

jiren template.j2 -- --name=world

Outputs:

hello, world

In this example, the template contains a variable called name. You can set values for variables in a template using program arguments passed to the jiren command. Note that the arguments for the variables must be located after --.

If you want to know more about template format, please refer to jinja2 document ( http://jinja.pocoo.org/ ).

Variables in a template

You can use the help to check the variables defined in a template.

Command:

echo "{{ message }}, {{ name }}" | jiren --help -

Outputs:

... (omitted)

variables:
  --name NAME
  --message MESSAGE

Default values

You can set default values for variables for which no values was specified. This is based on the jinja2 specification.

Command:

echo "{{ message }}, {{ name | default('world') }}" | jiren - -- --message=hello

Outputs:

hello, world

Option: data

You can pass a file with variables defined structurally using the --data option.

Command:

cat <<EOF >data.yaml
greeting:
  message: hello
  name: world
EOF

echo "{{ greeting.message }}, {{ greeting.name }}" | jiren --data=data.yaml -

Outputs:

hello, world

Option: strict

If the --strict option is used with the --data option, all variables in the data file must be used in the template.

Command:

cat <<EOF >data.yaml
message: hello
invalid_key: invalid
EOF

echo "{{ message }}" | jiren --data=data.yaml --strict -

Outputs:

jiren: error: the data file contains unknown variables: invalid_key

Option: required

When using the --required option, you must specify values for all variables.

Command:

echo "{{ message }}, {{ name }}" | jiren --required - -- --message=hello

Outputs:

jiren: error: the following variables are required: name

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

jiren-0.7.5.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

jiren-0.7.5-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file jiren-0.7.5.tar.gz.

File metadata

  • Download URL: jiren-0.7.5.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for jiren-0.7.5.tar.gz
Algorithm Hash digest
SHA256 5ba161fecbcc664ebe935b36c4a70c831dbfdc826093b5e82758374af6220cbe
MD5 aec8ffea4729f80667aeb8124e836a47
BLAKE2b-256 2dd40f8c81ca62009e2bb1e238b20c26767c8717f3aa17e6be4b9e9820a20be6

See more details on using hashes here.

File details

Details for the file jiren-0.7.5-py3-none-any.whl.

File metadata

  • Download URL: jiren-0.7.5-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for jiren-0.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 002c9bdfc34034557770d1dcfc550b92a403842378b7851013460abb31f06ee3
MD5 7edbc731d57f0cfef8c05e83b51a6021
BLAKE2b-256 005792aee633f8b77cc1d462651bae5dc4048c834cb6dece2196aa2768c8d067

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