py-cookiecutter-templates

Project directory structure templates for the Python Cookiecutter package.

What's Cookiecutter?

The Python package Cookiecutter assists in creating directory structure for whatever purpose you need such as for example a new Python project, an Ansible role or a docker-compose project - anything really that benefits from a unifirm reproducible directory structure. If you've ever wanted to put project structure best practices into version control then Cookiecutter's here to help.

Cookiecutter is governed by so-called Cookiecutter templates, most of its magic inside Cookiecutter templates happens via the Jinja2 template engine. You'll feel right at home if you're familiar with Ansible.

Repo layout

Each subdirectory in this repo is a Cookiecutter template, you'll recognize them from their telltale cookiecutter.json files. Directories usually also have a readme file explaining more about each individual template.

Get started

Get Cookiecutter like so:

pip install cookiecutter

Execute a template like so, docker-compose as an example:

cookiecutter https://quico.space/Quico/py-cookiecutter-templates.git --directory 'docker-compose'

Cookiecutter prompts you for whatever info the template needs then generates files and directories.

This is Cookiecutter prompting for info:

project_slug [dir-name]: grafana
service [grafana]:
component_list [grafana]: grafana,nginx
context [ctx]: cncf

The end result is a directory structure that has everything you need to hit the ground running.

.
└── grafana
    ├── build-context
    │   ├── grafana
    │   │   ├── docker-data
    │   │   │   └── .gitkeep
    │   │   ├── Dockerfile
    │   │   └── extras
    │   │       └── .gitkeep
    │   └── nginx
    │       ├── docker-data
    │       │   └── .gitkeep
    │       ├── Dockerfile
    │       └── extras
    │           └── .gitkeep
    ├── common-settings.yml
    ├── docker-compose.override.yml
    ├── docker-compose.yml
    └── env
        └── fully.qualified.domain.name.example
Description
Project directory structure templates for the Python Cookiecutter package
Readme 467 KiB
Languages
Python 93.7%
Dockerfile 6.3%