Structure en couches api / services / repositories / models, sens de dependance unique, une session SQLAlchemy async injectee par dependance. - Python 3.14, dependances gerees par uv et verrouillees dans uv.lock - FastAPI expose par une factory : aucune configuration lue a l'import, ce qui rend tests et migrations independants de l'environnement - Settings Pydantic, APP_SECRET_KEY et DATABASE_URL sans valeur par defaut - Sondes /health/live et /health/ready, metriques Prometheus sur /metrics - Lint et format ruff, mypy strict, pytest avec couverture - Alembic branche sur DATABASE_URL et non sur alembic.ini - Image Docker multi-stage, utilisateur non root, sonde de sante integree
16 lines
275 B
Python
16 lines
275 B
Python
from typing import Literal
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class LivenessStatus(BaseModel):
|
|
status: Literal["ok"]
|
|
service: str
|
|
version: str
|
|
environment: str
|
|
|
|
|
|
class ReadinessStatus(BaseModel):
|
|
status: Literal["ready"]
|
|
database: Literal["reachable"]
|