cookiecutter 0 travis-ci python

A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects.



.. image:: :target:

.. image:: :target:

.. image:: :target:

.. image:: :target:

.. image:: :target:


This is not the official cookiecutter package, but a fork. It should remain compatible although with original cookiecutter as of 2015-01-30.

Here’s how to install this fork::

pip install git+

What follows is the original README.


A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.

.. image::


Did someone say features?

  • Cross-platform: Windows, Mac, and Linux are officially supported.

  • Works with Python 2.6, 2.7, 3.3, 3.4, and PyPy. (But you don’t have to know/write Python code to use Cookiecutter.)

  • Project templates can be in any programming language or markup format: Python, JavaScript, Ruby, CoffeeScript, RST, Markdown, CSS, HTML, you name it. You can use multiple languages in the same project template.

  • Simple command line usage:

    .. code-block:: bash

    # Create project from the cookiecutter-pypackage.git repo template
    # You'll be prompted to enter values.
    # Then it'll create your Python package in the current working directory,
    # based on those values.
    $ cookiecutter
    # For the sake of brevity, repos on GitHub can just use the 'gh' prefix
    $ cookiecutter gh:audreyr/cookiecutter-pypackage
  • Can also use it at the command line with a local template:

    .. code-block:: bash

    # Create project in the current working directory, from the local
    # cookiecutter-pypackage/ template
    $ cookiecutter cookiecutter-pypackage/
  • Or use it from Python:

    .. code-block:: python

    from cookiecutter.main import cookiecutter
    # Create project from the cookiecutter-pypackage/ template
    # Create project from the cookiecutter-pypackage.git repo template
  • Directory names and filenames can be templated. For example::


  • Supports unlimited levels of directory nesting.

  • 100% of templating is done with Jinja2. This includes file and directory names.

  • Simply define your template variables in a cookiecutter.json file. For example:

    .. code-block:: json

        "full_name": "Audrey Roy",
        "email": "[email protected]",
        "project_name": "Complexity",
        "repo_name": "complexity",
        "project_short_description": "Refreshingly simple static site generator.",
        "release_date": "2013-07-10",
        "year": "2013",
        "version": "0.1.1"
  • Unless you suppress it with --no-input, you are prompted for input:

    • Prompts are the keys in cookiecutter.json.
    • Default responses are the values in cookiecutter.json.
    • Prompts are shown in order.
  • Cross-platform support for ~/.cookiecutterrc files:

    .. code-block:: yaml

        full_name: "Audrey Roy"
        email: "[email protected]"
        github_username: "audreyr"
    cookiecutters_dir: "~/.cookiecutters/"
  • Cookiecutters (cloned Cookiecutter project templates) are put into ~/.cookiecutters/ by default, or cookiecutters_dir if specified.

  • You can use local cookiecutters, or remote cookiecutters directly from Git repos or from Mercurial repos on Bitbucket.

  • Default context: specify key/value pairs that you want used as defaults whenever you generate a project

  • Direct access to the Cookiecutter API allows for injection of extra context.

  • Pre- and post-generate hooks: Python or shell scripts to run before or after generating a project.

  • Paths to local projects can be specified as absolute or relative.

  • Projects are always generated to your current directory.

Available Cookiecutters

Here is a list of cookiecutters (aka Cookiecutter project templates) for you to use or fork.

Make your own, then submit a pull request adding yours to this list!

