Skip to main content

pypkgkit

CI PyPI License Docs

A Cookiecutter template for Python packages. A fully configured project with linting, type checking, testing, CI/CD, documentation, and automated releases to PyPI.

Quick start

# Install cookiecutter if you haven't already
uv tool install cookiecutter

# Generate a new project
cookiecutter gh:michaelellis003/pypkgkit

To pin a specific template version, pass the --checkout flag with a release tag:

cookiecutter gh:michaelellis003/pypkgkit --checkout v2.1.2

You will be prompted for a few values:

Variable Default Description
project_name my-python-package Name of the project (used in PyPI, GitHub, etc.)
project_slug auto Python-importable name (derived from project name)
project_description A Python package One-line description
author_name Your Name Author name for pyproject.toml and LICENSE
author_email you@example.com Author email
github_username your-github-username GitHub username (used in URLs, badges, CODEOWNERS)
python_version 3.12 Minimum Python version
initial_version 0.1.0 Starting version

After generation, the template automatically:

  1. Initializes a git repository
  2. Installs dependencies with uv sync
  3. Installs pre-commit hooks
  4. Creates an initial commit

What is included

Every generated project comes with:

Concern Tool
Package management uv
Linting & formatting Ruff
Type checking ty
Testing pytest
Documentation ProperDocs (MkDocs Material + mkdocstrings)
Versioning & releases python-semantic-release with Conventional Commits
CI/CD GitHub Actions (lint, type check, test across 3.10 – 3.13, build, release to PyPI, deploy docs)
Dependency updates Dependabot (weekly, for both Actions and pip)
Pre-commit hooks Ruff, ty, license headers, conventional commit validation

After generating your project

  1. Create a GitHub repo and push:

    git remote add origin https://github.com/<username>/<project-name>.git
    git push -u origin main
    
  2. Configure GitHub settings:

    • GitHub Pages: Settings > Pages > Source: gh-pages
    • RELEASE_TOKEN: Settings > Secrets — a PAT with contents: write
    • PyPI trusted publishing: add the repo on pypi.org
    • CODECOV_TOKEN: Settings > Secrets (optional)

Requirements

Contributing

To work on the template itself:

git clone https://github.com/michaelellis003/pypkgkit.git
cd pypkgkit
uv sync
uv run pre-commit install
uv run pre-commit install --hook-type commit-msg
uv run pre-commit install --hook-type pre-push

Test the template locally:

cookiecutter . --no-input

License

Apache 2.0. See LICENSE for the full text.

Release files for pypkgkit 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypkgkit 2.2.0
File Size Uploaded
pypkgkit-2.2.0.tar.gz 3.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypkgkit 2.2.0
File Interpreter ABI Platform
pypkgkit-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.5 kB

Release files / pypkgkit-2.2.0.tar.gz

Download URL pypkgkit-2.2.0.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b54fe9000da537d39e861f44d34ca1416dae28b789a5d5c6fc19e21c9d6bfdae
BLAKE2b-256 checksum
How to use checksums
32e28abb7af11f86ec97a153ce8153a868190f4a648cf32c32b23e10cc7354df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 12, 2026.

Transparency log

Release files / pypkgkit-2.2.0-py3-none-any.whl

Download URL pypkgkit-2.2.0-py3-none-any.whl
Size 3.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61babb0e43cb39c2de02de852c6a8a05927ca907406ac44372add77cd676f2dd
BLAKE2b-256 checksum
How to use checksums
a8cc6fa20e8a9d26ac9ddcf5af9a185c28c618f7efc78cc2e2b4b5ebff82c8e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

1.0.2

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page