$npx skillfedfor your agent

copier-template-extensions

Special Jinja2 extension for Copier that allows to load extensions using file paths relative to the template root instead of Python dotted paths.

With conditionsPyPI Software DevelopmentReleased Jul 2025184.0K downloads / moISCPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — copier_template_extensions-0.3.3-py3-none-any.whl
v0.3.3 · released 2025-07-15 · Python >=3.9 · 1 runtime deps: copier

Yes, if you are authoring Copier templates and want to add custom Jinja logic without publishing separate packages. The low install friction, permissive license, and typed codebase make it safe to adopt. The 395-day maintenance gap is a minor concern for a stable, narrowly-scoped utility, but verify that it aligns with your Copier version before committing to a large template project.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires copier to be installed; intended for use within Copier template projects, not standalone.
  • Low friction: pure Python wheel with a single runtime dependency on copier.
  • Maintenance status is aging—last release was 395 days ago, though the repository remains active and the package is typed.

License · maintenance · safety

ISC (permissive) — ISC license is permissive and imposes minimal restrictions; safe for commercial and private use without significant compliance burden.

last release 2025-07-15 (395 days) · last repo commit 2025-07-15 · 35 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 184,030 downloads/mo, #10,050 on PyPI

Verify before relying

pip install copier-template-extensions

# In copier.yml:
_jinja_extensions:
  - copier_template_extensions.TemplateExtensionLoader
  - extensions/myext.py:MyExtension

# In extensions/myext.py:
from copier_template_extensions import ContextHook
class MyExtension(ContextHook):
    def hook(self, context):
        context["new_var"] = "computed_value"
  • Whether the package is actively maintained or in maintenance-only mode given the 395-day gap since last release.
  • Real-world performance impact of loading extensions from file paths versus dotted module paths in large template projects.
Same gist for agents: .md · .json

What it is and what it does

Copier Template-Extensions is a Jinja2 extension for Copier that lets you define custom template extensions as Python files stored in your template directory, then reference them by relative file path instead of Python module dotted notation. This is particularly useful for template authors who want to add custom filters, tests, or context manipulation without requiring users to install separate Python packages or manage complex module paths.

The package provides two main features: a TemplateExtensionLoader that resolves file-path-based extension references, and a ContextHook base class that simplifies adding or modifying template context variables during rendering. This is helpful when you want to compute derived values (like converting a project type into a module name) or apply transformations without cluttering template filenames with Jinja macros or inline logic.

Use it for

  • Add custom Jinja filters (like slugify) to a Copier template without publishing them as a separate package.
  • Compute derived context variables during template rendering based on user answers (e.g., inferring module names from project type).
  • Organize template logic into separate Python modules within the template directory for readability and maintainability.
  • Implement template-specific hooks that run during different Copier phases (prompting, rendering, tasks, migrations) to validate or transform context.
  • Avoid ugly Jinja macro imports or inline context updates in template filenames by centralizing logic in Python extension classes.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are authoring Copier templates and want to add custom Jinja logic without publishing separate packages.

The low install friction, permissive license, and typed codebase make it safe to adopt. The 395-day maintenance gap is a minor concern for a stable, narrowly-scoped utility, but verify that it aligns with your Copier version before committing to a large template project.

Install

copier-template-extensions on PyPI

Before you install

Low friction: pure Python wheel with a single runtime dependency on copier. Maintenance status is aging—last release was 395 days ago, though the repository remains active and the package is typed.

Requires copier to be installed; intended for use within Copier template projects, not standalone.

License in practice

ISC license is permissive and imposes minimal restrictions; safe for commercial and private use without significant compliance burden.

Quickstart

pip install copier-template-extensions

# In copier.yml:
_jinja_extensions:
  - copier_template_extensions.TemplateExtensionLoader
  - extensions/myext.py:MyExtension

# In extensions/myext.py:
from copier_template_extensions import ContextHook
class MyExtension(ContextHook):
    def hook(self, context):
        context["new_var"] = "computed_value"

Verify before relying

  • Whether the package is actively maintained or in maintenance-only mode given the 395-day gap since last release.
  • Real-world performance impact of loading extensions from file paths versus dotted module paths in large template projects.

Package facts

LicenseISC permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
copier
MaintenanceAging 395 days since the last release
Last repo commit
First released
Downloads184,030 / month, #10,050 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software DevelopmentTopic :: UtilitiesTyping :: Typed

Evidence: copier_template_extensions-0.3.3-py3-none-any.whl

Tags

Capabilities
copier jinja2 extensionstemplate custom filtersrelative path jinja extensionscopier template loaderjinja2 extension file pathscopier context hookstemplate variable manipulation
Topics
copier-pluginjinja2-extensiontemplate-authoring
PyPI keywords
copiertemplatesextension

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “copier jinja2 extensions”

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.

permissive licensepure Python
323.3Mdownloads / mo

See also copier · copier-templates-extensions · Jinja2 · mkdocs-macros-plugin · sphinx-jinja · jinja2_pluralize · jinja_partials · ruamel.yaml.jinja2 · pyramid-jinja2 · vsdx