Skip to content

Welcome to Cookiecutter Python Package Documentation!

GitHub Actions Workflow Status Read the Docs Release Version Coverage PyPI Stats Maintainability Tech Debt OpenSSF

Cookiecutter Python Package, is an open source project, 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.