[QUESTION] very specific checks / unusual deps
devkral opened this issue · comments
While digging through your code I saw some very specific checks for some libraries.
For e.g. aiohttp, fastapi
What is the reason behind the checks?
And why do you use werkzeug and starlette-testclient (I guess because of wsgi/asgi)?
Wouldn't it be easier to use httpx directly instead of the testclient? It is just an abstraction.
Anyway, if you want to stay in the wsgi world a bit longer, you can use asgiref. It has an asgi to wsgi converter, which could obsolete the problems with starlette
Most of such things are about compatibility with tools I considered popular in the community, or those used in the company I was working for during the early days of Schemathesis (e.g. aiohttp
was used in some teams there).
And why do you use werkzeug and starlette-testclient (I guess because of wsgi/asgi)?
Yes, werkzeug
was the default choice because of its popularity in WSGI tooling. starlette-testclient
is a temporary solution to postpone moving things to httpx
.
Overall, the means of maximizing compatibility was one of the priorities in the early days, but given that the ecosystem has moved forward significantly, I would be happy to reconsider many of the choices in terms of dependencies and APIs they imply (speaking about inconvenient & confusing call_asgi
/ call_wsgi
/ call
combo)