Library and command-line utility for rendering projects templates.
_answers_file
setting (#1027)_copier_conf.sep
to allow generating
dynamic directory structures!include
constructor globally (#947)--conflict
flag only in copier update
subcommandMapping
instead of ChainMap
typedict
constructor as default factoryAll changes here. Summary:
--defaults
flag to use default answers to questions, which might be null if
not specified.--overwrite
flag to overwrite files that already exist, without asking.$VERSION_PEP440_FROM
,
$VERSION_PEP440_CURRENT
and $VERSION_PEP440_TO
, which will always get a valid
PEP440 version identifier, without the v
prefix, allowing your migration scripts
to have a valid standard where to base their logic.user_defaults
, which take precedence over template defaults._copier_python
to provide python sys.executable
.copier copy
on a preexisting project now recopies the project instead of
updating it. That means that it respects old answers, but ignores history diff.{{ }}
instead of [[ ]]
and similar.type: yaml
to make it behave mostly as before. Or just don't use that, it's
complicated anyway (warn added to docs).--force
to be the same as --defaults --overwrite
.git clone --filter=blob:none
when cloning, to be faster.now
and make_secret
functions. If your template used those, Copier
will emit warnings leading you on how to upgrade it._min_copier_version
below 6 will still default to use
bracket-based Jinja defaults, but that will disappear soon. If you want your
template to work on Copier 5 and 6, make sure to declare _envops
explicitly in
your copier.yaml
.copier.copy()
is confusing, now that actually copying and updating are 2
completely different actions (before, you were actually always updating if
possible). Its direct equivalent is now copier.run_auto()
, and copier.copy()
will disappear in the future.json
method on _copier_conf
. Where you would previously use
_copier_conf.json()
in your templates, please now use _copier_conf|to_json
instead.--subdirectory
flag, which was confusing... and probably useless.python -m copier
now.-f
is a shortcut now.Changes since last alpha:
Changes since last alpha: