Skip to main content

amplecode.recipe.template is a Buildout recipe for generating files using Jinja2 templates. The recipe configures a Jinja2 environment, by default relative to the Buildout directory, allowing templates to extend and include other templates relative to the environment.

Downloads are available from pypi: http://pypi.python.org/pypi/amplecode.recipe.template/

Buildout Options

  • template-file (required): One or more Jinja2 template file paths.

  • target-file (required): One of more target file paths. The number of files must match the number of template files.

  • base-dir: Base directory of the Jinja2 environment. Template file paths are relative to this directory. Default is the Buildout directory.

  • target-executable: One or more boolean flags (yes|no|true|false|1|0) indicating the executability of the target files. If only one flag is given it is applied to all target files.

  • eggs: Reserved for a list of eggs, conveniently converted into a pkg_resources.WorkingSet when specified

Additional options are simply forwarded to the templates, and options from all the other parts listed in buildout:parts are made available through parts.<part-name>.<option-name> and parts[<part-name>][<option-name>].

Lists of Values

It is possible for a recipe option to contain one or more values, separated by whitespace. A split filter is available for when you want to iterate over the whitespace separated values in your Jinja2 template:

#!/bin/sh
{% for cmd in cmds|split %}
   echo "{{ cmd }}"
{% endfor %}

Minimal Example

foo.txt is created from foo.txt.jinja2 without any extra options:

[buildout]
parts = foo

[foo]
recipe = amplecode.recipe.template
template-file = foo.txt.jinja2
target-file = foo.txt

Larger Example

foo.txt is created from myapp/foo.txt.jinja2, bar.sh is created from myapp/bar.sh.jinja2, the second will be executable, and both templates can utilize the additional options specified:

[buildout]
parts = foo

[foo]
recipe = amplecode.recipe.template
base-dir = myapp
template-file =
    foo.txt.jinja2
    bar.sh.jinja2
target-file =
    foo.txt
    bar.sh
target-executable =
    false
    true
project_name = Another Example
author = Me

Changelog

See the CHANGELOG file

License

See the LICENSE file

Metadata

Release files for amplecode.recipe.template 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for amplecode.recipe.template 1.1
File Size Uploaded Provenance
amplecode.recipe.template-1.1.tar.gz 5.8 kB Without provenance Details

Release files / amplecode.recipe.template-1.1.tar.gz

Download URL amplecode.recipe.template-1.1.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7fdf301997c1511e265290967bc82ae60a359361c947e83fe4d16d08547e521d
BLAKE2b-256 checksum
How to use checksums
ac277df1ee6e22700b77ab1b59a3d3520e9b3d8ec02ed13379e3e839e44b42ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for amplecode.recipe.template 1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page