Embora WSGI ainda seja muito utilizado, o ASGI é o que vem sendo mais utilizado em novos projetos. "ASGI é um sucessor espiritual do WSGI, o padrão Python de longa data para compatibilidade entre servidores web, estruturas e aplicativos. O WSGI conseguiu permitir muito mais liberdade e inovação no espaço web Python, e o objetivo do ASGI é continuar isso na terra do Python assíncrono." https://asgi.readthedocs.io/en/latest/ O Gunicorn reina como servidor WSGI. Já para ASGI vejo mais usando Uvicorn (que tem ótimo desempenho), tendo outras opções como Hypercorn, Daphne, Granian... Sendo que o Granian pode ser utilizado como servidor WSGI ou ASGI e tem desempenho espetacular pois a base dele é feita em Rust, com isso temos aplicações em Python processando muito bem milhares de requisições por segundo. Pode usar Granian para rodar Flask, Django, FastAPI, LiteStar, etc.

Obrigado pelo comentário, agregou bastante conteúdo ao post. Eu já tinha ouvido falar do Uvicorn, mas não sabia do que se tratava. Vou estudar o ASGI agora também.

Vou deixar aqui a dica de como substituir o Gunicorn / Uvicorn / Hypercorn / Daphne pelo Granian. Basta substituir: De: gunicorn projeto.wsgi:application --bind :8000 O mesmo vale para uvicorn, hypercorn, daphne... Para: WSGI granian --interface wsgi projeto.wsgi:application --port 8000 ASGI granian --interface asgi projeto.asgi:application --port 8000 É assim que uso para rodar projetos de web apps Python. O Granian tem outros parâmetros para customizar podendo escolher o número de processos, threads, etc. Tem os detalhes na página do projeto.