Cookiecutter
Create projects swiftly from cookiecutters (project templates) with this command-line utility. Ideal for generating Python package projects and more.
Installation
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
Features
- 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.
For Users
Quick Start
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
$ 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
cookiecutter('cookiecutter-pypackage/')
cookiecutter('gh:audreyfeldroy//cookiecutter-pypackage.git')
Detailed Usage
- Generate projects from local or remote templates.
- Customize projects with
cookiecutter.json
prompts. - Utilize pre-prompt, pre- and post-generate hooks.
Learn More
For Template Creators
- Utilize unlimited directory nesting.
- Employ Jinja2 for all templating needs.
- Define template variables easily with
cookiecutter.json
.
Learn More
Available Templates
Discover a variety of ready-to-use templates on GitHub.
Special Templates
Join the community, contribute, or seek assistance.
Support
- Star us on GitHub.
- Stay tuned for upcoming support options.
Feedback
We value your feedback. Share your criticisms or complaints constructively to help us improve.
Waiting for a Response?
- Be patient and consider reaching out to the community for assistance.
- For urgent matters, contact @audreyfeldroy for consultation or custom development.
Code of Conduct
Adhere to the PyPA Code of Conduct during all interactions in the project's ecosystem.
Acknowledgements
Created and led by Audrey Roy Greenfeld, supported by a dedicated team of maintainers and contributors.