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 available, install cookiecutter in your Python user directory using:
python -m pip install --user cookiecutter
- Cross-Platform: Supports Windows, Mac, and Linux.
- User-Friendly: No Python knowledge required.
- Versatile: Compatible with Python 3.8 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-pypackageUse 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.jsonprompts. - 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.
To help users better understand how Cookiecutter works, you can check out the following resources:
- Video Tutorial: Watch on YouTube
- Presentation Slides: View the Slides
- 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.