Skip to content

Comparing Copier to other project generatorsΒΆ

The subject of project scaffolding has been around for some time, and Copier is just a new one in a list of long established good projects. Here's a simple comparison. If you find something wrong, please open a PR and fix it! We don't want to be biased, but it's easy that we tend to be:

Feature Copier Cookiecutter Yeoman
Can template file names Yes Yes Yes
Configuration Single or multiple YAML files Single JSON file JS module
Migrations Yes No No
Programmed in Python Python NodeJS
Requires handwriting JSON No Yes Yes
Requires installing templates separately No No Yes
Requires programming No No Yes, JS
Requires templates to have a suffix Yes3 No, not configurable You choose
Task hooks Yes Yes Yes
Template in a subfolder Not required, but you choose Yes, required Yes, required
Template package format Git repo2, Git bundle, folder Git or Mercurial repo, Zip file NPM package
Template updates Yes4 No No
Templating engine Jinja1 Jinja EJS

1 Copier configures Jinja to use [[ brackets ]] instead of {{ curly braces }} by default, but that can be changed per template if needed.

2 Git repo is recommended to be able to use advanced features such as template tagging and smart updates.

3 A suffix is required. Defaults to .tmpl, but can be configured.

4 Only for git templates, because Copier uses git tags to obtain available versions and extract smart diffs between them.