fastapi-python について
FastAPIとPythonによるバックエンド開発向けのスキルです。コード規約、構成、エラー処理、パフォーマンスの指針を示し、保守しやすいAPIの開発に役立ちます。
主な機能
- 01FastAPIのルーティングと依存性注入
- 02Pydantic v2の型付けと検証規約
- 03非同期I/Oと性能改善の指針
- 04エラー処理とログの実践
活用シーン
- 01FastAPIプロジェクト構成の設計
- 02型注釈付きAPIコードの作成
- 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 のシリアライズとデシリアライズを最適化します
- 大規模なデータセットには遅延読み込みを使用します
主な規約
- FastAPI の依存性注入システムを活用します
- API のパフォーマンス指標(レスポンスタイム、レイテンシ、スループット)を重視します
- 可読性と保守性を高めるよう、ルートと依存関係を構成します
依存関係
FastAPI、Pydantic v2、asyncpg/aiomysql、SQLAlchemy 2.0
コメント
Markdown 対応