Automatically generate files based on Jinja templates. Use it to easily generate complex Home Assistant dashboards!
Project description
Installation | Usage | Example | Templating
makejinja is a CLI tool and Python library to automatically generate files from templates.
makejinja
makejinja can be used to automatically generate files from Jinja templates. This allows you to load variables from external files or create repeating patterns via loops. It is conceptually similar to gomplate, but is built on Python and Jinja instead of Go. A use case for this tool is generating config files for Home Assistant: Using the same language that the built-in templates use, you can greatly simplify your configuration. An example for Home Assistant can be found in the tests directory.
Features
- Recursively convert nested directories containing template files. One can even specify a pattern to specify relevant files in a folder.
- Load data files containing variables to use in your Jinja templates from YAML, TOML, and Python files.
- Use custom functions in your Jinja templates by loading custom filters and/or globals.
- Easily load bundled as well as custom Jinja extensions.
- Tailor the whitespace behavior to your needs.
- Use custom delimiters for Jinja blocks/comments/variables.
- Modify all init options for the Jinja environment.
- Write custom Python loaders that implement a subset of our fully typed abstract loader class
Installation and Usage
The tool is written in Python and can be installed via pip, nix, and docker. It can be used as a CLI tool or as a Python library. Please refer to the installation instructions for details.
In its default configuration, makejinja searches the input folder recursively for files ending in .jinja
.
It then renders these files and writes them to the output folder, preserving the directory structure.
The manpage contains a detailed description of all options and can also be accessed via makejinja --help
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for makejinja-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9833ef81252df5b041bd1a613873cf3a8246fd9b20d7d5eb8bb661b325f27b92 |
|
MD5 | 572e213380134e5e92f0f5c3a8d0996b |
|
BLAKE2b-256 | 9a7c9f9399fce5c1a3ba0a7814e5ce0a7be47d55783fce280502e42f0c2aad77 |