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.13.1.ebuild99
2 files changed, 100 insertions, 0 deletions
diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest
index 9867913ece73..503fc7a0936b 100644
--- a/dev-python/httpx2/Manifest
+++ b/dev-python/httpx2/Manifest
@@ -1,3 +1,4 @@
DIST httpx2-2.10.0.gh.tar.gz 2140799 BLAKE2B b6d809bf1053f17abbadf6543b57133d112a07c112da54dee19f7c5bb08f5ce0606c1a822e4ba75b70ed155543faaeabfd84ca174a6d0b8bfa97515906bee2fe SHA512 18bfeac68d50a0851a8dcc996f0a6dbea99ab1d546bb2463e7abe466f2c0d71e44b8712af1e02cdf53be4a220003dad17ade625f7df431a05cf38eee02a953d0
DIST httpx2-2.12.0.gh.tar.gz 2144469 BLAKE2B be96a3cea133a993248d7743524c3208581f881c275486a3b4f8241c5410f4d9d3a0ceca15bd4cbb598a84e91a46f0ec7b54a9b091fed550b19a6512d6d172d7 SHA512 33bc7d37f6f9b20f275f36fd49b94734714f9f47dc4d4b2029d27a7cf7d2d4f5ee1da8060c4cea65750b9362c65964b4d2f90dc2cff1dbe42051fd2bca03542d
DIST httpx2-2.13.0.gh.tar.gz 2103962 BLAKE2B 6d940bdcc39f36ddcf50377457931ee9e2c3b758512421bb416329e2b575e2ed4fa152240773d56f15f5f4745f1bd1f8cb2f67ac13d10bfe18ff1b316aea25ed SHA512 182e40dc35ca1ebfa2a6cb1ecc061f399d9dce2e2dff31c039c0eeedc9f7cf6f48fd6eda75c804320077f2b0538059412fad5857d6f7989592974e3262c21f68
+DIST httpx2-2.13.1.gh.tar.gz 2105524 BLAKE2B d9f3c016df2add101bc785582ccd14e5ef400e6b6f6cb8c470a4dce89bfecd73fff210a279cefe0fb316d478f2ba6a10e2579157f18647b769e5c1c520a77e0d SHA512 7be45b81164b24e800c2de533c4c7ef2fdc2cb6e9d24d95287c15ca1efb79eabdce33fcf50b85d288727bea3a9dc6c8365190c587c50ba1d327a36b31c614a8c
diff --git a/dev-python/httpx2/httpx2-2.13.1.ebuild b/dev-python/httpx2/httpx2-2.13.1.ebuild
new file mode 100644
index 000000000000..4cd2e5e9dd0c
--- /dev/null
+++ b/dev-python/httpx2/httpx2-2.13.1.ebuild
@@ -0,0 +1,99 @@
+# 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 ~mips ~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? (
+ >=app-arch/brotli-1.2.0[python,${PYTHON_USEDEP}]
+ >=dev-python/brotlicffi-1.2.0.0[${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/backports-zstd-1.0.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=(
+ # Internet
+ tests/httpx2/client/test_proxies.py::test_async_proxy_close
+ tests/httpx2/client/test_proxies.py::test_sync_proxy_close
+ # random charset case mismatch
+ tests/httpx2/models/test_responses.py::test_response_decode_text_using_autodetect
+ tests/httpx2/client/test_client.py::test_client_decode_text_using_autodetect
+ tests/httpx2/client/test_client.py::test_client_decode_text_using_explicit_encoding
+ )
+
+ local EPYTEST_IGNORE=()
+ if ! use cli; then
+ EPYTEST_IGNORE+=(
+ tests/httpx2/test_main.py
+ )
+ fi
+
+ epytest tests/{httpcore2,httpx2}
+}