<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Michiel's Blog - #httpx2</title><link href="https://tildeweb.nl/~michiel/tags/httpx2.html" rel="alternate"/><link href="https://tildeweb.nl/~michiel/tags/httpx2/atom.xml" rel="self"/><id>https://tildeweb.nl/~michiel/tags/httpx2.html</id><updated>2026-05-13T21:00:00+02:00</updated><subtitle>Blog - #httpx2</subtitle><entry><title>httpx2!</title><link href="https://tildeweb.nl/~michiel/httpx2.html" rel="alternate"/><published>2026-05-13T21:00:00+02:00</published><updated>2026-05-13T21:00:00+02:00</updated><author><name>Michiel W. Beijen</name></author><id>tag:tildeweb.nl,2026-05-13:/~michiel/httpx2.html</id><summary type="html">Yesterday the Pydantic team started httpx2, another fork of httpx</summary><content type="html">&lt;p&gt;It&amp;rsquo;s six weeks after we forked &lt;a href="https://github.com/encode/httpx"&gt;httpx&lt;/a&gt; and
named our package &lt;a href="https://httpxyz.org"&gt;httpxyz&lt;/a&gt;. Yesterday, the Pydantic
people started their own fork, &lt;a href="https://github.com/pydantic/httpx2"&gt;httpx2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;TL;DR: while we think httpxyz was definitely needed, we welcome httpx2 and
think it should be the &amp;lsquo;blessed&amp;rsquo; fork.&lt;/p&gt;
&lt;p&gt;&lt;img alt="httpxyz logo" src="images/httpxyz.png"&gt;&lt;/p&gt;
&lt;h2&gt;About httpx2&lt;/h2&gt;
&lt;h3&gt;Our fork&lt;/h3&gt;
&lt;p&gt;We did a bunch of work on httpx, merging old open pull requests, forking
httpcore, and making serious improvements fixing performance and other issues.&lt;/p&gt;
&lt;h3&gt;The Pydantic fork&lt;/h3&gt;
&lt;p&gt;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&amp;rsquo;s on Codeberg instead of
on GitHub.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not really sure about that last one. While it&amp;rsquo;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 &amp;lsquo;stars&amp;rsquo; 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&amp;rsquo;t care at what forge the code is hosted, they install
from PyPI, via &lt;code&gt;pip&lt;/code&gt; or &lt;code&gt;uv&lt;/code&gt;. Where the code is hosted is not really a factor
in the popularity.&lt;/p&gt;
&lt;h3&gt;The way forward&lt;/h3&gt;
&lt;p&gt;The reason I started httpxyz was because of the impasse httpx was in, and that
I felt something had to be done. It&amp;rsquo;s not that I wanted to be the maintainer of
an HTTP library per se ;-)&lt;/p&gt;
&lt;p&gt;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
&lt;em&gt;compete&lt;/em&gt; with them. We&amp;rsquo;ll keep httpxyz up; but we will support httpx2 and will
urge anyone who is trying to switch away from httpx to consider httpx2.&lt;/p&gt;
&lt;h3&gt;The current situation&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Also they already made some smart decisions I had been unsure about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;they are switching from certifi to
  &lt;a href="https://github.com/pydantic/httpx2/pull/209"&gt;truststore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;they are switching to
  &lt;a href="https://github.com/pydantic/httpx2/pull/933"&gt;compression.zstd&lt;/a&gt; on Python
  3.14+, enabling zstd compression by default&lt;/li&gt;
&lt;li&gt;they
  &lt;a href="https://github.com/pydantic/httpx2/commit/160c7f59d7942efe0133516c161d39139780eb45"&gt;merged httpcore&lt;/a&gt;
  and vendored it in their repository&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have great trust in their stewardship of the module. We don&amp;rsquo;t need
&amp;lsquo;competing&amp;rsquo; forks; we&amp;rsquo;ll fully support httpx2 and will encourage the community
to do the same!&lt;/p&gt;
&lt;p&gt;Thanks, and have fun!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://news.ycombinator.com/item?id=48127570"&gt;Discussion on Hacker News&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content></entry></feed>