python-pypi-package-builder

Solid

End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI. Covers all four build backends (setuptools+setuptools_scm, hatchling, flit, poetry), PEP 440 versioning, semantic versioning, dynamic git-tag versioning, OOP/SOLID design, type hints (PEP 484/526/544/561), Trusted Publishing (OIDC), and the full PyPA packaging flow. Use for: creating Python packages, pip-installable SDKs, CLI tools, framework plugins, pyproject.toml setup, py.typed, setuptools_scm, semver, mypy, pre-commit, GitHub Actions CI/CD, or PyPI publishing.

Web & Frontend 34,158 stars 4179 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Python PyPI Package Builder Skill A complete, battle-tested guide for building, testing, linting, versioning, typing, and publishing a production-grade Python library to PyPI — from first commit to community-ready release. > **AI Agent Instruction:** Read this entire file before writing a single line of code or > creating any file. Every decision — layout, backend, versioning strategy, patterns, CI — > has a decision rule here. Follow the decision trees in order. This skill applies to any > Python package type (utility, SDK, CLI, plugin, data library). Do not skip sections. --- ## Quick Navigation | Section in this file | What it covers | |---|---| | [1. Skill Trigger](#1-skill-trigger) | When to load this skill | | [2. Package Type Decision](#2-package-type-decision) | Identify what you are building | | [3. Folder Structure Decision](#3-folder-structure-decision) | src/ vs flat vs monorepo | | [4. Build Backend Decision](#4-build-backend-decision) | setuptools / hatchling / flit / poetry | | [5. PyPA Packaging Flow](#5-pypa-packaging-flow) | The canonical publish pipeline | | [6. Project Structure Templates](#6-project-structure-templates) | Full layouts for every option | | [7. Versioning Strategy](#7-versioning-strategy) | PEP 440, semver, dynamic vs static | | Reference file | What it covers | |---|---| | `references/pyproject-toml.md` | All four backend templates, `setuptools_scm`, `py.typed`, tool configs | | `references/library-patterns.md` | OOP/SOLID, type hi...

Details

Author
github
Repository
github/awesome-copilot
Created
11 months ago
Last Updated
yesterday
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category