Skip to main content

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

https://badge.fury.io/py/cookiecutter.png https://travis-ci.org/audreyr/cookiecutter.png?branch=master https://pypip.in/d/cookiecutter/badge.png

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

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.

Cookiecutter Project Templates

Here is a list of the Cookiecutter project templates that exist as of now:

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cookiecutter-0.5.tar.gz (9.1 kB view details)

Uploaded Source

File details

Details for the file cookiecutter-0.5.tar.gz.

File metadata

  • Download URL: cookiecutter-0.5.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cookiecutter-0.5.tar.gz
Algorithm Hash digest
SHA256 f290f0744bf788c227bff93fd19f2a188846442bf6bda4990a33d36ccc56abad
MD5 fc9a858c5dab5f98502f07732686d30e
BLAKE2b-256 354126f9f1c4c8f944f95899a3b658bb3f7df679203ef11c5bf06074de9dd33f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page