mcpField
C
coding-python

coding-python

github.com/alphaonedev開発63 回インストール
リポジトリ

coding-python について

Python 3.12+ のコード生成、デバッグ、改善を支援するスキルです。データ処理、非同期タスク、Web サービスに取り組む開発者向けに、型ヒントや標準ライブラリ、一般的な Python ライブラリの使い方を扱います。

主な機能

  1. 01Python 3.12+ のコーディングパターン
  2. 02asyncio による非同期処理
  3. 03型ヒントと dataclasses
  4. 04pandas と numpy によるデータ処理
  5. 05FastAPI と pydantic の例
  6. 06venv または uv による環境管理

活用シーン

  1. 01非同期 FastAPI エンドポイントの構築
  2. 02pandas と numpy によるデータ分析
  3. 03pydantic による入力検証
  4. 04プロジェクト依存関係の分離

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill coding-python

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

詳細

目的

このスキルは、実践的なデータ処理、非同期処理、Web サービスの実装に重点を置き、コア機能とライブラリを使用して Python 3.12 以降のコードを生成、デバッグ、最適化できるよう AI を支援します。

使用する場面

pandas/numpy を使ったデータ分析、FastAPI を使った RESTful API の構築、async/await を使った非同期処理、pydantic を使ったデータ検証、venv/uv を使った環境管理などのタスクでこのスキルを使用します。保守性のために型ヒントが必要なコードや、シンプルな構造体としてデータクラスを使うコード、特に迅速な反復が求められるプロジェクトで活用してください。

主な機能

  • Python 3.12 の機能:ノンブロッキング I/O には async/await を使用します。@dataclass デコレーターでデータクラスを定義します。from typing import List を使って型ヒントを適用します(例:def func(x: int) -> str:)。
  • 標準ライブラリ:イベントループには asyncio を活用します(例:asyncio.run(main()))。分離された環境には venv を使用します(例:python -m venv myenv)。
  • uv ツール:venv の代替手段です。pip install uv でインストールし、uv venv myenv で環境を作成してから、source myenv/bin/activate で有効化します。
  • ライブラリ:非同期 Web アプリには FastAPI を使用します(例:@app.get("/") でルートを定義)。データフレームには pandas を使用します(例:df = pd.DataFrame(data))。配列には numpy を使用します(例:np.array([1, 2, 3]))。モデルには pydantic を使用します(例:from pydantic import BaseModel; class Item(BaseModel): name: str)。

使用パターン

タスクを実行するには、次のようにコードを構成します。まず必要なモジュールをインポートします(例:import asyncio, fastapi)。I/O バウンドの処理には非同期関数を使用します(例:async def fetch_data(): await asyncio.sleep(1))。依存関係を分離するため、スクリプトは仮想環境内で実行します。プロジェクトでは、python -m venv .venv で初期化し、pip install fastapi pandas numpy pydantic で依存関係をインストールします。コードを生成するときは、型ヒントを必ず含めます(例:def add(a: float, b: float) -> float: return a + b)。非同期処理のパターンでは、イベントループを明示的に実行します:asyncio.run(main())。シバンまたは requirements.txt で Python 3.12 以降を指定し、互換性を必ず確認してください。

一般的なコマンド/API

  • CLI コマンド:python -m venv env_name --prompt env_name で venv を作成します(Windows では --copies フラグを使用)。Unix では source env_name/bin/activate、Windows では env_name\Scripts\activate で有効化します。uv run script.py --watch でスクリプトを実行し、自動リロードを有効にします。パッケージをインストールするには、pip install fastapi[all] または uv add fastapi を使用します。
  • API エンドポイント/メソッド:FastAPI では、次のようにエンドポイントを定義します:from fastapi import FastAPI; app = FastAPI(); @app.get("/items/{item_id}") async def read_item(item_id: int): return {"item_id": item_id}。pandas では df.groupby('column').mean() を使用します。numpy では np.dot(array1, array2) を使用します。pydantic では item = Item(name="example") でデータを検証します。
  • 設定形式:FastAPI の設定には JSON を使用します(例:settings.py の {"debug": true})。キーには環境変数を使用します(例:os.environ.get('API_KEY'))。依存関係には requirements.txt を使用します(例:fastapi>=0.95.0\npandas==2.0.0)。

統合に関する注意

Python プロジェクトをセットアップして、このスキルを統合します。まず venv を作成し、pip install -r requirements.txt でライブラリをインストールします。外部サービスでは、認証に環境変数を使用します(例:export API_KEY=your_key を設定し、コード内で os.getenv('API_KEY') を使ってアクセスします)。他のツールと組み合わせる場合は、必要に応じてインポートします(例:非同期データベースクエリには async with database.connect() as conn: を使用します)。Python 3.12 以降が必要なため、pyproject.toml の [tool.poetry.dependencies] python = "^3.12" で指定し、互換性を確保してください。テストには pytest を使用し、pytest --asyncio-mode=auto で非同期テストを処理します。

エラー処理

失敗する可能性のあるコードは、必ず try-except ブロックで囲んでください。try: result = await fetch_data() except asyncio.TimeoutError as e: print(f"Timeout: {e}")。pandas の KeyError のように、特定のライブラリエラーを処理してください。これは、列が見つからない場合に発生します(例:try: df['nonexistent'] except KeyError: df['nonexistent'] = 0)。pydantic では ValidationError をキャッチしてください(例:from pydantic import ValidationError; try: item = Item(name=123) except ValidationError as e: log_error(e))。FastAPI の例外ハンドラーを使用してください:@app.exception_handler(RequestValidationError) async def validation_exception_handler(request, exc): return JSONResponse(status_code=400, content={"detail": exc.errors()})。import logging; logging.error("Message") でエラーをログに記録し、非同期コードでは try-finally を使って適切にシャットダウンできるようにしてください。

使用例

  1. FastAPI エンドポイントを構築する:データを取得するシンプルな非同期 API を作成するには、次を使用します:from fastapi import FastAPI; import asyncio; app = FastAPI(); async def get_data(): await asyncio.sleep(1); return {"data": "fetched"}; @app.get("/") async def root(): return await get_data()。uvicorn main:app --reload --port 8000 で実行します。
  2. Pandas と Numpy によるデータ分析:データセットを処理するには、ライブラリをインポートして次の計算を行います:import pandas as pd; import numpy as np; df = pd.DataFrame({'A': [1, 2]}); result = np.mean(df['A']); print(result) # Outputs mean value。スクリプトで使用する場合は、analyze.py として保存し、python analyze.py で実行します。

グラフの関連性

  • 関連項目:コーディングクラスター(例:より広範なスクリプト作成向けに「coding-general」とタグを共有します。API 構築では FastAPI を通じて「web-dev」とつながり、分析ワークフローでは pandas/numpy を通じて「data-science」と関連します)。

コメント