python-packaging

Generate distributable Python project layouts with pyproject.toml and build backends.

Updated Jan 26, 2026
One-click install
npx skills add https://github.com/erikhoward/agent-rules --skill python-packaging-erikhoward
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: python-packaging
Source: https://github.com/erikhoward/agent-rules/tree/main/claude/skills/python-packaging
Command: npx skills add https://github.com/erikhoward/agent-rules --skill python-packaging-erikhoward

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Automates the setup and distribution of Python packages, eliminating guesswork in project structure and metadata when packaging libraries, CLIs, or applications.

Core Features & Use Cases

  • Modern packaging guidance and tooling with pyproject.toml, and support for setup.py/setup.cfg.
  • Builds distributables (wheel and source distributions) and publishes to PyPI or private registries.
  • Includes examples for common workflows: libraries, CLI tools, and multi-package layouts.

Quick Start

Install a Python project locally and publish to PyPI using modern packaging tools.

Frequently Asked Questions about python-packaging

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

FAQPage Schema
How do I package a Python project for PyPI distribution?▼

To package a Python project for PyPI distribution, generate a clean project layout with a modern pyproject.toml file, build wheel and source distributions, and publish using recommended build backends with proper metadata and classifiers.

What is the best way to set up pyproject.toml for a Python CLI tool?▼

Setting up pyproject.toml for a Python CLI tool involves defining metadata, build backends, and entry points in a clean project layout, automating the packaging process for easy distribution across source or flat layouts.

Does Python packaging work with both src and flat layouts?▼

Yes, Python packaging works with both src and flat layouts. The process automates generating a distributable project layout that supports libraries, CLI tools, or applications across either structure with proper metadata.

Can I use setuptools and setup.py instead of pyproject.toml?▼

Yes, you can use setuptools with setup.py or setup.cfg instead of pyproject.toml. While it enforces a modern pyproject.toml by default, the packaging guidance also supports these traditional configuration formats.

How do I build wheel and source distributions for a Python library?▼

To build wheel and source distributions for a Python library, use modern packaging tools to generate distributables from your project layout, then publish them to PyPI or private registries with proper classifiers.

Why do I need pyproject.toml for Python packaging?▼

You need pyproject.toml for Python packaging because it enforces a modern, standardized configuration format that eliminates guesswork in project structure, metadata, and build backend selection for libraries, CLIs, or applications.