Cookiecutter
Create projects swiftly from cookiecutters (project templates) with this command-line utility. Ideal for generating Python package projects and more.
Installation
Install Cookiecutter as a CLI tool with uv:
uv tool install cookiecutter
Features
- Cross-Platform: Supports Windows, Mac, and Linux.
- User-Friendly: No Python knowledge required.
- Versatile: Compatible with Python 3.10 to 3.14.
- Multi-Language Support: Use templates in any language or markup format.
For Users
Quickstart
The most common way to use Cookiecutter is as a command line utility with a GitHub-hosted Cookiecutter template such as https://github.com/audreyfeldroy/cookiecutter-pypackage
Use a GitHub-hosted Cookiecutter 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
$ uvx cookiecutter gh:audreyfeldroy/cookiecutter-pypackage
Use a local template
$ uvx cookiecutter cookiecutter-pypackage/
Use it from Python
If you plan to use Cookiecutter programmatically, please run uv add cookiecutter to add it to your project. Then you can import and use it like this:
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')
If Cookiecutter saves you time, star it on GitHub so other developers can find it too.
Detailed Usage
- Generate projects from local or remote templates.
- Customize projects with
cookiecutter.jsonprompts. - Utilize pre-prompt, pre- and post-generate hooks.
For Template Creators
- Any language, any framework. A Cookiecutter template is just a directory with variables. It works for Python, Rust, Terraform, docs sites, whatever you build repeatedly.
- Hooks for the rest of the setup. Pre- and post-generate scripts (shell or Python) handle git init, dependency installs, or anything else your boilerplate needs.
- One file defines the interface.
cookiecutter.jsondeclares every variable and its default. Users answer prompts; the template does the rest.
Available Templates
Discover a variety of ready-to-use templates on GitHub.
Special Templates
Community
Join the community, contribute, or seek assistance.
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 enterprise support, contact support@feldroy.com.
Code of Conduct
Adhere to the PyPA Code of Conduct during all interactions in the project's ecosystem.
Acknowledgements
Created and led by Audrey M. Roy Greenfeld, supported by a dedicated team of maintainers and contributors.
Metadata
Release files for cookiecutter 2.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cookiecutter-2.7.1.tar.gz | 142.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cookiecutter-2.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 184.2 kB
Security for cookiecutter 2.7.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for cookiecutter-2.7.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.