À propos du projet

Starlette est un framework ASGI (Asynchronous Server Gateway Interface) léger conçu pour développer des applications web asynchrones en Python. Il fournit des fonctionnalités essentielles telles que le routage HTTP, la gestion des WebSockets, l'exécution de tâches en arrière-plan, les événements de démarrage/arrêt, CORS, la compression GZip, le service de fichiers statiques, les réponses en streaming, la gestion des sessions et des cookies, ainsi qu'une couverture complète des tests. L'ensemble du code est entièrement annoté avec des types et prend en charge les backends asyncio et trio. Starlette peut être utilisé comme framework autonome ou comme boîte à outils — ses composants sont modulaires et peuvent être intégrés indépendamment dans d'autres projets compatibles ASGI. Il ne requiert que 'anyio' comme dépendance obligatoire ; les fonctionnalités optionnelles telles que le client de test, les templates Jinja2, le middleware OpenTelemetry, l'analyse des formulaires, la prise en charge des sessions et la génération de schémas nécessitent des paquets supplémentaires, installables via 'starlette[full]'. Des benchmarks de performance montrent qu'il se compare favorablement à d'autres frameworks. Il s'intègre avec des serveurs ASGI comme Uvicorn pour le déploiement. Le projet est sous licence BSD et privilégie un design API propre pour encourager la réutilisation des middleware et le montage d'applications au sein de l'écosystème ASGI.