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.