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.15.1.ebuild103
2 files changed, 104 insertions, 0 deletions
diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest
index 567db93d7805..e7bdaf9964db 100644
--- a/dev-python/httpx2/Manifest
+++ b/dev-python/httpx2/Manifest
@@ -3,3 +3,4 @@ DIST httpx2-2.12.0.gh.tar.gz 2144469 BLAKE2B be96a3cea133a993248d7743524c3208581
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
DIST httpx2-2.14.0.gh.tar.gz 2133484 BLAKE2B 1bf1b2dd3a368dde55f318ba48b14d85397a6181723de5326f818b5421531a0dabea246dc6f240565d4d1881c7e9634d0a3bbc3f27ad4384cee71f952a68f337 SHA512 9b85631b99be2e0ee89ba9ed30405edc71c811e31587c03adf97dc45069e25b3eebad4ef6b83cb4c10c3c6cde9eb0f46d1151c1674b048aaac19b33ec3f05083
+DIST httpx2-2.15.1.gh.tar.gz 2095535 BLAKE2B 16c619d85792eb7533d157e8b298869f1ea2e50c63324bf6cf144ef0d06d496154a63a277ceef0dc9f6cba2c36adc43d9dee5b5bba1b4230387526a00ea96080 SHA512 f034a31a762b637d67e280d54c13f355ce5cb6d609dc18bbe3ac510fe8b35207acada045c7e3296e8de89c948348318af6f6bfec6ee6a2a2afbb3a09fd9d80c0
diff --git a/dev-python/httpx2/httpx2-2.15.1.ebuild b/dev-python/httpx2/httpx2-2.15.1.ebuild
new file mode 100644
index 000000000000..157aa4c1af39
--- /dev/null
+++ b/dev-python/httpx2/httpx2-2.15.1.ebuild
@@ -0,0 +1,103 @@
+# 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
+ # *shrug* looks like assertion misfiring
+ tests/httpx2/test_alias.py::test_alias_finder_handles_top_level_import
+ tests/httpx2/test_alias.py::test_alias_httpcore_top_level_import
+ tests/httpx2/test_alias.py::test_alias_top_level_import
+ )
+
+ local EPYTEST_IGNORE=()
+ if ! use cli; then
+ EPYTEST_IGNORE+=(
+ tests/httpx2/test_main.py
+ )
+ fi
+
+ epytest tests/{httpcore2,httpx2}
+}