My most focused work this month has been on reworking the
httpcore package. I’ve been spending a good chunk of time in documenting this redesign, and focusing on trying to provide an HTTP package that is tightly scoped in only providing the absolute core HTTP networking functionality, while still being a useful tool in it’s own right.
Handling connection pooling for both HTTP/1.1 and HTTP/2 connections is actually pretty tricky to get right. There aren’t any other Python packages that handle this, and it has a number of awkward corner cases.
Being able to devote full-time focused work to redesigning
httpcore is the kind of work that very likely might not be viable without a funded open-source model.
The work on
httpcore has been a substantial redesign. One a new release is made, we’ll need a corresponding new release of HTTPX, which is backed by this new work.
Once that’s done, it’d probably make sense for my to spend some time working on an
httpcore based adapter for
requests. This would be interesting as it would have the potential to bring HTTP/2 support either to
requests, or perhaps to the widely-used
httpie command-line tool.