python-pypi-setup

Create a Python project with pyproject.toml, src layout, and build-publish scripts.

1|Updated Oct 23, 2025
One-click install
npx skills add https://github.com/jmazzahacks/byteforge-claude-skills --skill python-pypi-setup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-pypi-setup
Source: https://github.com/jmazzahacks/byteforge-claude-skills/tree/main/skills/python-pypi-setup
Command: npx skills add https://github.com/jmazzahacks/byteforge-claude-skills --skill python-pypi-setup

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires build, twine.

What problem does it solve?

Setting up a modern Python package for PyPI publishing can be intricate, involving pyproject.toml configuration, src layout adherence, and robust build/publish scripts. This Skill automates the entire process, ensuring your project follows current best practices without manual configuration headaches.

Core Features & Use Cases

  • Modern Packaging: Generates pyproject.toml for PEP 517/518 compliance, eliminating setup.py complexities.
  • Standardized Layout: Implements the src directory structure for clean code organization and explicit package discovery.
  • Automated Workflow: Provides a build-publish.sh script for one-command building and PyPI uploading.
  • Use Case: Quickly bootstrap a new Python library or tool, ensuring it's ready for distribution and adheres to current packaging standards, saving hours of manual setup and debugging.

Quick Start

User: "Set up a Python package for PyPI"

Frequently Asked Questions about python-pypi-setup

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

FAQPage Schema
How do I publish a Python package to PyPI?

Publishing to PyPI requires a modern `pyproject.toml` configuration, `src/` directory structure, and build tools like `build` and `twine`. This Skill automates the entire setup—generating the configuration file, directory layout, and a `build-publish.sh` script so you can publish with a single command after authentication.

What is pyproject.toml and why do I need it?

`pyproject.toml` is the modern Python packaging standard (PEP 517/518) that replaces legacy `setup.py`. It defines project metadata, dependencies, and build requirements in a single file. This Skill generates a fully compliant `pyproject.toml` so your package follows current best practices and works with modern tooling.

Do I need to manually configure a src/ layout for my Python package?

The `src/` layout is the recommended structure for Python packages—it isolates your package code from tests and configuration. This Skill automatically creates the `src/` directory structure with your package, avoiding manual setup and ensuring proper package discovery during builds and publishing.

Can I automate building and uploading my Python package to PyPI?

Yes. This Skill generates a `build-publish.sh` script that automates the entire workflow: it builds your distribution files using the `build` tool and uploads them to PyPI using `twine`. After setup, you run one command to publish instead of juggling multiple tools manually.

What files does a PyPI-ready Python project need?

A production-ready Python package needs `pyproject.toml` for metadata and build config, a `src/` layout for code, `LICENSE` and `README.md` for documentation, `.gitignore` to exclude build artifacts, and `dev-requirements.txt` for development dependencies. This Skill generates all of these in one step with guided prompts.

What information do I need to provide to set up a PyPI package?

You'll provide your project name, package name, author details, GitHub username, license type, Python version, dependencies, and keywords through interactive prompts. This Skill uses that metadata to populate `pyproject.toml`, `README.md`, and other files automatically, eliminating manual typing and configuration errors.