httpx2!
It’s six weeks after we forked httpx and named our package httpxyz. Yesterday, the Pydantic people started their own fork, httpx2.
TL;DR: while we think httpxyz was definitely needed, we welcome httpx2 and think it should be the ‘blessed’ fork.

About httpx2
Our fork
We did a bunch of work on httpx, merging old open pull requests, forking httpcore, and making serious improvements fixing performance and other issues.
The Pydantic fork
Straight after we made our fork, I contacted Kludex, who is among other things maintainer of Starlette, about our fork. He said that he had also been thinking about doing a fork, but that he might prefer to do one himself, and also that he thought that ours could not get popular because it’s on Codeberg instead of on GitHub.
I’m not really sure about that last one. While it’s true that there are still
no big examples of popular Python packages on Codeberg, more and more projects
are currently moving there. Also, even though we are on Codeberg, every single
day we were still gaining ‘stars’ and if the Pydantic team would have backed
our fork, with their power we definitely could have made it a success. The
majority of users don’t care at what forge the code is hosted, they install
from PyPI, via pip or uv. Where the code is hosted is not really a factor
in the popularity.
The way forward
The reason I started httpxyz was because of the impasse httpx was in, and that I felt something had to be done. It’s not that I wanted to be the maintainer of an HTTP library per se ;-)
So now that Pydantic, with their skillful team and their powerful ecosystem of packages, is creating their own fork, there is no point really in trying to compete with them. We’ll keep httpxyz up; but we will support httpx2 and will urge anyone who is trying to switch away from httpx to consider httpx2.
The current situation
As it stands, httpx2 is lacking the performance improvements we added to httpxyz. But it will not be long before they will add those, too.
Also they already made some smart decisions I had been unsure about:
- they are switching from certifi to truststore
- they are switching to compression.zstd on Python 3.14+, enabling zstd compression by default
- they merged httpcore and vendored it in their repository
I have great trust in their stewardship of the module. We don’t need ‘competing’ forks; we’ll fully support httpx2 and will encourage the community to do the same!
Thanks, and have fun!