Comparing Copier to other project generators¶
The subject of code scaffolding has been around for some time, and there are long established good projects.
Here's a simple comparison. If you find something wrong, please open a PR and fix these docs! We don't want to be biased, but it's easy that we tend to be:
Although Copier was born as a code scaffolding tool, it is today a code lifecycle management tool. This makes it somehow unique. Most tools below are only scaffolders and the comparison is not complete due to that.
|Can template file names||Yes||Yes||Yes|
|Configuration||Single YAML file1||Single JSON file||JS module|
|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||Yes by default, configurable3||No, not configurable||You choose|
|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|
Git repo is recommended to be able to use advanced features such as template tagging and smart updates. ↩
A suffix is required by default. Defaults to
.jinja, but can be configured to use a different suffix, or to use none. ↩
Only for Git templates, because Copier uses Git tags to obtain available versions and extract smart diffs between them. ↩