HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
encode
httpx
Python2020–2026
encode / httpx

httpx

A next generation HTTP client for Python. 🦋

24Distinct people
27Mentions
0Explicit recommenders
15.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A next generation HTTP client for Python. 🦋

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 9:28:18 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year27 dated mentions

Observed mentions: 2020-01-11 13:00:37 UTC to 2026-08-29 09:04:41 UTC.

0369122020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 11 mentions; 3 submissions, 8 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC413
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC413
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC1138

What Hacker News says

2 sources
My next question would be "What type of Python are you trying to learn". I personally feel there are multiple types: - Enterprise web dev? You'll probably want Django https://dev.to/vladyslavnua/how-to-build-a-django-web-app-fr... (but ignore all the CSS, frontend stuff) - Just want to learn idiomatic Python in general. Go through this article/exercise, write all the code, and research the topics that seem confusing, I think you'll be in good shape (ignore all the maths, just talking about the literal code) https://karpathy.github.io/2021/06/21/blockchain/ - Want to learn modern, idiomatic Python via a popular open source package? Look at this httpx code, and obviously playing around with a simple web client can be fun https://github.com/encode/httpx/blob/master/httpx.
In Ask HN: What is the best way to learn Python fast?
> but instead people are re-inventing 'sqlalchemy' SQLalchemy last version is asyncio compatible now: https://docs.sqlalchemy.org/en/14/orm/extensions/asyncio.htm... > network libraries and entire web frameworks for the sake of two new keywords The trend in the community now is SansIO: https://sans-io.readthedocs.io You create entire libs without the IO parts, dealing only with the business logic. The you let the I/O libs to deal with the rest. This allows modern project to provides a sync and async API with the same protocol implementation. E.G: https://github.com/encode/httpx Also, I'm pretty glad gevent has not been adopted: - it's very hard to know if you are doing something wrong with gevent. Or doing something with gevent at all. - gevent magic patching broke stuff in unpredictable ways, and the solution was to disable part of it:
Read the rest
https://stackoverflow.com/questions/8678307/gevent-monkeypat... - gevent didn't play well with stdlib threads and multiprocessing, (had its own thread pool, subprocess wrapper, and no multiprocess story) while asyncio has a very good interoperability story - the asyncio pluggable loop meant we didn't need a perfect solution out of the box. Thanks to that design, we have been able to integrate the nodejs loop, like with the uvloop project, giving birth to stuff like asgi, fastapi and uvicorn. Asyncio can now comparable async perfs as Go. (gevent does that, but forces you to, and having libuv in the stdlib is not something the core devs would want). - gevent is a 5mo package. It's 1/6 of the ENTIRE python installer. - the coroutine based design means we have a standard api for async, no matter the backend or implementation. Which means solution like trio were able to emerge, and eventually the core dev are now considering including trio-like scoping in the next asyncio iteration. There are plenty of problems with asyncio though: - create_task is basically a goto. See trio for a solution. - coro() does not run the coro task. In JS it does, and returns a future you can await, or not. This makes it very confusing to beginner that get lost in the await/return/create_task dance. - there is no concurrency limiting primitive, cancellation is hard and back pressure mitigation is non existent. I was very skeptical about asyncio, but after 3.7, it became quite nice. asyncio.run() made all the difference, ergonomically, and when dealing with errors.
In Windyquery: A non-blocking Python PostgreSQL query builder

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.