Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

`requests` has a friendlier API than the standard library. However, it does not support newer versions of HTTP, nor does it support `async`. The maintainer considers it complete, feature-frozen software, IIRC - they'd rather keep it stable for existing users and let other libraries succeed it.

`aiohttp` supports `async` but was never popular for non-async

`httpx` supported newer HTTP versions and both async and non-async. However the maintainer decided to close all outside submissions, issues and discussions for personal reasons.

`httpx2` is a maintained fork of `httpx`



'urllib3' completely saved me once. We had to authenticate with the border proxy using a certificate, then make a request to a web service ... that needed authenticating with a certificate. Urllib3 was the only one that could do it.


I've had to do similar in the past, and also wound up on urllib3.

Thanks for the explanation !


Also niquests as well which is a dropin replacement and imo wayyy better than httpx


niquest is something like a one-man-show, which is an issue-per-se

Of course, it is clearly superior to everything else (being authored by a french guy !). But sadly, some people do not accept this simple fact :(


“Niquer” means “to f*ck” in French slang


And why don't people use pycurl? Curl is the king of the hill...


There are tradeoffs to the non-Python HTTP libraries like pycurl and pyreqwests, namely:

- Non-portability to alternative Python implementations or environments without the supporting C libraries

- Less visibility into the client internals (for debugging etc)


Thx!


thanks for the summary.

>`httpx` supported newer HTTP versions and both async and non-async. However the maintainer decided to close all outside submissions, issues and discussions for personal reasons.

how can something like this happen? and which positive consequence there can be out of that?


> how can something like this happen?

https://xkcd.com/2347

Specifically in this case, the consensus seems to be the maintainer is having some mental health struggles and chose to close out outside contribution.


ohh thanks for that xkcd! totally right!

only problem I have and that's probably why I didn't associate it directly myself is that I see the example very valid for many other FOSS cases.

but in this case it feels like the part at the bottom is made of multiple random persons, not a single one, and one of those random persons decided to exclude all the other random persons.

so maybe the lower layer shall be represented as made of multiple pieces that fight each other, beside the all modern shit on top of it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: