Pydantic 接手 HTTPX,推出 HTTPX2 续命
Python 生态中的 HTTP 客户端 HTTPX 近期活动减少,Pydantic 团队正式接手并推出 HTTPX2,确保项目持续维护与安全更新。HTTPX2 在保留原有设计的基础上,集成了命令行客户端,支持 HTTP/1.1 和 HTTP/2 协议,同时提供同步与异步 API。该项目不仅兼容 requests 的 API 风格,还实现了 100% 测试覆盖率,并完全类型注解。此外,HTTPX2 与 Pydantic Logfire 无缝集成,一行代码即可实现请求追踪与监控。对于依赖 HTTPX 的生产系统而言,HTTPX2 提供了可靠的演进路径,致敬了 @lovelydinosaur 及社区过往的贡献。
我们的目标是尊重原始项目的设计,确保所有依赖者的稳定性,并谨慎地推动其持续演进。
HN 评论区
32- BoumTAC
小白问题:为什么会有这么多请求库?在 JavaScript 里这简直疯了,但在 Python 里也开始有这种感觉了:requests、httpx、httpx2……
在我看来,HTTP 请求的技术几十年前(甚至更久)就已经成熟了。换库的意义是什么?新的 HTTP 库有什么特别之处能让 requests 看起来像垃圾?
我明白偶尔会出现新协议(比如 HTTP/2),但这非常罕见。如果两个库之间存在性能差异,真的有那么大吗?即使有,99% 的人也不需要这种提升。有什么能阻止人们直接改进现有库的性能呢?
- jenders
如果这个项目能换个名字我会很高兴,比如叫“httpx-ng”或“httpy”,因为我看到“http*2”时,第一时间联想到的是过时的 http/2 协议,而不是 httpx 项目。
- casper14
大家应该意识到,HTTPX 的性能比 Aiohttp 差多少。对于大规模系统来说,这差别巨大。
- niltecedu
每次看到有人用 httpx,我都会想,既然 niquests 存在,为什么还要用它?我觉得 niquests 一直是个更好的包。
- WalterGR
另外,看看该用户的其他提交:https://news.ycombinator.com/item?id=49477212
“OpenAI: Migrating to HTTPX2” (github.com/openai)
66 分 | 1 小时前 | 50 条评论