python-packaging について
Python 開発者向けのパッケージングスキルで、pyproject.toml と uv を使った設定、ビルド、配布を扱います。依存関係、エントリーポイント、公開ワークフローも説明します。
主な機能
- 01uv によるプロジェクト作成と依存関係管理
- 02pyproject.toml の設定
- 03src レイアウトまたはフラットレイアウトの選択
- 04エントリーポイントとオプショナル依存グループの設定
- 05ビルドと公開の計画
活用シーン
- 01配布可能な Python ライブラリの作成
- 02コマンドラインツールの構築
- 03開発環境とプロジェクト依存関係の設定
- 04PyPI 公開の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill python-packagingインストール後、Claude Code で/python-packagingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
modules/ci-cd-integration.mdentry-points.mdpyproject-patterns.mduv-workflow.md詳細
Python パッケージング
pyproject.toml、uv、配布のベストプラクティスを活用した、モダンな Python パッケージングです。
クイックスタート
# Create new project with uv
uv init my-package
cd my-package
# Add dependencies
uv add requests click
# Build package
uv build
# Publish to PyPI
uv publish
確認方法: --help フラグを指定してコマンドを実行し、利用可能であることを確認します。
使用する場面
- 配布可能な Python ライブラリを作成する
- CLI ツールを構築する
- PyPI に公開する
- 開発環境をセットアップする
- プロジェクトの依存関係を管理する
使用しない場面
- パッケージのテストには python-testing を使用してください 代わりに
- パッケージのパフォーマンス最適化には python-performance を使用してください
- パッケージのテストには python-testing を使用してください 代わりに
- パッケージのパフォーマンス最適化には python-performance を使用してください
主な選択事項
1. レイアウトの選択
# Source layout (recommended)
src/my_package/
__init__.py
module.py
# Flat layout (simple)
my_package/
__init__.py
module.py
確認方法: --help フラグを指定してコマンドを実行し、利用可能であることを確認します。
ソースレイアウトの利点:
- ソースとテストを明確に分離できます
- インストールされていないコードを誤ってインポートするのを防げます
- 複雑な構成のパッケージに適しています
2. プロジェクト構成
最小限のプロジェクト:
**Verification:** Run `pytest -v` to verify tests pass.
my-project/
├── pyproject.toml
├── README.md
├── src/
│ └── my_package/
│ └── __init__.py
└── tests/
└── test_init.py
確認方法: pytest -v を実行して、テストが成功することを確認します。
完全なプロジェクト:
**Verification:** Run the command with `--help` flag to verify availability.
my-project/
├── pyproject.toml
├── README.md
├── LICENSE
├── .gitignore
├── src/
│ └── my_package/
│ ├── __init__.py
│ ├── cli.py
│ ├── core.py
│ └── utils.py
├── tests/
│ ├── conftest.py
│ └── test_core.py
└── docs/
└── index.md
確認方法: pytest -v を実行して、テストが成功することを確認します。
詳細なトピック
詳しい情報は各モジュールを参照してください。
- uv のワークフロー - uv コマンドとトラブルシューティングの詳細
- pyproject.toml のパターン - パッケージの種類ごとの設定例
- エントリーポイント - コンソールスクリプト、GUI スクリプト、プラグイン
- CI/CD の統合 - GitHub Actions と自動公開
ベストプラクティス
- シンプルなパッケージ以外では、ソースレイアウトを使用する
- 直接依存関係には最低バージョンを指定する
- 開発/ドキュメント/テスト用にオプションの依存関係グループを使用する
- 型ヒントをサポートするために py.typed を含める
- 使用例を含む詳細な README を追加する
- セマンティックバージョニング(MAJOR.MINOR.PATCH)を使用する
- 公開前に複数の Python バージョンでテストする
完了条件
- モダンな pyproject.toml 設定
- 明確な依存関係の指定
- 適切なバージョン管理
- テストが含まれ、成功している
- 再現可能なビルドプロセス
- 公開パイプラインが自動化されている
コメント
Markdown 対応