Copier

Latest version: v9.6.0

Safety actively analyzes 714875 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 7

3.1.0

[All changes here](https://github.com/pykong/copier/milestone/7?closed=1). Summary:

- Assert minimum Copier version.
- Prettier prompts.
- Prompt self-templating.
- Better README.

3.0.0

This is a big release with many new features added and improved. The code base also
received a lot of love and hardening.

Features

- Minimal supported Python version is now 3.6.
- Dropped support for deprecated `voodoo.json`.
- Introduced gitignore-style patterns for `exclude` und `skip-if-exists`.
- Dropped support for `include` option.
- Added support for extending content of config files via content of other files via
`pyaml-include`.
- Customizable template extension.
- Ability to remember last answers.
- Ability to choose where to remember them.
- Template upgrades support, (based on the previous points) with migration tasks
specification.
- Extended questions format, supporting help, format, choices and secrets.
- More beautiful prompts.
- New CLI experience.

Other

- Moved to `poetry` for package management.
- Type annotated entire code base.
- Increased test coverage.
- Ditched `ruamel.yaml` for `PyYaml`.
- Ditched Travis CI for GitHub Actions.
- Added `pre-commit` for enforced linting.
- Added `prettier`, `black` and `isort` for code formatting.
- Added `pytest` for running tests.
- Use `plumbum` as CLI and subprocess engine.

2.5.0

- Expanduser on all paths (so "~/foo/bar" is expanded to
"<YOUR_HOME_FOLDER>/foo/bar").
- Improve the output when running tasks.
- Remove the destination folder if the copy process or one of the tasks fail.
- Add a `cleanup_on_error` flag to optionally disable the cleanup feature.
- Add the `skip_if_exists` option to skip files, without asking, if they already
exists in the destination folder.

2.4.2

- Fix MAJOR bug that was preventing the `_exclude`, `_include` and `_tasks` keys from
`copier.yml` (or alternatives) to be used at all. It also interpreted `_tasks` as a
user-provided variable.

2.4.0

- Empty folders are now copied. The folders are also displayed in the console output
instead of just the files.
- `prompt_bool` can now have an undefined default (and answer is mandatory in that
case).
- Reactivates the `copier.yml` and `copier.yaml` as configuration files.
- The new `extra_paths` argument specifies additional paths to find templates to
inherit from.

2.3.0

- Back to using a setup.py instead of a pyproject.toml.
- The recommended configuration file is now `copier.toml`.

Page 6 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.