whatisgithub

What is cookiecutter-pypackage?

audreyfeldroy/cookiecutter-pypackage — explained in plain English

Analysis updated 2026-06-26

4,572PythonAudience · developerComplexity · 2/5Setup · easy

In one sentence

A project template that generates a complete, ready-to-publish Python package in one command, with testing, linting, GitHub Actions CI/CD, and PyPI publishing all pre-configured.

Mindmap

mindmap
  root((repo))
    What It Does
      Generate package scaffold
      Pre-configured tooling
      Ready for PyPI
    Included Tools
      uv for deps
      ruff for linting
      pytest for testing
    Automation
      CI on every push
      Auto-publish on tag
      Docs to GitHub Pages
    How to Use
      Install uv
      Run cookiecutter
      Answer prompts
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Bootstrap a new Python package with all best-practice tooling already configured in one command.

USE CASE 2

Publish your first Python package to PyPI with automated CI/CD and PyPI Trusted Publishers.

USE CASE 3

Start an open-source Python library with documentation, testing, and GitHub Actions already set up.

USE CASE 4

Skip manual boilerplate when creating a professional Python project structure from scratch.

What is it built with?

PythonCookiecutteruvruffpytestGitHub Actions

How does it compare?

audreyfeldroy/cookiecutter-pypackagescottrogowski/code2flowpythonguis/pythonguis-examples
Stars4,5724,5724,573
LanguagePythonPythonPython
Setup difficultyeasymoderateeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires installing uv before running the Cookiecutter template generator.

No license information for the template itself is mentioned in the explanation.

So what is it?

This repository is a project template for creating Python packages. When you run a single command, it generates a complete folder structure with all the files a publishable Python package needs, pre-configured and ready to use. You answer a few prompts (package name, GitHub username, and similar details) and the template fills everything in. The template uses a tool called Cookiecutter to handle the generation step. The resulting project comes with uv for managing dependencies and virtual environments, ruff for code formatting and linting, ty for type checking, and pytest for tests across Python versions 3.12, 3.13, and 3.14. There is also a task runner called just that lets you run the full quality check suite with a single command. Automated workflows for GitHub Actions are included from the start. A CI workflow runs on every push and pull request, checking code quality and running tests across multiple Python versions. A publishing workflow fires when you create a version tag and uploads your package to PyPI using a modern credentials-free approach called Trusted Publishers. A third workflow builds and deploys your documentation to GitHub Pages automatically. All workflows use security-hardened settings with minimal permissions and pinned versions. Documentation is generated from your code comments and deployed automatically. The template is opinionated: it makes specific tool choices rather than offering a menu of options. If the defaults do not fit your needs, the README points to the fork network where community-maintained variants exist. The quickstart requires only installing uv and running one command. From that point, pushing to GitHub and following the linked tutorial gets you from an empty package to a first PyPI release.

Copy-paste prompts

Prompt 1
Run the audreyfeldroy/cookiecutter-pypackage template to create a new Python package called my-library and walk me through what each generated file does.
Prompt 2
How do I publish my first release to PyPI using the GitHub Actions workflow included in cookiecutter-pypackage?
Prompt 3
Show me how the GitHub Actions CI workflow in cookiecutter-pypackage runs tests across Python 3.12, 3.13, and 3.14.
Prompt 4
How do I customize the cookiecutter-pypackage template to use a different linter instead of ruff?
Prompt 5
What is the just task runner and how do I use it to run the full quality check suite in a cookiecutter-pypackage project?

Frequently asked questions

What is cookiecutter-pypackage?

A project template that generates a complete, ready-to-publish Python package in one command, with testing, linting, GitHub Actions CI/CD, and PyPI publishing all pre-configured.

What language is cookiecutter-pypackage written in?

Mainly Python. The stack also includes Python, Cookiecutter, uv.

What license does cookiecutter-pypackage use?

No license information for the template itself is mentioned in the explanation.

How hard is cookiecutter-pypackage to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is cookiecutter-pypackage for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.