{"id":21069,"library":"copier-templates-extensions","title":"copier-templates-extensions (deprecated, use copier-template-extensions)","description":"Deprecated package. The project has been renamed to `copier-template-extensions` (singular). Install the new package instead. Current version 0.3.3 provides backward-compatible shims for the old import paths.","status":"deprecated","version":"0.3.3","language":"python","source_language":"en","source_url":"https://github.com/copier-org/copier-template-extensions","tags":["copier","templates","extensions","deprecated"],"install":[{"cmd":"pip install copier-template-extensions","lang":"bash","label":"Install the renamed package"}],"dependencies":[{"reason":"Required for extension functionality; version >=9.2.","package":"copier","optional":false},{"reason":"Replacement package; this deprecated package is a holdover.","package":"copier-template-extensions","optional":false}],"imports":[{"note":"Old package name was 'copier-templates-extensions' (plural). The rename changed the import path to singular.","wrong":"from copier_templates_extensions import ContextHook","symbol":"ContextHook","correct":"from copier_template_extensions import ContextHook"}],"quickstart":{"code":"# Install the new package\n# pip install copier-template-extensions\n\nfrom copier_template_extensions import ContextHook\n\nclass MyHook(ContextHook):\n    def hook(self, context: dict) -> dict:\n        context['my_key'] = 'value'\n        return context","lang":"python","description":"Basic usage of ContextHook. Note the singular import path."},"warnings":[{"fix":"pip uninstall copier-templates-extensions && pip install copier-template-extensions","message":"Package renamed from 'copier-templates-extensions' to 'copier-template-extensions' (singular). The old package is deprecated and will no longer receive updates.","severity":"breaking","affected_versions":">=0.3.2"},{"fix":"Change imports to 'from copier_template_extensions import ...'","message":"The import path changed: from 'copier_templates_extensions' (plural) to 'copier_template_extensions' (singular). Old imports will break in future versions.","severity":"breaking","affected_versions":">=0.3.2"},{"fix":"Install copier-template-extensions directly.","message":"The old package (copier-templates-extensions) is deprecated. Installing it will pull in the new package but this compatibility shim may be removed.","severity":"deprecated","affected_versions":"0.3.3"},{"fix":"Upgrade Copier: pip install --upgrade copier","message":"Requires Copier >= 9.2. If you have an older Copier version, the extensions may fail to load.","severity":"gotcha","affected_versions":">=0.3.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install the correct package: pip install copier-template-extensions (singular). Then use: from copier_template_extensions import ContextHook","cause":"You installed the old package name but used the new singular import path, or vice versa.","error":"ModuleNotFoundError: No module named 'copier_template_extensions'"},{"fix":"Switch to the new singular package: pip install copier-template-extensions, then use: from copier_template_extensions import ContextHook","cause":"You are using the old plural package name but the import path changed.","error":"ImportError: cannot import name 'ContextHook' from 'copier_templates_extensions'"},{"fix":"Install and import from the new package: pip install copier-template-extensions; from copier_template_extensions import ContextHook","cause":"Old package stopped exporting ContextHook directly after rename (shims may be incomplete).","error":"AttributeError: module 'copier_templates_extensions' has no attribute 'ContextHook'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}