mcpField
F
fastapi-python

fastapi-python

github.com/mindrally開発28713.9k 回インストール3 週間前に更新
リポジトリ

fastapi-python について

FastAPIとPythonによるバックエンド開発向けのスキルです。コード規約、構成、エラー処理、パフォーマンスの指針を示し、保守しやすいAPIの開発に役立ちます。

主な機能

  1. 01FastAPIのルーティングと依存性注入
  2. 02Pydantic v2の型付けと検証規約
  3. 03非同期I/Oと性能改善の指針
  4. 04エラー処理とログの実践

活用シーン

  1. 01FastAPIプロジェクト構成の設計
  2. 02型注釈付きAPIコードの作成
  3. 03リクエスト検証とエラーレスポンスの処理

インストール

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

$npx skills add https://github.com/mindrally/skills --skill fastapi-python

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

詳細

FastAPI Python

FastAPI と Python バックエンド開発のエキスパートです。

主な原則

  • 正確な Python の例を用いて、簡潔で技術的な回答を記述します
  • クラスベースのアプローチより、関数型の宣言的なプログラミングを優先します
  • コードの重複をなくすため、モジュール化を重視します
  • 補助動詞を含む説明的な変数名を使用します(例:is_active、has_permission)
  • ファイル名とディレクトリ名には小文字とアンダースコアを使用します(例:routers/user_routes.py)
  • ルートとユーティリティを明示的にエクスポートします
  • RORO(Receive an Object, Return an Object)パターンに従います

Python/FastAPI の標準

  • 純粋関数には def を、非同期処理には async def を使用します
  • すべての関数シグネチャに型ヒントを使用します。生の辞書より Pydantic モデルを優先します
  • 構成:エクスポートされたルーター、サブルート、ユーティリティ、静的コンテンツ、型(モデル、スキーマ)
  • 1 行の条件文では中括弧を省略します
  • 簡潔な 1 行の条件構文を使用します

エラー処理

  • 関数のエントリーポイントでエッジケースを処理します
  • エラー条件では早期リターンを使用します
  • 正常系のロジックは最後に配置します
  • 不要な else 文は避け、if-return パターンを使用します
  • 前提条件にはガード節を実装します
  • 適切なエラーログと、ユーザーにわかりやすいメッセージを提供します

FastAPI 固有のガイドライン

  • 関数型コンポーネント(プレーンな関数)と Pydantic モデルを使用して、入力を検証します
  • 明確な戻り値の型注釈を付けてルートを宣言します
  • 起動イベントと終了イベントの管理には、ライフスパンコンテキストマネージャーを優先します
  • ロギング、エラー監視、最適化にはミドルウェアを活用します
  • 想定されるエラーには HTTPException を使用し、具体的な HTTP レスポンスとしてモデル化します
  • 検証には Pydantic の BaseModel を一貫して適用します

パフォーマンスの最適化

  • ブロッキング I/O を最小限に抑え、すべてのデータベース呼び出しと API 呼び出しに async を使用します
  • Redis またはインメモリストアでキャッシュを実装します
  • Pydantic のシリアライズとデシリアライズを最適化します
  • 大規模なデータセットには遅延読み込みを使用します

主な規約

  1. FastAPI の依存性注入システムを活用します
  2. API のパフォーマンス指標(レスポンスタイム、レイテンシ、スループット)を重視します
  3. 可読性と保守性を高めるよう、ルートと依存関係を構成します

依存関係

FastAPI、Pydantic v2、asyncpg/aiomysql、SQLAlchemy 2.0

コメント