packaging-distribution

Automate Python package wheel and source distribution builds for PyPI deployment.

28|3|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/oborchers/fractional-cto --skill packaging-distribution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: packaging-distribution
Source: https://github.com/oborchers/fractional-cto/tree/main/python-package/skills/packaging-distribution
Command: npx skills add https://github.com/oborchers/fractional-cto --skill packaging-distribution

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the complexities of building and distributing Python packages, ensuring they can be installed easily and efficiently across diverse operating system and Python versions.

Core Features & Use Cases

  • Wheel Building: Generates pre-compiled binary wheels for various platforms (Linux, macOS, Windows) and architectures.
  • Distribution Strategies: Differentiates between pure Python and compiled extensions, recommending appropriate build backends like maturin for Rust or scikit-build-core for C/C++.
  • Cross-Platform Compatibility: Details how to handle manylinux, musllinux, and macOS platform tags, and leverage the abi3 stable ABI for broader Python version support.
  • CI/CD Integration: Provides examples for using cibuildwheel and maturin-action in GitHub Actions for automated wheel building.
  • Package Optimization: Offers techniques for reducing package size and improving build performance.
  • PyPI Deployment: Guides on setting up pyproject.toml metadata, using TestPyPI, and publishing to the Python Package Index.
  • Use Case: You are developing a Python library with a performance-critical Rust extension. This Skill will guide you through configuring maturin, setting up CI to build wheels for all major platforms, and publishing to PyPI.

Quick Start

Use the packaging-distribution skill to build wheels for your Python package across Linux, macOS, and Windows.

Frequently Asked Questions about packaging-distribution

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

FAQPage Schema
How do I build Python wheels for Linux, macOS, and Windows using GitHub Actions?

Build Python wheels across Linux, macOS, and Windows by integrating cibuildwheel or maturin-action into your GitHub Actions CI/CD pipelines. This automates cross-platform wheel compilation and source distribution creation for diverse operating systems and Python versions.

What is the best way to package a Python library with a Rust extension?

Packaging a Python library with a Rust extension is best handled using maturin as the build backend. Maturin streamlines compiling Rust code into Python packages and generating pre-compiled binary wheels for multiple platforms.

How does the abi3 stable ABI help with Python wheel distribution?

The abi3 stable ABI allows compiled extensions to build a single wheel that supports multiple Python versions. This broadens compatibility and reduces the total number of wheels needed for distribution across different Python environments.

When do I need to use manylinux or musllinux platform tags for Python packaging?

Use manylinux and musllinux platform tags when distributing compiled Python extensions for Linux. These tags ensure cross-platform compatibility by targeting specific glibc and musl libc environments across diverse Linux distributions.

How do I publish a Python package to TestPyPI and production PyPI?

Publish a Python package to TestPyPI and production by configuring proper pyproject.toml metadata and deploying through your CI/CD pipeline. This ensures validated package metadata and automated deployment to the Python Package Index.

Can I use scikit-build-core instead of maturin for C/C++ Python extensions?

Yes, you can use scikit-build-core instead of maturin for C/C++ Python extensions. While maturin targets Rust extensions, scikit-build-core serves as the recommended build backend for compiling and packaging C/C++ extensions.