A command-line utility that creates projects from project templates, e.g. creating a Python package project from a Python package project template.
Project description
A command-line utility that creates projects from project templates, e.g. creating a Python package project from a Python package project template.
Documentation: http://cookiecutter.rtfd.org
Free software: BSD license
Features
Simple command line usage:
# Create project from the cookiecutter-pypackage/ template $ cookiecutter cookiecutter-pypackage/ # Create project from the cookiecutter-pypackage.git repo template $ cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git
Or 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('https://github.com/audreyr/cookiecutter-pypackage.git')
Works with any type of text file.
Directory names and filenames can be templated. For example:
{{project.repo_name}}/{{project.repo_name}}/{{project.repo_name}}.py
Supports unlimited levels of directory nesting.
Simply define your template variables in a JSON file. For example:
{ "full_name": "Audrey Roy", "email": "audreyr@gmail.com", "project_name": "A Lot of Effort", "repo_name": "alotofeffort", "project_short_description": "Deploy static HTML sites to S3 with the simple 'alotofeffort' command.", "release_date": "2013-07-10", "year": "2013", "version": "0.1.1" }
All templating is done with Jinja2. Cookiecutter simply renders a directory of Jinja2 templates to files, including rendering the dir names and filenames.
Similar projects
Paste has a create option that creates a skeleton project.
Diecutter: an API service that will give you back a configuration file from a template and variables.
Django’s startproject and startapp commands can take in a –template option.
python-packager: Creates Python packages from its own template, with configurable options.
History
0.5 (2013-07-28)
Friendlier, more simplified command line usage:
# Create project from the cookiecutter-pypackage/ template $ cookiecutter cookiecutter-pypackage/ # Create project from the cookiecutter-pypackage.git repo template $ cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git
Can now use Cookiecutter from Python as a package:
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('https://github.com/audreyr/cookiecutter-pypackage.git')
Internal refactor to remove any code that changes the working directory.
0.4 (2013-07-22)
Only takes in one argument now: the input directory. The output directory is generated by rendering the name of the input directory.
Output directory cannot be the same as input directory.
0.3 (2013-07-17)
Takes in command line args for the input and output directories.
0.2.1 (2013-07-17)
Minor cleanup.
0.2 (2013-07-17)
Bumped to “Development Status :: 3 - Alpha”.
Works with any type of text file.
Directory names and filenames can be templated.
0.1.0 (2013-07-11)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.