releasing-to-pypi

Guide atomic PyPI releases with linting, version bumps, tagging, and GitHub releases.

9|2|Updated Feb 23, 2026
One-click install
npx skills add https://github.com/AetherCore-Dev/ag402 --skill releasing-to-pypi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: releasing-to-pypi
Source: https://github.com/AetherCore-Dev/ag402/tree/main/.claude/skills/releasing-to-pypi
Command: npx skills add https://github.com/AetherCore-Dev/ag402 --skill releasing-to-pypi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents costly errors and failed releases to PyPI by enforcing a strict, atomic checklist for code linting, version bumping, tagging, and documentation updates before any code is committed or pushed.

Core Features & Use Cases

  • Atomic Release Process: Ensures all release-critical steps are completed in a single, verifiable commit.
  • Version Consistency: Guarantees that version numbers are updated across all relevant files (pyproject.toml, init.py, tests, CHANGELOG.md).
  • CI/CD Safety: Prevents release failures by ensuring the tagged commit is production-ready, avoiding immutable PyPI filename conflicts.
  • Use Case: Before pushing a new feature, use this Skill to run linters, update the version number in 10 files, verify the changelog, and create the Git tag and GitHub release in one go.

Quick Start

Follow the checklist in this skill to prepare and release your code to PyPI.

Frequently Asked Questions about releasing-to-pypi

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

FAQPage Schema
How do I automate a PyPI release with version bumping and git tagging?

To automate a PyPI release, you follow an atomic checklist that lints code, bumps versions across multiple files, creates a git tag, and pushes to GitHub. This ensures the tagged commit is production-ready and prevents release failures.

What files do I need to update for a consistent PyPI release version?

For a consistent PyPI release version, you must update version numbers across all relevant configuration files including pyproject.toml, __init__.py, tests, and CHANGELOG.md. This prevents distribution errors and maintains code integrity.

Why does my CI/CD pipeline fail when pushing a new PyPI package version?

Your CI/CD pipeline may fail because immutable PyPI filename conflicts occur if a tagged commit is not production-ready. Enforcing pre-commit checks and post-push verification prevents these release failures by ensuring all steps are completed correctly.

Can I use an atomic checklist to prevent failed PyPI releases?

Yes, you can use an atomic release process checklist to prevent failed PyPI releases. It enforces strict pre-commit linting, version consistency, and documentation updates in a single verifiable commit before pushing code.

What is the best way to prepare code for a reproducible PyPI distribution?

The best way to prepare code for a reproducible PyPI distribution is to run linters, update version numbers across all project files, verify the changelog, and create the Git tag and GitHub release in one unified process.

When should I not use an automated release process for PyPI?

You should not use an automated release process if your project lacks CI/CD configuration or if version numbers are managed manually across files without synchronization, as the atomic checklist enforces strict version consistency and pre-commit validation.