Skip to main content

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.

Source Distribution

cctm-0.2.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

cctm-0.2-py2.py3-none-any.whl (16.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cctm-0.2.tar.gz.

File metadata

  • Download URL: cctm-0.2.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cctm-0.2.tar.gz
Algorithm Hash digest
SHA256 5b805cac7e67e23dac3fb6ffb3843cd27980a243556354da2f3f856cbb26c950
MD5 6ecf469bd3facf5ba20325de135cbd5a
BLAKE2b-256 e37a7af902368274d111037f19c291ce486351956cab7cf3eede21aac83ff63b

See more details on using hashes here.

File details

Details for the file cctm-0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cctm-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8b56d22f5ae5a0733eacbf533f203be055f30e6f076e108e411b3aa67c24d49b
MD5 a8da915f13329822492ed9a1704518aa
BLAKE2b-256 ed5fa94da29364446fed9f44b33e485cbee2a5a404b843ecf5a5c191cca94a87

See more details on using hashes here.

Supported by

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