Python ~~~~~~

  • cookiecutter-pypackage: @audreyr’s ultimate Python package project template.
  • cookiecutter-flask_ : A Flask template with Bootstrap 3, starter templates, and working user registration.
  • cookiecutter-bottle_ : A cookiecutter template for creating reusable Bottle projects quickly.
  • cookiecutter-simple-django_: A cookiecutter template for creating reusable Django projects quickly.
  • cookiecutter-django_: A bleeding edge Django project template with Bootstrap 3, customizable users app, starter templates, and working user registration.
  • cookiecutter-djangopackage_: A template designed to create reusable third-party PyPI friendly Django apps. Documentation is written in tutorial format.
  • cookiecutter-django-cms_: A template for Django CMS with simple Bootstrap 3 template. It has a quick start and deploy documentation.
  • cookiecutter-djangocms-plugin_: A template to get started with custom plugins for django-cms
  • cookiecutter-openstack_: A template for an OpenStack project.
  • cookiecutter-docopt: A template for a Python command-line script that uses docopt for arguments parsing.
  • cookiecutter-django-crud_: A template to create a Django app with boilerplate CRUD around a model including a factory and tests.
  • cookiecutter-quokka-module_: A template to create a blueprint module for Quokka Flask CMS.
  • cookiecutter-django-lborgav_: Another cookiecutter template for Django project with Booststrap 3 and FontAwesome 4.
  • cookiecutter-django-paas_: Django template ready to use in SAAS platforms like Heroku, OpenShift, etc..
  • cookiecutter-kivy_: A template for NUI applications built upon the kivy python-framework.
  • cookiedozer_: A template for Python Kivy apps ready to be deployed to android devices with Buildozer.
  • cookiecutter-pypackage-minimal_: A mimimal Python package template.
  • cookiecutter-ansible-role_: A template to create ansible roles. Forget about file creation and focus on actions.
  • cookiecutter-pylibrary_: An intricate template designed to quickly get started with good testing and packaging (working configuration for Tox, Pytest, Travis-CI, Coveralls, AppVeyor, Sphinx docs, isort, bumpversion, packaging checks etc).
  • cookiecutter-pylibrary-minimal_: Same as above but without Pytest and static configuration for Tox/Travis/AppVeyor (no generator).
  • cookiecutter-pyvanguard: A template for cutting edge Python development. Invoke, pytest, bumpversion, and Python 23 compatability.
  • Python-iOS-template_: A template to create a Python project that will run on iOS devices.
  • Python-Android-template_: A template to create a Python project that will run on Android devices.
  • cookiecutter-django-rest-framework_: A template for creating reusable Django REST Framework packages.

C ~~

  • bootstrap.c_: A template for simple projects written in C with autotools.
  • cookiecutter-avr_: A template for avr development.

C++ ~~~

  • BoilerplatePP_: A simple cmake template with unit testing for projects written in C++.

Common Lisp

* `cookiecutter-cl-project`_: A template for Common Lisp project with bootstrap script and Slime integration.


* `cookiecutter-jquery`_: A jQuery plugin project template based on jQuery
* `cookiecutter-jswidget`_: A project template for creating a generic front-end,
  non-jQuery JS widget packaged for multiple JS packaging systems.
* `cookiecutter-component`_: A template for a Component JS package.

  • pandoc-talk_: A cookiecutter template for giving talks with pandoc and XeTeX.
  • cookiecutter-latex-article_: A LaTeX template geared towards academic use.

Berkshelf-Vagrant ~~~~~~~~~~~~~~~~~

  • slim-berkshelf-vagrant_: A simple cookiecutter template with sane cookbook defaults for common vagrant/berkshelf cookbooks.

HTML ~~~~

  • cookiecutter-complexity_: A cookiecutter for a Complexity static site with Bootstrap 3.
  • cookiecutter-tumblr-theme_: A cookiecutter for a Tumblr theme project with GruntJS as concatination tool.

.. _cookiecutter-pypackage: .. _cookiecutter-jquery: .. _cookiecutter-flask: .. _cookiecutter-bottle: .. _cookiecutter-simple-django: .. _cookiecutter-django: .. _cookiecutter-djangopackage: .. _cookiecutter-django-cms: .. _cookiecutter-djangocms-plugin: .. _cookiecutter-django-crud: .. _cookiecutter-quokka-module: .. _cookiecutter-django-lborgav: .. _cookiecutter-django-paas: .. _cookiecutter-kivy: .. _cookiedozer: .. _cookiecutter-pypackage-minimal: .. _cookiecutter-ansible-role: .. _bootstrap.c: .. _BoilerplatePP: .. _cookiecutter-openstack: .. _cookiecutter-component: .. _cookiecutter-docopt: .. _docopt: .. _cookiecutter-jswidget: .. _pandoc-talk: .. _cookiecutter-latex-article: .. _cookiecutter-complexity: .. _cookiecutter-cl-project: .. _slim-berkshelf-vagrant: .. _cookiecutter-avr: .. _cookiecutter-tumblr-theme: .. _cookiecutter-pylibrary: .. _cookiecutter-pylibrary-minimal: .. _cookiecutter-pyvanguard: .. _Python-iOS-template: .. _Python-Android-template: .. _Invoke: .. _cookiecutter-django-rest-framework:

Scala ~~~~~

  • cookiecutter-scala-spark_: A cookiecutter template for Apache Spark applications written in Scala.

.. _cookiecutter-scala-spark:

6502 Assembly ~~~~~~~~~~~~~ * cookiecutter-atari2600_: A cookiecutter template for Atari2600 projects.

