A markup template compiler with data support.
Note: The weav package on PyPI is unrelated to this project.
- Render Jinja2 templates with data from YAML files
- Support for multiple data files with deep merge
- Key-value parameters via command line
- Flexible template search paths
- Read data from stdin
uv tool install git+https://github.com/dynamist/weav.gitgit clone https://github.com/dynamist/weav.git
cd weav
uv syncBasic usage with key-value parameters:
weav template.j2 --keyval name=WorldUsing a YAML data file:
weav template.j2 --data config.yamlMultiple data files with key wrapping:
weav report.j2 --data items=tasks.yaml --data config.yamlReading data from stdin:
cat data.yaml | weav template.j2 --data -Templates are searched in the following order:
- Package bundled templates
./templatesin current directory~/.local/share/weav/templates(user data directory)~/Documents/weav/templates(user documents)
You can also specify a direct file path to a template.
| Option | Description |
|---|---|
-d, --data |
YAML data file(s). Use KEY=FILE to wrap under key. Use - for stdin. |
-k, --keyval |
Key-value pairs (KEY=VAL). Can specify multiple times. |
-v, --verbose |
Show verbose output (loaded files, etc.) |
-V, --version |
Show version and exit |
Apache License 2.0 - Copyright 2026 Dynamist AB