# audreyfeldroy/cookiecutter-pypackage

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/audreyfeldroy-cookiecutter-pypackage).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,584 stars · 1,795 forks · Python · MIT

## Links

- GitHub: https://github.com/audreyfeldroy/cookiecutter-pypackage
- awesome-repositories: https://awesome-repositories.com/repository/audreyfeldroy-cookiecutter-pypackage.md

## Description

This project is a Cookiecutter template for bootstrapping Python packages with a standardized directory layout and configuration files. It provides a foundation for new libraries by generating project structures, boilerplate files, and command-line interface entry points.

The template emphasizes a secure software supply chain through hardened build pipelines. It utilizes commit SHA pinning for actions and minimal permission sets to protect against attacks, while providing a setup for building and uploading signed packages to registries using secure identity providers.

The project covers a broad set of capabilities including continuous integration automation for multi-version testing, linting, and type-checking. It also includes an automated documentation pipeline that extracts API references from docstrings and deploys them to hosting providers. Additional tooling handles dependency management, distribution artifact compilation, and static vulnerability scanning.

## Tags

### Development Tools & Productivity

- [Python Language Boilerplates](https://awesome-repositories.com/f/development-tools-productivity/project-boilerplates/python-language-boilerplates.md) — Provides foundational templates for bootstrapping standardized Python package and project structures.
- [Template-Based Project Scaffolders](https://awesome-repositories.com/f/development-tools-productivity/project-templates/template-based-project-scaffolders.md) — Uses a Cookiecutter template to generate standardized directory structures and boilerplate for Python packages.
- [Python Workflow Automators](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-automators/python-workflow-automators.md) — Establishes a unified command set for managing dependencies, running tests, and verifying code quality.
- [Package Dependency Management](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management.md) — Defines project metadata and separates dependencies into development and documentation groups. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/project_structure/))
- [OIDC Package Publishers](https://awesome-repositories.com/f/development-tools-productivity/package-publishing-pipelines/trusted-publishing/oidc-package-publishers.md) — Provides OIDC-based publishing to Python registries to eliminate the need for long-lived API tokens.
- [Python Project Scaffolders](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding/python-project-scaffolders.md) — Generates new Python projects from templates with standard directory layouts and sensible defaults. ([source](https://github.com/audreyfeldroy/cookiecutter-pypackage/blob/main/uv.lock))
- [Build Toolchain Hardening](https://awesome-repositories.com/f/development-tools-productivity/build-toolchain-hardening.md) — Configures a hardened build environment using commit SHA pinning to prevent malicious injection.
- [Command Line Task Runners](https://awesome-repositories.com/f/development-tools-productivity/command-line-task-runners.md) — Provides a unified command-line interface to trigger linting, type-checking, and testing.
- [Development Workflow Configurations](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-configurations.md) — Defines a standardized set of commands for linting, type-checking, and multi-version testing. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/))
- [Version Matrix Testing](https://awesome-repositories.com/f/development-tools-productivity/project-version-managers/toolchain-versioning/version-matrix-testing.md) — Executes the same test suite across multiple Python language versions to ensure stability.

### DevOps & Infrastructure

- [CI/CD Pipeline Orchestration](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipeline-orchestration.md) — Orchestrates automated workflows for linting, type checking, multi-version testing, and documentation deployment. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/project_structure/))
- [CI/CD Workflows](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/cicd-pipeline-management/ci-cd-workflows.md) — Ships pre-configured automation sequences for testing, validation, and deployment in Python projects.
- [Package Registry Publishing](https://awesome-repositories.com/f/devops-infrastructure/package-registry-publishing.md) — Deploys distribution files to a package registry using secure attestation. ([source](https://github.com/audreyfeldroy/cookiecutter-pypackage/))
- [Python Distribution Packaging](https://awesome-repositories.com/f/devops-infrastructure/python-distribution-packaging.md) — Provides a Cookiecutter template for generating standardized Python project directory layouts.
- [Continuous Integration Checks](https://awesome-repositories.com/f/devops-infrastructure/continuous-integration-pipelines/continuous-integration-checks.md) — Provides automated quality checks including linters and tests triggered by pushes and pull requests. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/github_actions/))

### Software Engineering & Architecture

- [Action Hash Pinning](https://awesome-repositories.com/f/software-engineering-architecture/configuration-references/image-digest-resolution/immutable-image-pinning/action-hash-pinning.md) — Hardens CI pipelines by referencing specific commit SHAs for external actions to prevent supply chain attacks.
- [Project Bootstrapping](https://awesome-repositories.com/f/software-engineering-architecture/ios-development-standards/project-bootstrapping.md) — Initializes a consistent directory structure and CLI entry points for new Python libraries. ([source](https://github.com/audreyfeldroy/cookiecutter-pypackage#readme))
- [Automated API Documentation](https://awesome-repositories.com/f/software-engineering-architecture/automated-api-documentation.md) — Provides a system to generate technical API documentation directly from source code docstrings.
- [Distribution Packaging](https://awesome-repositories.com/f/software-engineering-architecture/distribution-packaging.md) — Compiles the project into distributable formats to verify the packaging process. ([source](https://github.com/audreyfeldroy/cookiecutter-pypackage/blob/main/justfile))

### Testing & Quality Assurance

- [Code Quality Checks](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-checks.md) — Runs formatting, linting, and type-checking tools to ensure codebase consistency and quality. ([source](https://github.com/audreyfeldroy/cookiecutter-pypackage/tree/main/%7B%7Bcookiecutter.package_name%7D%7D))
- [Test Coverage Collections](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/coverage-diagnostics-reporting/test-coverage-collections.md) — Collects branch coverage metrics across multiple versions and enforces a minimum coverage threshold in the pipeline. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/))

### Content Management & Publishing

- [Documentation Deployment Pipelines](https://awesome-repositories.com/f/content-management-publishing/documentation-knowledge-management/technical-documentation/documentation-deployment-pipelines.md) — Provides an automated pipeline for extracting docstrings and publishing technical documentation. ([source](https://github.com/audreyfeldroy/cookiecutter-pypackage/))

### Data & Databases

- [API Documentation Generators](https://awesome-repositories.com/f/data-databases/type-inspection-tools/runtime-introspection/docstring-extraction/api-documentation-generators.md) — Automatically extracts API references from source code docstrings to generate and deploy themed documentation websites.

### Programming Languages & Runtimes

- [Command Line Entry Points](https://awesome-repositories.com/f/programming-languages-runtimes/program-entry-points/plugin-entry-point-discovery/command-line-entry-points.md) — Generates a command-line entry point mapping shell commands to package functions. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/project_structure/))

### Security & Cryptography

- [CI Pipeline Hardening](https://awesome-repositories.com/f/security-cryptography/security/infrastructure-and-hardware/infrastructure-system-hardening/deployment-security-hardening/container-security-hardening/ci-pipeline-hardening.md) — Secures workflows using commit SHA pinning and minimal permission sets to prevent supply chain attacks. ([source](https://audreyfeldroy.github.io/cookiecutter-pypackage/github_actions/))
- [Software Supply Chain Security](https://awesome-repositories.com/f/security-cryptography/software-supply-chain-security.md) — Hardens the software supply chain by pinning actions to SHAs and restricting workflow permissions.
