3 ms·
I’ve been using niquests with Python. It supports HTTP/3 and a bunch of other goodies. The Python ecosystem has been kind of stuck on the requests package due t
by JimDabell 2y ago
I’ve been using niquests with Python. It supports HTTP/3 and a bunch of other goodies. The Python ecosystem has been kind of stuck on the requests package due to inertia, but that library is basically dead now. I’d encourage Python developers to give niquests a try. You can use it as a drop-in replacement for requests then switch to the better async API when you need to.
https://niquests.readthedocs.io/en/latest/ https://niquests.readthedocs.io/en/latest/
Traditionally these types of things are developed outside the stdlib for Python. I’m not sure why they draw the line where they do between urllib vs niquests, but it does sometimes feel like the batteries-included nature of Python is a little neglected in some areas. A good HTTP library seems like it belongs in the stdlib.
- mixmastamyk 2y agorequests dead? The reason given for not including it in the stdlib was so it could evolve more rapidly. Back then the protocol layer was handled/improved by urllib3.
- JimDabell 2y agoIt’s not evolving at all: > Requests is in a perpetual feature freeze, only the BDFL can add or approve of new features. The maintainers believe that Requests is a feature-complete piece of software at this time. > One of the most important skills to have while maintaining a largely-used open source project is learning the ability to say “no” to suggested changes, while keeping an open ear and mind. > If you believe there is a feature missing, feel free to raise a feature request, but please do be aware that the overwhelming likelihood is that your feature request will not be accepted. — https://requests.readthedocs.io/en/latest/dev/contributing/#feature-requests https://requests.readthedocs.io/en/latest/dev/contributing/#...
- antisthenes 2y agoIt takes a very special case of a person to complain about a feature-complete piece of software not evolving fast enough.
- ezfe 2y agoBut it's not feature complete if it can't make modern networking requests when the whole point of a library like requests is to make networking requests.
- antisthenes 2y agoIf you can get the content of a web page using requests, then it works just fine.
- KaiserPro 2y ago> whole point of a library like requests is to make networking requests. The whole point of requests is to make HTTP requests easy. HTTPLib was/is an arse to use. as HTTP3 is really not that widely adopted, and where it is, has fallbacks to 1.1 whats the point? Plus the people who are keen on HTTP3 also seem to be keen on async, https://github.com/aiortc/aioquic/tree/main/examples https://github.com/aiortc/aioquic/tree/main/examples which even though it isn't seems to be overly complex and difficult to use. Contrast that to r.get(url)....
- JimDabell 2y agoIt’s an HTTP library that doesn’t support async or HTTP/2, let alone HTTP/3. It isn’t feature complete. Besides, I was responding to this: > The reason given for not including it in the stdlib was so it could evolve more rapidly. Pointing out that it isn’t evolving at all is a perfectly reasonable response to that.