Vue d'ensemble
Uvicorn 0.19, publié le 19 octobre 2022, ajoute le support officiel de Python 3.11 et améliore la gestion du cycle de vie ASGI.
Fonctionnalités principales
Support Python 3.11
Python 3.11 est officiellement supporté, avec des gains de performance significatifs grâce aux optimisations de CPython.
python
# Python 3.11 apporte ~25% de gain de performance
import uvicorn
uvicorn.run(
'app:app',
host='0.0.0.0',
port=8000,
loop='asyncio', # boucle asyncio optimisée en 3.11
)
Cycle de vie ASGI
La gestion des événements lifespan ASGI est améliorée avec une meilleure propagation des erreurs au démarrage et à l'arrêt.
python
from contextlib import asynccontextmanager
from starlette.applications import Starlette
@asynccontextmanager
async def lifespan(app):
print('Démarrage...')
yield
print('Arrêt...')
app = Starlette(lifespan=lifespan)
