Injecting Extra Context
You can specify an extra_context dictionary that will override values from cookiecutter.json or .cookiecutterrc:
cookiecutter(
    'cookiecutter-pypackage/',
    extra_context={'project_name': 'TheGreatest'},
)
This works as command-line parameters as well:
cookiecutter --no-input cookiecutter-pypackage/ project_name=TheGreatest
You will also need to add these keys to the cookiecutter.json or .cookiecutterrc.
Example: Injecting a Timestamp
If you have cookiecutter.json that has the following keys:
{
    "timestamp": "{{ cookiecutter.timestamp }}"
}
This Python script will dynamically inject a timestamp value as the project is generated:
from cookiecutter.main import cookiecutter
from datetime import datetime
cookiecutter(
    'cookiecutter-django',
    extra_context={'timestamp': datetime.utcnow().isoformat()}
)
How this works:
The script uses
datetimeto get the current UTC time in ISO format.To generate the project,
cookiecutter()is called, passing the timestamp in as context via theextra_context`dict.