HTTPX is a fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.
HTTPX builds on the well-established usability of requests, and gives you:
- A broadly requests-compatible API. 
- Standard synchronous interface, but with async support if you need it. 
- HTTP/1.1 and HTTP/2 support. 
- Ability to make requests directly to WSGI applications or ASGI applications. 
- Strict timeouts everywhere. 
- Fully type annotated. 
- 99% test coverage. 
Plus all the standard features of requests:
- International Domains and URLs 
- Keep-Alive & Connection Pooling 
- Sessions with Cookie Persistence 
- Browser-style SSL Verification 
- Basic/Digest Authentication 
- Elegant Key/Value Cookies 
- Automatic Decompression 
- Automatic Content Decoding 
- Unicode Response Bodies 
- Multipart File Uploads 
- HTTP(S) Proxy Support 
- Connection Timeouts 
- Streaming Downloads 
- .netrc Support 
- Chunked Requests