summaryrefslogtreecommitdiff
path: root/dev-python/httpx2
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/httpx2')
-rw-r--r--dev-python/httpx2/Manifest1
-rw-r--r--dev-python/httpx2/httpx2-2.9.1.ebuild107
2 files changed, 108 insertions, 0 deletions
diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest
index 81fe87d34b24..6561bca8df30 100644
--- a/dev-python/httpx2/Manifest
+++ b/dev-python/httpx2/Manifest
@@ -3,3 +3,4 @@ DIST httpx2-2.5.0.gh.tar.gz 2053138 BLAKE2B 8d436c215dcb47664c41f0b286bfd614e9ee
DIST httpx2-2.7.0.gh.tar.gz 2084293 BLAKE2B 82a2ba5d9ea378ecd345e2f44e83a231e52c6a4551c854d2719387abc5a6b03da16fa8c99b731773ee73bbd7212eaa0843bab586edf0938751f0e545b7d170c5 SHA512 4badec86b0e5a4bf0c0974168e65ab24033598f414ea57af24d63c33d5c4700637de3a443cb552cf87f33c6aad3ed17fe498a7ed061d96bde0fe8c22073f3fb2
DIST httpx2-2.8.0.gh.tar.gz 2086475 BLAKE2B 1fcf8504f7b7cafa4b1972c1696c1c93ce1d3989e7faa261278205155faa24e972072cf664f4b6e7f28d0d047cafd975bfc83881b4097379edc805bd40150b9d SHA512 140df21e9c18219c0f7a6892c4c2a1dcabd72ae15fe32c4a0bd0dc0670a0c2e3ec5de34befb4d1c4a44208c5e7a72664e58fa2b9b5dc0431ef0d95c461d70ed4
DIST httpx2-2.9.0.gh.tar.gz 2093086 BLAKE2B b059640db8fa0f3cdb05aa467c92d6127bd48cf8a3e419eb7b38a03c7a612c341c1637d07773cb9776fa1fef6a70032a772b3302e444568db57005f105b32cbc SHA512 cd56a2c55a4b9e8c163834248ff7fb2ca2be8ddda0d878c8cbf29d2fb849fa3a0a72ce34dac394fe981bed605bfec6c53ac0ffa91632505fbaeb08d1c7f23c2b
+DIST httpx2-2.9.1.gh.tar.gz 2093326 BLAKE2B 2124f7276c6f6bac2304fd0bd4bdd388592f85f419c89c2e3ad0cb7f6ab9eb04fff6cdc1544a5e4a898e0034873784ac1d17d90f49ba4bd901c3d17de7003804 SHA512 8b0045ad01e1020414b5ea17a694e332d531007f59b7157765fa3e15dbe95c9e54717930fa1f860fba55edfde9fa3136f9f5107d4e5bfc96f4fc7e45ca1543fd
diff --git a/dev-python/httpx2/httpx2-2.9.1.ebuild b/dev-python/httpx2/httpx2-2.9.1.ebuild
new file mode 100644
index 000000000000..91015cb37a30
--- /dev/null
+++ b/dev-python/httpx2/httpx2-2.9.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+# This package combines httpx2 and httpcore2 (because of exact version pin).
+DESCRIPTION="The next generation HTTP client (Pydantic fork)"
+HOMEPAGE="
+ https://pypi.org/project/httpx2/
+ https://pypi.org/project/httpcore2/
+ https://github.com/pydantic/httpx2/
+"
+SRC_URI="
+ https://github.com/pydantic/httpx2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/anyio-4.10[${PYTHON_USEDEP}]
+ >=dev-python/idna-3.18[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.16[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+ ' 3.12)
+ cli? (
+ >=dev-python/click-8.4[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ >=dev-python/rich-10[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/uv-dynamic-versioning[${PYTHON_USEDEP}]
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/h2[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ >=dev-python/wsproto-1.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+ )
+"
+
+EPYTEST_PLUGINS=( anyio flaky pytest-{httpbin,trio} )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x UV_DYNAMIC_VERSIONING_BYPASS=${PV}
+
+ cd src/httpcore2 || die
+ distutils-r1_python_compile
+ cd ../httpx2 || die
+ distutils-r1_python_compile
+ cd ../.. || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # random HTTP header case mismatch
+ tests/httpx2/test_main.py::test_auth
+ tests/httpx2/test_main.py::test_binary
+ tests/httpx2/test_main.py::test_follow_redirects
+ tests/httpx2/test_main.py::test_get
+ tests/httpx2/test_main.py::test_json
+ tests/httpx2/test_main.py::test_post
+ tests/httpx2/test_main.py::test_redirects
+ tests/httpx2/test_main.py::test_verbose
+ # Internet
+ tests/httpcore2/test_cancellations.py::test_h2_timeout_during_request
+ tests/httpx2/client/test_proxies.py::test_async_proxy_close
+ tests/httpx2/client/test_proxies.py::test_sync_proxy_close
+ # unexpected logs from uvicorn
+ tests/httpx2/test_utils.py::test_logging_request
+ tests/httpx2/test_utils.py::test_logging_redirect_chain
+ )
+
+ local EPYTEST_IGNORE=()
+ if ! use cli; then
+ EPYTEST_IGNORE+=(
+ tests/httpx2/test_main.py
+ )
+ fi
+
+ epytest tests/{httpcore2,httpx2}
+}