Skip to content

Welcome to Cookiecutter Python Package Documentation!

Cookiecutter Python Package, is an open source project github.com/boromir674/cookiecutter-python-package, that Generates Open Source Python Projects!

A few words

Goal of Cookiecutter Python Package project is to automate the process of creating the necessary source files to set up and configure the SDLF of a new Python Package.

SDLF --> Code, Tests, CI/CD, Docs, Docker, Config Files

Generator process

Below is a high-level flowchart of the Generator process (see Quick-start below on how to run):

graph

    %% INPUTS to Generator
    subgraph inputs ["INPUT (Optional)"]
        input_things["Project Name
        Package Type
        CI/CD Pipeline Design
        Docs Builder
        ...
        ...
        "]

    end

    inputs ==> derive_default

    %% APPLICATION LAYER
    subgraph gen ["Generator"]

        %% INPUTS to Generator
        template>"Template Files"]
        %% gen_params>"Generator Parameters"]

        derive_default["Derive Default Param Values"]    

        prompt["IF Interactive: Prompt User to override Default"]

        Gen["Generator"]

        %% is_interactive -- "No: set Generator Parameters" --> gen_params
        %% prompt -- "set Generator Parameters" --> gen_params
        %% gen_params ===> Gen

        %% is_interactive -- "No: set Generator Parameters" --> Gen

        derive_default --> prompt
        prompt -- "Generator Parameters" --> Gen

        template ===> Gen

    end    

    Gen ==> out

    %% OUTPUTS of Generator
    subgraph out ["GENERATED FILES"]
        py["Python Modules
        Test Suite
        CI/CD Pipeline
        Documentation Pages
        Dockerfile
        Python Package Metadata
        Lint Config
        "]

    end

Why choose this Python Package Generator?

You get a ready-to-develop Project, configured to cover the whole SDLF (1):

  1. 🙋‍♂️ Software Development Lifecycle

  2. Structured as Python Package, according to python standards

  3. Fully-featured CI/CD Pipeline
  4. Continuous Documentation build for Website
  5. Modern-standards toolkit
  6. Stress-tested across multiple platforms and python versions

Read the Why to use this package for more motivation

Quick-start

CLI --help

pipx run cookiecutter-python --help
docker run -it --rm boromir674/generate-python:master --help

Generate Project via interactive CLI

pipx run cookiecutter-python
docker run -it --rm boromir674/generate-python:master

Documentation

Read about how to use the cookiecutter-python package, understand its features and capabilities.