Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

cookie cutter template manager

Project description

CCTM = cookie cutter template manager

project templates manager for cookiecutter

(python3 only)

quick examples

$ cctm init
$ cctm selfupdate
$ cctm install audreyr/cookiecutter-pypackage
$ cctm use audreyr/cookiecutter-pypackage

# alias
$ cctm management alias audreyr/cookiecutter-pypackage pypackage
$ cctm use pypackage

# extra_context configuration
$ cctm config --name=full_name --value=podhmo.podhmo
$ cctm use pypackage

setup

$ pip install cctm

cctm uses individual configuration file(cctm.json).

searching cctm.json

searching method is here.

first, from current working directory, searching “cctm.json” file, recuresively.

e.g. if cwd is ~/foo/bar/boo. searching below paths.

  1. ~/foo/bar/boo/cctm.json
  2. ~/foo/bar/cctm.json
  3. ~/foo/cctm.json
  4. ~/cctm.json

second, if cctm.json is not found on first process, then, using ~/.cctm/cctm.json (default path)

generating configuration file

generating configuration file via cctm init.

$ cctm init

# if generating configuration file as current working directory
$ cctm init --project=.

package information

listing package information via cctm list

$ cctm list | grep pypackage
kragniz/cookiecutter-pypackage-minimal(12) -- A minimal template for python packages
audreyr/cookiecutter-pypackage(555) -- Cookiecutter template for a Python package.
pypackage -> audreyr/cookiecutter-pypackage  # this is alias

show detail via cctm show

$ cctm show audreyr/cookiecutter-pypackage
{
  "updated_at": "2016-01-08T22:53:23Z",
  "url": "https://github.com/audreyr/cookiecutter-pypackage",
  "name": "audreyr/cookiecutter-pypackage",
  "description": "Cookiecutter template for a Python package.",
  "star": 555,
  "created_at": "2013-07-14T18:52:05Z"
}

using cookiecutter

installing cookiecutter template

installing the template via cctm install

$ cctm install chrisdev/wagtail-cookiecutter-foundation

# wagtail-cookiecutter-foundation is installed
$ cctm list --installed
audreyr/cookiecutter-pypackage
chrisdev/wagtail-cookiecutter-foundation

using cookiecutter template

using installed template via cctm use

$ cctm use chrisdev/wagtail-cookiecutter-foundation

if you are irritated by long-long-name, cctm management alias is helpful, maybe.

$ cctm management alias chrisdev/wagtail-cookiecutter-foundation mywagtail
$ cctm list --alias | grep wagtail
mywagtail -> chrisdev/wagtail-cookiecutter-foundation
$ cctm use mywagtail  # it's is also ok.

default configuration settings

if you want to set a default context, using cctm config

# show configuration
$ cctm config | jq .extra_context
{
  "name": "podhmo",
}
# edit configuration
$ cctm config --name=project_name --value=hello
# delete configuration
$ cctm config --name=project_name

extra_context attribute in config file is using as cookiecutter’s extra context, so.

$ cctm use mywagtail
project_name [Wagtail Project]:  # cancel

$ cctm config --name=project_name --value=hello
$ cctm use mywagtail
project_name [hello]:

your custom repositories

if you store url in repositories of configration file, cctm recognizes as package repositoriy.

default reposotiries are here.

"repositories": [
  "https://raw.githubusercontent.com/podhmo/cctm/master/data/cookiecutter.index.json"
]

package format example

{
  "name": "chrisdev/wagtail-cookiecutter-foundation",
  "url": "https://github.com/chrisdev/wagtail-cookiecutter-foundation",
  "description": "Cookiecutter template for Wagtail CMS using Zurb Foundation 5",
  "created_at": "2015-04-13T13:36:50Z",
  "updated_at": "2016-01-04T14:53:04Z",
  "star": 23
}

if you know, github url, be able to fetch information via cctm management fetch

$ cctm management fetch chrisdev/wagtail-cookiecutter-foundation
{
  "name": "chrisdev/wagtail-cookiecutter-foundation",
  "url": "https://github.com/chrisdev/wagtail-cookiecutter-foundation",
  "description": "Cookiecutter template for Wagtail CMS using Zurb Foundation 5",
  "created_at": "2015-04-13T13:36:50Z",
  "updated_at": "2016-01-04T14:53:04Z",
  "star": 23
}

# store data at local.json
$ cctm management fetch chrisdev/wagtail-cookiecutter-foundation --save --store=./local.json

please, don’t forget to call cctm selfupdate. this command synchnonizes at local data and repositoriies data.

$ cctm selfupdate

0.2

  • build bug fix.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
cctm-0.2-py2.py3-none-any.whl (16.3 kB) Copy SHA256 hash SHA256 Wheel 3.5
cctm-0.2.tar.gz (8.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page