Philipp Hörist pushed to branch master at gajim / gajim


Commits:
ae1806a0 by Philipp Hörist at 2026-08-29T10:17:59+02:00
change: Switch from httpx to httpx2

httpx2 is a fork with a new maintainer after httpx is freezed for nearly two 
years

- - - - -


6 changed files:

- README.md
- debian/patches/remove-nbxmpp-from-deps.patch
- gajim/common/multiprocess/http.py
- mac/gajim-macos-helper.sh
- pyproject.toml
- win/_base.sh


Changes:

=====================================
README.md
=====================================
@@ -26,7 +26,7 @@ ### Runtime Requirements
 - [nbxmpp](https://pypi.org/project/nbxmpp/) (>=7.4.0)
 - [omemo-dr](https://dev.gajim.org/gajim/omemo-dr) (>=1.2.0)
 - [packaging](https://pypi.org/project/packaging/)
-- [httpx](https://pypi.org/project/httpx/)
+- [httpx2](https://pypi.org/project/httpx2/)
 - [h2](https://pypi.org/project/h2/)
 - [Pango](https://gitlab.gnome.org/GNOME/pango) (>=1.50.0)
 - [Pillow](https://pypi.org/project/Pillow/) (>=9.1.0)


=====================================
debian/patches/remove-nbxmpp-from-deps.patch
=====================================
@@ -13,7 +13,7 @@ index 24ae76d42..b9f4d8d0e 100644
 +++ b/pyproject.toml
 @@ -29,7 +29,6 @@ dependencies = [
    "emoji>=2.6.0",
-   "httpx[http2,socks]",
+   "httpx2[http2,socks]",
    "keyring",
 -  "nbxmpp>=7.4.0,<8.0.0",
    "omemo-dr>=1.2.0,<2.0.0",


=====================================
gajim/common/multiprocess/http.py
=====================================
@@ -20,7 +20,7 @@
 from io import BytesIO
 from pathlib import Path
 
-import httpx
+import httpx2
 import truststore
 
 from gajim.common.aes import AESGCMDecryptor
@@ -97,7 +97,7 @@ def finalize(self) -> bytes:
         return b""
 
 
-def get_header_values(headers: httpx.Headers) -> tuple[int | None, str | None]:
+def get_header_values(headers: httpx2.Headers) -> tuple[int | None, str | 
None]:
     try:
         content_length = max(int(headers["Content-Length"]), 0)
     except Exception:
@@ -151,7 +151,7 @@ def http_request(
         trust_env = False
 
     ctx = truststore.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
-    client = httpx.Client(
+    client = httpx2.Client(
         timeout=timeout,
         verify=ctx,
         http2=http2,
@@ -253,7 +253,7 @@ def _read_file_generator() -> Iterable[bytes]:
 
     try:
         resp.raise_for_status()
-    except httpx.HTTPStatusError:
+    except httpx2.HTTPStatusError:
         # https://github.com/encode/httpx/issues/1990
         raise HTTPStatusError(f"{resp.status_code} {resp.reason_phrase}")
 


=====================================
mac/gajim-macos-helper.sh
=====================================
@@ -46,7 +46,7 @@ python_dependencies="\
        emoji \
        h2 \
        socksio \
-       httpx \
+       httpx2 \
        pysequoia"
 
 # Set PATH and DYLD_LIBRARY_PATH for Brew to use Brew Python version (see 
https://dev.gajim.org/gajim/gajim/-/issues/12365)


=====================================
pyproject.toml
=====================================
@@ -26,7 +26,7 @@ dependencies = [
   "cryptography>=43.0.0",
   "css-parser",
   "emoji>=2.6.0",
-  "httpx[http2,socks]",
+  "httpx2[http2,socks]",
   "keyring",
   "nbxmpp>=7.4.0,<8.0.0",
   "omemo-dr>=1.2.0,<2.0.0",


=====================================
win/_base.sh
=====================================
@@ -63,7 +63,7 @@ PYTHON_REQUIREMENTS="\
 git+https://dev.gajim.org/gajim/omemo-dr.git
 git+https://dev.gajim.org/gajim/python-nbxmpp.git
 css_parser
-httpx[http2,socks]
+httpx2[http2,socks]
 truststore
 emoji
 pystray



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/ae1806a098de531d1ad2eb3b350149b73e8d5a58

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/ae1806a098de531d1ad2eb3b350149b73e8d5a58
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to