copier
A library for rendering project templates.
Decision gist · record as of 2026-08-14
Yes. Copier is actively maintained (release 10 days ago), has low install friction, carries a permissive MIT license, and no known vulnerabilities. It is well-suited for teams and individuals who need to generate projects from templates or manage template-based code scaffolding. Install it if you create or consume project templates; skip it if you only need simple file copying or one-off project setup.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or newer and Git 2.27 or newer installed on your system.
- Low install friction with a pure-Python wheel distribution.
- Active maintenance with a release 10 days ago and last commit on 2026-08-14.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) means you can use, modify, and distribute Copier and projects generated from it with minimal restrictions, provided you include the license notice.
last release 2026-08-04 (10 days) · last repo commit 2026-08-14 · 3,524 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,343,936 downloads/mo, #3,120 on PyPI
Alternatives
Verify before relying
pip install copier
from copier import run_copy
run_copy("path/to/template", "path/to/destination")
# or from Git:
run_copy("gh:copier-org/copier.git", "path/to/destination")- Whether the package handles merge conflicts or file updates when regenerating from an evolved template.
- Performance characteristics when processing large templates with many files or complex Jinja2 logic.
- Whether questionary integration supports non-interactive or scripted answer provision.
What it is and what it does
Copier is a library and command-line tool for rendering project templates into new projects. It reads a template directory (local or from a Git URL), asks users questions defined in a copier.yml configuration file, and uses those answers to dynamically generate files and directories with substituted names and content via Jinja2 templating. The tool is designed for both one-time scaffolding and ongoing project evolution—templates can be updated and applied to existing projects.
The package targets two main audiences: template creators who want to avoid repeating boilerplate code, and template consumers who want to quickly start new projects or keep them synchronized with an evolving template. It handles file preservation (not overwriting existing files unless instructed) and includes interactive prompts via questionary, colored output via colorama, and support for YAML-based configuration. With 14 runtime dependencies including Pydantic for validation and Jinja2 for templating, it provides a full-featured templating system suitable for code scaffolding and project lifecycle management.
Use it for
- Scaffold a new Python package with standardized structure, tests, and CI configuration by running a single copier command.
- Create and maintain a company-wide project template that developers can use to start new microservices with consistent tooling.
- Update an existing project generated from a template when the template itself evolves, preserving local customizations.
- Generate multiple similar projects (e.g., Django apps, FastAPI services) from a single parameterized template.
- Automate project initialization in CI/CD pipelines by calling copier's Python API with predefined answers.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Copier is actively maintained (release 10 days ago), has low install friction, carries a permissive MIT license, and no known vulnerabilities. It is well-suited for teams and individuals who need to generate projects from templates or manage template-based code scaffolding. Install it if you create or consume project templates; skip it if you only need simple file copying or one-off project setup.
Install
copier on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a release 10 days ago and last commit on 2026-08-14. Supports Python 3.10 through 3.14, with 14 runtime dependencies including Jinja2, Pydantic, and questionary for interactive prompts.
Requires Python 3.10 or newer and Git 2.27 or newer installed on your system.
License in practice
MIT license (permissive) means you can use, modify, and distribute Copier and projects generated from it with minimal restrictions, provided you include the license notice.
Quickstart
pip install copier
from copier import run_copy
run_copy("path/to/template", "path/to/destination")
# or from Git:
run_copy("gh:copier-org/copier.git", "path/to/destination")
Verify before relying
- Whether the package handles merge conflicts or file updates when regenerating from an evolved template.
- Performance characteristics when processing large templates with many files or complex Jinja2 logic.
- Whether questionary integration supports non-interactive or scripted answer provision.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 14 packagescoloramadunamaifuncyjinja2-ansible-filtersjinja2packagingpathspecplatformdirsplumbumpydanticpygmentspyyamlquestionarytyping-extensions |
| Maintenance | Actively maintained 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,343,936 / month, #3,120 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: copier-9.17.1-py3-none-any.whl
Tags
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 › “project template generator”
- copierCopier is a template engine and CLI tool that generates projects from…
- makeGenerates project directory structures and files from Jinja2…
- PyScaffoldPyScaffold generates a complete Python project template with…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also copier-template-extensions · copier-templates-extensions · Jinja2 · cruft · jinja-cli · cookiecutter · sphinx-jinja · djlint · md2pdf · brand-yml