python-packaging

Create and distribute Python packages using pyproject.toml and PEP standards.

6|2|Updated Oct 19, 2025
One-click install
npx skills add https://github.com/amurata/cc-tools --skill python-packaging-amurata
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-packaging
Source: https://github.com/amurata/cc-tools/tree/main/plugins/python-development/skills/python-packaging
Command: npx skills add https://github.com/amurata/cc-tools --skill python-packaging-amurata

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the process of creating, structuring, and distributing Python packages, enabling developers to easily share their code with the world.

Core Features & Use Cases

  • Package Structure: Guides on setting up modern Python project layouts (src/ layout recommended).
  • Configuration: Demonstrates pyproject.toml for build systems, project metadata, and tool configurations (Black, Ruff, MyPy, Pytest).
  • Build & Publish: Covers local building (python -m build), publishing to PyPI (including TestPyPI), and automated publishing via GitHub Actions.
  • Use Case: You've developed a new Python library and need to package it correctly for distribution on PyPI, including setting up dependencies, entry points, and CI/CD for releases.

Quick Start

Use the python-packaging skill to create a minimal pyproject.toml file for a new Python package.

Frequently Asked Questions about python-packaging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build and publish a Python package to PyPI using pyproject.toml?

To build and publish a Python package, configure build systems and metadata in pyproject.toml, use python -m build to create wheels and sdists, then upload to PyPI or TestPyPI.

What is the recommended project layout for Python packaging?

The recommended Python project layout uses a src/ directory to separate package code from project files, preventing import errors during testing and ensuring clean distribution.

Can I configure tools like Black, Ruff, MyPy, and Pytest in pyproject.toml?

Yes, pyproject.toml supports centralized configuration for development tools including Black, Ruff, MyPy, and Pytest, consolidating project settings alongside build system metadata.

How does automated publishing via GitHub Actions work for Python packages?

Automated publishing via GitHub Actions builds Python wheels and sdists on release triggers, then deploys them to PyPI using API tokens, streamlining continuous delivery.

What build backends are supported for Python packaging?

Python packaging supports build backends like setuptools and hatchling, which process pyproject.toml to generate wheels and sdists for distribution.

Does this packaging approach handle advanced patterns like namespace packages and C extensions?

Yes, modern Python packaging handles advanced patterns including namespace packages and C extensions, enabling complex library development and distribution scenarios.