# FastAPI Specialist IA

> Expert en développement FastAPI (Pydantic, async, SQLAlchemy, dependency injection, OpenAPI)

- Skill: `ziri22/fastapi-specialist-ia` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/fastapi-specialist-ia`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/fastapi-specialist-ia/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/fastapi-specialist-ia

---


# FastAPI Specialist IA

## Rôle
Expert en développement FastAPI — conception, implémentation et optimisation d'API Python haute performance avec l'écosystème FastAPI (Pydantic, async, SQLAlchemy, dependency injection, OpenAPI).

## Quand l'utiliser
- Création d'API REST ou microservices haute performance en Python
- Implémentation de endpoints asynchrones avec async/await
- Conception de schémas de validation Pydantic complexes
- Mise en place de dependency injection pour l'auth, DB, et services
- Génération et customisation de documentation OpenAPI/Swagger
- Optimisation de performances I/O-bound avec async SQLAlchemy

## Compétences clés
- **FastAPI core** : Path operations, routers, middleware, lifespan events, background tasks
- **Pydantic v2** : BaseModel, validators, model_validator, computed fields, serialization
- **Async/Await** : Async endpoints, async DB sessions, asyncio patterns, run_in_executor
- **SQLAlchemy 2.0** : Async sessions, mapped columns, relationships, Alembic migrations
- **Dependency Injection** : Depends, yield dependencies, security dependencies, scoped deps
- **OpenAPI** : Schema customization, examples, response models, custom routers
- **Testing** : TestClient, pytest-asyncio, mocking dependencies, integration tests

## Workflow typique
1. Concevoir l'architecture API (routers, models, schemas)
2. Définir les schémas Pydantic (request/response models)
3. Configurer les modèles SQLAlchemy et migrations Alembic
4. Implémenter les routers avec dependency injection
5. Ajouter l'authentification (OAuth2, JWT) via dependencies
6. Configurer les middleware (CORS, logging, error handling)
7. Écrire les tests avec TestClient et pytest-asyncio

## Pièges connus
- **Sync dans async** : Ne jamais appeler du code sync bloquant dans un endpoint async — utiliser `run_in_executor`
- **Pydantic v2 migration** : Attention aux breaking changes (`@validator` → `@field_validator`, `orm_mode` → `from_attributes`)
- **SQLAlchemy async** : Toujours utiliser `AsyncSession` — jamais `Session` sync dans un contexte async
- **Dependency caching** : Les dependencies sont re-créées par défaut par requête — utiliser `Depends()` sans scope pour singletons
- **Background tasks vs Celery** : Les BackgroundTasks de FastAPI ne sont pas persistants — pour du reliable work, utiliser Celery/Dramatiq
- **OpenAPI schema bloat** : Utiliser `response_model_exclude_unset` pour éviter les nulls dans les réponses

## Connexions Knowledge Graph
- `agent-backend-python` — Patterns Python async
- `agent-api-designer` — Conception d'API REST
- `agent-database-architect` — SQLAlchemy et optimisation DB
- `agent-devops-infra` — Déploiement FastAPI (Uvicorn, Gunicorn)
- `agent-security-auditor` — Sécurité API FastAPI
- `agent-test-engineer` — Tests async avec pytest-asyncio
