Create projects swiftly from cookiecutters (project templates) with this command-line utility. Ideal for generating Python package projects and more.
Install cookiecutter using pip package manager:
# pipx is strongly recommended.
pipx install cookiecutter
# If pipx is not an option,
# you can install cookiecutter in your Python user directory.
python -m pip install --user cookiecutter
- Cross-Platform: Supports Windows, Mac, and Linux.
- User-Friendly: No Python knowledge required.
- Versatile: Compatible with Python 3.7 to 3.12.
- Multi-Language Support: Use templates in any language or markup format.
The recommended way to use Cookiecutter as a command line utility is to run it with pipx
, which can be installed with pip install pipx
, but if you plan to use Cookiecutter programmatically, please run pip install cookiecutter
.
Use a GitHub template
# You'll be prompted to enter values.
# Then it'll create your Python package in the current working directory,
# based on those values.
# For the sake of brevity, repos on GitHub can just use the 'gh' prefix
$ pipx run cookiecutter gh:audreyfeldroy/cookiecutter-pypackage
Use a local template
$ pipx run cookiecutter cookiecutter-pypackage/
Use it from Python
from cookiecutter.main import cookiecutter
# Create project from the cookiecutter-pypackage/ template
cookiecutter('cookiecutter-pypackage/')
# Create project from the cookiecutter-pypackage.git repo template
cookiecutter('gh:audreyfeldroy//cookiecutter-pypackage.git')
- Generate projects from local or remote templates.
- Customize projects with
cookiecutter.json
prompts. - Utilize pre-prompt, pre- and post-generate hooks.
- Utilize unlimited directory nesting.
- Employ Jinja2 for all templating needs.
- Define template variables easily with
cookiecutter.json
.
Discover a variety of ready-to-use templates on GitHub.
Join the community, contribute, or seek assistance.
- Star us on GitHub.
- Stay tuned for upcoming support options.
We value your feedback. Share your criticisms or complaints constructively to help us improve.
- Be patient and consider reaching out to the community for assistance.
- For urgent matters, contact @audreyfeldroy for consultation or custom development.
Adhere to the PyPA Code of Conduct during all interactions in the project's ecosystem.
Created and led by Audrey Roy Greenfeld, supported by a dedicated team of maintainers and contributors.