mcpField
P
python-packaging

python-packaging

github.com/athola開発348108 回インストール4 日前に更新
リポジトリ

python-packaging について

Python 開発者向けのパッケージングスキルで、pyproject.toml と uv を使った設定、ビルド、配布を扱います。依存関係、エントリーポイント、公開ワークフローも説明します。

主な機能

  1. 01uv によるプロジェクト作成と依存関係管理
  2. 02pyproject.toml の設定
  3. 03src レイアウトまたはフラットレイアウトの選択
  4. 04エントリーポイントとオプショナル依存グループの設定
  5. 05ビルドと公開の計画

活用シーン

  1. 01配布可能な Python ライブラリの作成
  2. 02コマンドラインツールの構築
  3. 03開発環境とプロジェクト依存関係の設定
  4. 04PyPI 公開の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill python-packaging

インストール後、Claude Code で/python-packagingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

modules/
ci-cd-integration.md
entry-points.md
pyproject-patterns.md
uv-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 を実行して、テストが成功することを確認します。

詳細なトピック

詳しい情報は各モジュールを参照してください。

ベストプラクティス

  1. シンプルなパッケージ以外では、ソースレイアウトを使用する
  2. 直接依存関係には最低バージョンを指定する
  3. 開発/ドキュメント/テスト用にオプションの依存関係グループを使用する
  4. 型ヒントをサポートするために py.typed を含める
  5. 使用例を含む詳細な README を追加する
  6. セマンティックバージョニング(MAJOR.MINOR.PATCH)を使用する
  7. 公開前に複数の Python バージョンでテストする

完了条件

  • モダンな pyproject.toml 設定
  • 明確な依存関係の指定
  • 適切なバージョン管理
  • テストが含まれ、成功している
  • 再現可能なビルドプロセス
  • 公開パイプラインが自動化されている

コメント