mcpField
P
python-package

python-package

github.com/gkwa開発091 回インストール5 日前に更新
リポジトリ

python-package について

Pythonパッケージを始める開発者向けのスキャフォールドスキルです。基本ファイルに加え、Lint、フォーマット、`--version` によるバージョン表示の手順を示します。

主な機能

  1. 01基本的な `src` パッケージ構成
  2. 02`.python-version` と `pyproject.toml` のテンプレート
  3. 03Ruff によるチェックとフォーマットの手順
  4. 04フォーマット確認コマンド
  5. 05`importlib.metadata` を使ったバージョンオプション

活用シーン

  1. 01新しい Python パッケージの開始
  2. 02初期プロジェクトメタデータの設定
  3. 03コミット前の Python コードスタイル確認

インストール

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

$npx skills add https://github.com/gkwa/volcanicviper --skill python-package

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

同梱ファイルtile.json

詳細

Python パッケージのひな形

新しい Python パッケージを作成する際は、この構成を出発点として使用します。状況に応じて、説明、依存関係、開発用依存関係を更新してください。

src/<package>/__init__.py:

def main() -> None:
    print("Hello from <package>!")

.python-version:

3.13

pyproject.toml:

[project]
name = "<package>"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
authors = [
    { name = "Author Name", email = "[email protected]" }
]
requires-python = ">=3.13"
dependencies = []

[project.scripts]
<package> = "<package>:main"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.ruff]
preview = true

[tool.ruff.lint]
select = ["F", "E", "W"]
extend-select = ["I"]
extend-safe-fixes = ["F401", "F841"]

Lint とフォーマット

初回のコミット前と、それ以降に Python ファイルを編集するたびに、ruff のチェックを両方実行してください。

ruff check と ruff format は別々のツールであり、一方に合格しても、もう一方に失敗する場合があります。

uv tool run ruff check /absolute/path/to/<package>
uv tool run ruff format /absolute/path/to/<package>

uv tool run ruff format --check /absolute/path/to/<package> で確認してください。ファイルが変更される場合、このコマンドは終了コード 1 を返します。

それぞれを個別の Bash 呼び出しとして実行してください。

バージョンの表示

importlib.metadata を使用して --version をサポートし、バージョンの重複を避けてください。

import argparse
import importlib.metadata

parser = argparse.ArgumentParser(description="...")
parser.add_argument(
    "--version",
    action="version",
    version=f"%(prog)s {importlib.metadata.version('<package>')}"
)

コメント