# Pypi Upload Dist

> dist 配下の配布物（wheel / sdist）を UAG_TOKEN で PyPI へアップロードするための手順を規定化したスキル。

- Skill: `awaku7/pypi-upload-dist` (Agent Skill)
- Install (CLI): `npx skillmds@latest add awaku7/pypi-upload-dist`
- Raw SKILL.md: https://api.skillmd.com/api/skills/awaku7/pypi-upload-dist/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: awaku7 (https://skillmd.com/u/awaku7)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/awaku7/pypi-upload-dist

---


# 目的

- `dist/` の配布物を PyPI にアップロードする。
- Windows でも安全に実行できるよう、twine の進捗表示を無効化する。

# 入力

必須:

- `UAG_TOKEN`

任意:

- 配布対象ディレクトリ
  - 既定: `dist`
- 対象ファイル
  - 既定: `dist/*.whl` と `dist/*.tar.gz`

# 前提

- `dist/` にアップロード対象の成果物があること
- `python` と `twine` が利用可能であること

# 危険操作（必ず事前に確認する）

このスキルは PyPI へ公開します。実行前に必ずユーザーへ確認し、
**「実行して」** と返答された場合のみ続行する。

確認文（固定）:

- `dist/` の成果物を PyPI にアップロードします
- 既存の同一バージョンは上書きできません
- `UAG_TOKEN` を使って公開します

# 実行フロー（固定）

## 0) 成果物確認

- `dist/` に `*.whl` / `*.tar.gz` があることを確認する。

## 1) アップロード

Windows では進捗表示の文字化け回避のため、次を使う。

```powershell
$env:TWINE_USERNAME='__token__'
$env:TWINE_PASSWORD=$env:UAG_TOKEN
python -m twine upload --non-interactive --disable-progress-bar dist\*.whl dist\*.tar.gz
```

# 成功判定

- twine の出力が成功を示す
- PyPI のプロジェクトページが表示される

# 失敗時のよくある原因

- `UAG_TOKEN` 未設定、または期限切れ
- 同一バージョンの再アップロード
- `dist/` に成果物がない
- `twine` の表示が Windows コンソールと合わない

