I know the following about various python HTTP libraries:
- Requests does not support HTTP/2 requests.
- Hyper does support HTTP/2 requests, but is archived as of early 2021 and wouldn't be a good choice for new projects.
- HTTPX does support HTTP/2, but this support is optional, requires installing extra dependencies, and comes with some caveats about rough edges.
- AIOHTTP does not support HTTP2 yet (as of mid April 2022).
- The focus of this project is also not solely on being a client -- this package also includes a server.
The other major HTTP request library I'm aware of is urllib3. This is what OpenAPI Generator uses by default when generating python client libraries.
My Questions are:
Can urrlib3 be configured to make HTTP/2 requests?
I cannot find any information on http2 support in the documentation, and through my testing of a generated OpenAPI client, all requests are HTTP/1.1. If the answer is no currently, are the maintainers planning HTTP/2 support? I cannot find any evidence of this in the project's open issues.