Injinja: Injectable Jinja Configuration tool. Insanely configurable... config system.
Project description
injinja 🥷
Injinja: Injectable Jinja Configuration tool.
Insanely configurable... config system.
Features
- Recursive Deep Merge: Sick of scrolling big fat mega config files? Would you rather have organised folders of smaller configs that act like they are part of the same big config? We recursively deep merge your config.
- Powerful: Any of your config files are now empowered with the full programming capabilities of
Jinjatemplating engine for better parametrising the one set of config files. - Flexible: You design your configuration schema yourself in any of JSON, YAML or TOML.
- Enabling: Separate your project config out to allow "Drive By Contributors". Even non-technical colleagues can edit a text file in a browser to raise a PR.
- Nothing Implicit: By design nothing is implicit and every input is explicit. We prefer powerful tools rather than "magic" tools.
Quickstart
uvx injinja -e home_dir="$HOME" -c 'samples/config/*' -t sql/ddl/warehouse__roles.sql.j2
# OR
uv run injinja.py -e home_dir="$HOME" -c 'samples/config/*' -t sql/ddl/warehouse__roles.sql.j2
Two step templating configuration system:
- Runtime
DYNAMICconfiguration (-eor--env) - Can template the
STATICconfiguration (-cor--config) - To allow deep and rich config to populate your
TEMPLATEfile (-tor--template).
Simplified Architecture
- Dynamic Configuration: Environment variables and CLI flags provide runtime values
- Static Configuration: YAML/JSON/TOML files that can themselves be Jinja templates
- Schema Validation: Validate merged configuration against schemas before templating
- Template Rendering: Apply the validated configuration to your target template
Documentation
Please read our User Guide Documentation
Roadmap and TODO list
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file injinja-1.1.0rc1-py3-none-any.whl.
File metadata
- Download URL: injinja-1.1.0rc1-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9256f81f12b2e9d2a2440a30357b59e7a6d04318690818cc5aa3937b30e301fa
|
|
| MD5 |
b54547e0e59a94b9f4ad3f6c305f56d2
|
|
| BLAKE2b-256 |
29b404554c399692ce650e16c3fb7d3a40c2caa6496ad2491456d18f91ad39db
|