Registry / devops / copier-template-extensions

copier-template-extensions

JSON →
library0.3.3pypypiunverified

Copier Template Extensions (copier-template-extensions) is a specialized Jinja2 extension for Copier, enabling the loading of other Jinja2 extensions using file paths relative to the template root, rather than standard Python dotted paths. As of version 0.3.3, it offers improved migration support. The project maintains an active release cadence with periodic updates.

pip install copier-template-extensions
INSTALL
IMPORT
SIG · COPIER-TEMPLATE-EX
C
copier-template-extensions
devopspythonv0.3.3
Install
5.3s avg
Import
Disk
52MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.3.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 54.6MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 5.3s · import 0.000s · 55MB
52MB installed
● package 52MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

copier_template_extensions.CopierExtension
copier_template_extensions.CopierExtension
copier_templates_extensions.CopierExtension
This is the string identifier used in your `copier.yaml` file to enable the extension within Copier. The `wrong` path refers to the old, plural package name before version 0.3.2.

To enable `copier-template-extensions`, include its module path in the `_extensions` list within your `copier.yaml`. This allows Copier to load other Jinja2 extensions specified by relative file paths within your template, such as `my_template_utils.py` shown here. The example demonstrates a custom filter named `custom_filter`.

# copier.yaml _extensions: - "copier_template_extensions.CopierExtension" # You can now load other extensions using relative paths: - "./my_template_utils.py:custom_filter" # my_template_utils.py def custom_filter(value): return f"CUSTOM({value.upper()})" # template.txt.jinja Hello {{ 'world' | custom_filter }}
Debug
Known issues
breakingThe project name changed from `copier-templates-extensions` (plural) to `copier-template-extensions` (singular) in version 0.3.2.
fix
Update your `pip install` commands and all references in `copier.yaml` and Python code from `copier_templates_extensions` to `copier_template_extensions`.
affects: >=0.3.2
breakingCopier Template Extensions now requires `copier>=9.2`.
fix
Ensure your `copier` installation is updated to version 9.2 or newer (`pip install --upgrade copier`).
affects: >=0.3.1
gotchaThis library enables loading Jinja2 extensions via relative file paths. If you attempt to use a relative path for an extension without first loading `copier_template_extensions.CopierExtension`, Copier will raise a `ModuleNotFoundError` or `TemplateSyntaxError`.
fix
Always include `"copier_template_extensions.CopierExtension"` in the `_extensions` list in your `copier.yaml` when you intend to use relative paths for other extensions.
affects: all
Upgrade
Version history
0.3.3latest on PyPI · released Jul 15, 2025
Audit
Dependencies
copierrequiredRequires Copier to function, specifically version 9.2 or newer.
Agent activity
6 hits · last 30 days
node
6
Resources
copier-template-extensions — pip install copier-template-extensions · libregistry