概要
- httpxのフォーク「httpxyz」を作成した理由と背景
- メンテナンスやリリースの停滞、GitHub上での運営方針の問題点を指摘
- フォークの方針は「安定性重視」「大きな変更なし」
- Codebergへの移行理由や今後のサポート体制について説明
- 他の選択肢や移行の必要性についてもアドバイス
httpxをフォークした理由
- httpx はPython向けの人気HTTPクライアントライブラリ
- 2024年に zstdコンテンツデコーディング 機能をコントリビュートし、マージ・リリースされた実績
- しかし、その機能に不具合が見つかり、 修正を提案 したが無視され、2024年11月以降リリースも停止
- 自分や他のユーザーが 修正版のリリース を何度も要望
- 作者に直接メールしたが、「1.0開発中」とのみ返答
- 1.0リリースの計画 は2年以上前から続くが進捗が遅い
- パッチレベルのリリース (0.28.2)も1年以上ドラフト状態
GitHub運営上の問題
- イシューが非公開化 され、ディスカッションも停止
- イシュー非公開により、コントリビューションや利用者の問題解決が困難化
- redditスレッド でも議論が発生
- 1.0リリースが数年越しの話題になっており、将来的な大幅変更の可能性も指摘
- Simon Willisonによる 慎重な意見 も参照推奨
- openaiやanthropicのPythonパッケージ もpyproject.tomlで1.0をインストールしないようガード
- マイナーアップデートで破壊的変更 を加えることがあり、多くのユーザーに負担
- 作者は Django REST framework や MkDocs の作者でもあり、同様にイシューやディスカッションを停止した前例
フォーク決断の理由
- これらの状況から、 httpxに依存するユーザーのため安定したフォーク が必要と判断
- メンテナーバーンアウトや“次”への集中も理解しつつ、 メンテナンス放棄と他者の参加拒否 は問題視
- 作者へのリスペクトと今後の活躍への期待も表明
FAQ
- Q: なぜフォークしたのか?
- 上記の理由すべてが動機
- Q: 今後の方針は?
- httpxの安定フォークとして 大規模な書き換えや破壊的変更は行わない
- モットーは「 少しだけ速く、壊さずに進む」
- Q: 負担が大きくて自分も燃え尽きないか?
- httpxは2024年以降リリースがなく、 もう少し頻繁なリリース が目標
- Sander Wegter が共同メンテナーとして負担分散
- Q: なぜCodebergに移行したのか?
- GitHub依存の単一文化 への懸念
- Codebergは 非営利運営、FOSDEMで運営者と交流した好印象
- リポジトリは こちら (リンク省略)
- Q: 今すぐ自分のコードを移行すべきか?
- 必要があれば歓迎だが、現状問題なければ 無理に移行しなくても良い
- 他のパッケージへの移行も選択肢
- niquests はrequestsのフォークでHTTP/2, HTTP/3, async対応
- requests APIに近いため、httpxからの移行も比較的容易
- Q: プラグイン互換性は?
import httpxyz as httpxで多くは動作するが、 一部プラグインや拡張機能は要調整- 今後の対応を観察予定
終わりに
- Hacker News での議論も参照推奨
- 参加・利用への感謝と「楽しんで!」のメッセージ