python-packaging

Package Python projects with pyproject.toml and publish to PyPI.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/mporenta/airflow --skill python-packaging-mporenta
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-packaging
Source: https://github.com/mporenta/airflow/tree/main/.codex/skills/python-packaging
Command: npx skills add https://github.com/mporenta/airflow --skill python-packaging-mporenta

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Create distributable Python packages with proper project structure, pyproject.toml/PEP 517/621 metadata, and publishing to PyPI or private repositories, ensuring consistent packaging across libraries, CLI tools, and applications.

Core Features & Use Cases

  • Modern packaging standards with pyproject.toml configuration and support for multiple build backends (setuptools, hatchling, poetry, flit)
  • Flexible project layouts (src/ layout or flat layouts) with proper metadata and classifiers
  • Publishing workflows to PyPI or private indexes, including versioning, dependencies, and distribution formats (wheel and sdist)

Quick Start

Create a minimal Python package with pyproject.toml, a src layout, and publish to PyPI.

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 using pyproject.toml?

Python packaging with pyproject.toml requires defining build backends, project metadata, and dependencies following PEP 517/621. This Skill configures setuptools, hatchling, poetry, or flit to produce wheel and sdist distributions ready for publishing.

What's the best way to publish a Python CLI tool to PyPI?

Publishing a Python CLI tool to PyPI requires configuring entry points, classifiers, and build backends in pyproject.toml. This Skill generates the metadata and wheel or sdist distributions needed for uploading to PyPI or private registries.

Does this packaging workflow support both src layout and flat layouts?

Python packaging supports both src layout and flat layouts through pyproject.toml configuration. This Skill sets up the project structure, metadata, and build backends to accommodate either layout while producing wheel and sdist distributions.

Can I use hatchling or poetry instead of setuptools as a build backend?

Hatchling, poetry, and flit are supported as build backends alongside setuptools. This Skill configures pyproject.toml using PEP 517/621 standards to produce wheel and sdist distributions with any of these backends.

Why do I need pyproject.toml for Python packaging?

Pyproject.toml is required for modern Python packaging because it standardizes build system requirements and project metadata under PEP 517/621. This Skill uses pyproject.toml to configure build backends, dependencies, and distribution formats.

How to build wheel and sdist distributions for a private Python registry?

Building wheel and sdist distributions for a private registry requires configuring pyproject.toml with a build backend and project metadata. This Skill generates the packaging setup needed to create distributions for PyPI or private indexes.