.. _cookiecutter-atari2600:

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.

  • Yeoman_ has a Rails-inspired generator system that provides scaffolding for apps.

  • Pyramid_’s pcreate command for creating Pyramid projects from scaffold templates.

  • mr.bob_ is a filesystem template renderer, meant to deprecate tools such as paster and templer.

  • grunt-init_ used to be built into Grunt and is now a standalone scaffolding tool to automate project creation.

  • scaffolt_ consumes JSON generators with Handlebars support.

  • init-skeleton_ clones or copies a repository, executes npm install and bower install and removes the .git directory.

  • Cog_ python-based code generation toolkit developed by Ned Batchelder

.. _Paste: .. _Diecutter: .. _Django: .. _python-packager: .. _Yeoman: .. _Pyramid: .. _mr.bob: .. _grunt-init: .. _scaffolt: .. _init-skeleton: .. _Cog:


The core committer team is @audreyr, @pydanny, @michaeljoseph, and @pfmoore. We welcome you and invite you to participate.

Stuck? Try one of the following:

  • See the Troubleshooting_ page.
  • Ask for help on Stack Overflow_.
  • You are strongly encouraged to file an issue_ about the problem, even if it’s just “I can’t get it to work on this cookiecutter” with a link to your cookiecutter. Don’t worry about naming/pinpointing the issue properly.
  • Ask for help in #cookiecutter if you must (but please try one of the other options first, so that others can benefit from the discussion)

Development on Cookiecutter is community-driven:

  • Huge thanks to all the contributors_ who have pitched in to help make Cookiecutter an even better tool.
  • Everyone is invited to contribute. Read the contributing instructions_, then get started.

Connect with other Cookiecutter contributors and users in IRC:

  • #cookiecutter on (note: due to work and commitments, a core committer might not always be available)

Encouragement is unbelievably motivating. If you want more work done on Cookiecutter, show support:

  • Thank a core committer for their efforts.
  • Star Cookiecutter on GitHub_.
  • Join the Cookiecutter Gittip community_.

Got criticism or complaints?

  • File an issue_ so that Cookiecutter can be improved. Be friendly and constructive about what could be better. Make detailed suggestions.
  • Keep us in the loop so that we can help. For example, if you are discussing problems with Cookiecutter on a mailing list, file an issue_ where you link to the discussion thread and/or cc at least 1 core committer on the email.
  • Be encouraging. A comment like “This function ought to be rewritten like this” is much more likely to result in action than a comment like “Eww, look how bad this function is.”

Waiting for a response to an issue/question?

  • Be patient and persistent. All issues are on the core committer team’s radar and will be considered thoughtfully, but we have a lot of issues to work through. If urgent, it’s fine to ping a core committer in the issue with a reminder.
  • Ask others to comment, discuss, review, etc.
  • Search the Cookiecutter repo for issues related to yours.
  • Need a fix/feature/release/help urgently, and can’t wait? @audreyr_ is available for hire for consultation or custom development.

.. _Cookiecutter on GitHub: .. _Troubleshooting: .. _contributors: .. _contributing instructions: .. _Stack Overflow: .. _File an issue: .. _Cookiecutter Gittip community: .. _@audreyr: .. _@pydanny: .. _@michaeljoseph: .. _@pfmoore:

Related Repositories



Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly. ...



A flask template with Bootstrap 3, asset bundling+minification, starter templates, and registration/authentication. For use with cookiecutter. ...



Cookiecutter template for a Python package. ...



Enhanced cookiecutter template for Python libraries. ...



A Cookiecutter template for Wagtail CMS using Zurb Foundation 6 ...

Top Contributors

audreyr hackebrot michaeljoseph pydanny pfmoore raphigaziano ramiroluz foobacca mark0978 benjixx bollwyvl vaab Natim s-m-i-t-a jacebrowning freakboy3742 krallin msabramo lborgav nedbat pokoli vincentbernat treyhunner sloria ionelmc thedrow ThomasChiroux dreftymac mineo saxix


-   0.9.1 zip tar
-   0.9.0 zip tar
-   0.8.0 zip tar
-   0.7.2 zip tar
-   0.7.1 zip tar
-   0.7.0 zip tar
-   0.6.4 zip tar
-   0.6.3 zip tar
-   0.6.2 zip tar
-   0.6.1 zip tar
-   0.6.0 zip tar
-   0.5 zip tar
-   0.4 zip tar
-   0.3 zip tar
-   0.2.1 zip tar