Convert WSGI app to ASGI app or ASGI app to WSGI app.
Pure Python. Only depend on the standard library.
Compared with other converters, the advantage is that a2wsgi will not accumulate the requested content or response content in the memory, so you don't have to worry about the memory limit caused by a2wsgi. This problem exists in converters implemented by uvicorn/startlette or hypercorn.
pip install a2wsgi
Convert WSGI app to ASGI app:
from a2wsgi import WSGIMiddleware
ASGI_APP = WSGIMiddleware(WSGI_APP)
Convert ASGI app to WSGI app:
from a2wsgi import ASGIMiddleware
WSGI_APP = ASGIMiddleware(ASGI_APP)
Run pytest ./benchmark.py -s
to compare the performance of a2wsgi
and uvicorn.middleware.wsgi.WSGIMiddleware
/ asgiref.wsgi.WsgiToAsgi
.
You can convert an existing WSGI project to an ASGI project to make it easier to migrate from WSGI applications to ASGI applications.
There is a lot of support for WSGI. Converting ASGI to WSGI, you will be able to use many existing services to deploy ASGI applications.