summaryrefslogtreecommitdiff
path: root/dev-python/httpx
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/httpx')
-rw-r--r--dev-python/httpx/Manifest2
-rw-r--r--dev-python/httpx/httpx-0.27.2.ebuild95
2 files changed, 97 insertions, 0 deletions
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index aa0d298768a1..68a562d32ae3 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1,4 +1,6 @@
AUX httpx-0.27.0-opt-trio.patch 506 BLAKE2B da0ccdd398a706a16e21f93ffdc6c9c6d6d0622361f99bc956810e501eb8d82015beaf4274bb396eca0d8d22a833319ad6389271705662b0346839d9158a1d8f SHA512 629cb4e557f3a69af754f115cc8cd0e152d7e046b984aea4db808a1ac6b09302f9231e639c3edaeb169474d83ac2f5c8e69a28d7288e4c10635e4812880e19fa
DIST httpx-0.27.0.gh.tar.gz 2168004 BLAKE2B 2bfe58ffa9bd75b602acf844967d399c2173499981e73296bfc0726ee738219031ac3ac04517dd027f769966b77bf225287490c55435a53aec44b9784a0c4b2e SHA512 9db19cced6554effdb5fb0b442cbe05dc66cbfbdb23e8fbc19f43e1acc81028bca9e0fba5d2dae617b19be9f64baa0f02e727e92fef3f3f1288aa19ae07f35c6
+DIST httpx-0.27.2.gh.tar.gz 2185609 BLAKE2B 7e77cab0e9bda032cd595549e43dfc102f90bb8668b62f6b1f0df6bce6b6358f34aa1f51457a315eb774dde8c76083d180c02ff45283dd348c39b4a659307713 SHA512 c7852ae3e982bacee1587b66aed506f3f7e12caf296e651d3cdd9c111a7d737af49473be455bcabccc8e52487ad18b4821ea56b39500c3b77ed2325fc55505ae
EBUILD httpx-0.27.0.ebuild 2257 BLAKE2B 46745f1ac64dd1fae7d46fcc8efc1aec24bf19acf7244331084bb0b83a939f8bd97b5c76f4c770b330e524043b323a51ac8a5aacf79e3264d893a7d43f9f1dfc SHA512 7f5ed6a7cc1b77cc2bc611a5f7a536c4fcec123c8dec6b3627590e359407376f4780ed23048409f655a4a5ba8bb7d6aba2dbb7a6bf3167acc873fe96fcbfe624
+EBUILD httpx-0.27.2.ebuild 2323 BLAKE2B ba03b6ad3cd1ff902ea9740034bf8100486e0f6d499c3daf576ab01b546fa7bcaa062eff7f9612b8f2a51514aaab397e3b8ffab2c1fc0dd30628715d564abebf SHA512 2f90aaf2a613afb8af025ab086aa70b9720753841a425fd8938113518d0295a58000e108eeb7b3825556688d0de177c1485e429e6f1f6aaa8451a10360574612
MISC metadata.xml 518 BLAKE2B 063b5b95529cd5a31aac83998c0acbdfef208c34e931c96ae8ee767a326301a597a8297514b5c97bef2b3b706b8938d38c0e5f5d752307a9dd06984792c799a2 SHA512 3a29dffa0f951255a67468b28917590d4108ca12e14af03bfddef80f6d48e266fcccdd991e778ab9e267c0bc76ff0017e07905c1f2f45dc440a9af89f6cae6aa
diff --git a/dev-python/httpx/httpx-0.27.2.ebuild b/dev-python/httpx/httpx-0.27.2.ebuild
new file mode 100644
index 000000000000..ed4220d25c32
--- /dev/null
+++ b/dev-python/httpx/httpx-0.27.2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
+HOMEPAGE="
+ https://www.python-httpx.org/
+ https://github.com/encode/httpx/
+ https://pypi.org/project/httpx/
+"
+SRC_URI="
+ https://github.com/encode/httpx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ =dev-python/httpcore-1*[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/sniffio[${PYTHON_USEDEP}]
+ cli? (
+ =dev-python/click-8*[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${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/socksio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/trio[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-0.27.0-opt-trio.patch"
+ )
+
+ if ! use cli; then
+ sed -i -e '/^httpx =/d' pyproject.toml || die
+ fi
+ sed -i -e '/rich/s:,<14::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local args=()
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/client/test_proxies.py::test_async_proxy_close
+ tests/client/test_proxies.py::test_sync_proxy_close
+ )
+
+ use cli || EPYTEST_IGNORE+=(
+ tests/test_main.py
+ )
+
+ if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
+ args+=( -o filterwarnings= -k "not trio" )
+ fi
+
+ epytest "${args[@]}"
+}
+
+pkg_postinst() {
+ optfeature "HTTP/2 support" dev-python/h2
+ optfeature "SOCKS proxy support" dev-python/socksio
+ optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
+}