A comprehensive command line utility to render templates and ease code generation.
Project description
Shadow
A comprehensive command line utility to render templates and ease code generation.
Free software: GNU General Public License v3
Documentation: https://shadow.readthedocs.io.
Features
Incorporates a convention over configuration mentality.
Use the default *.tpl extension to find and render templates, or specify your own.
Use the template extension on a directory to render all files under it.
Specify the path(s) or let it default to searching for templates in the current working directory.
Use template variables in filenames to render scalar filename outputs.
Use hash/dict or list/array types in filenames to render multiple files.
Default configuration expects a file named shadowconf with any of the following extensions: .json, .hcl, .env, .yml, .ini.
If no configuration file is specified, it will load and use the shell environment to render variables.
All defaults can be overriden.
Quick Install
Install from PyPi:
pip install shadow-cli
Install from GitHub:
git clone https://github.com/karma0/shadow cd shadow pip install -U .
Examples
Display the help and exit:
shadow --help
Discover templates to be generated:
shadow sim
Find all templates in the current working directory and generate them using the config file shadowconf.json as the variables to build them:
shadow fax
Find all generated templates and remove them:
shadow clean
Generate templates in the tests directory on files ending in *.j2, using environment variables to fill and render the templates:
shadow fax -e -t .j2 tests
Generate the single template file named test.txt using the HCL config file test.txt.hcl:
shadow fax -c test.txt.hcl test.txt.tpl
Credits
Created and maintained by karma0.
This package was created with Cookiecutter and the karma0/cookiecutter-pypackage project template.
History
0.3.0 (2019-02-06)
Added config passthrough from CLI.
Fixed yield bug in rendering of filenames.
Added some preliminary tests.
Fixed logging.
Added always fallback to loading the environment if no config file is present.
Added checks for shadowconf file using extensions: json, ini, env, etc.
0.2.2 (2019-01-31)
Documentation fixes.
0.2.1 (2019-01-31)
Version bump; getting everything working.
0.2.0 (2019-01-31)
First release on PyPI.
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
File details
Details for the file shadow-cli-0.3.0.tar.gz
.
File metadata
- Download URL: shadow-cli-0.3.0.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 961813ed2bc3903c85d83b9c6a476549fae19a027e88adbe8d5455e8c146a817 |
|
MD5 | d75b5600395dde9706292053753d9183 |
|
BLAKE2b-256 | 51ffd7f1b7c12e0729f820db54b3e81f7ade3c9161454f2c3704d4f073059357 |