# Copyright 2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{7..9} ) inherit distutils-r1 DESCRIPTION="Lightning-fast ASGI server implementation" HOMEPAGE="https://www.uvicorn.org/" SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86" RDEPEND=" >=dev-python/asgiref-3.3.4[${PYTHON_USEDEP}] >=dev-python/click-7[${PYTHON_USEDEP}] >=dev-python/h11-0.8[${PYTHON_USEDEP}] $(python_gen_cond_dep 'dev-python/typing-extensions[${PYTHON_USEDEP}]' python3_7) " BDEPEND=" test? ( dev-python/cryptography[${PYTHON_USEDEP}] dev-python/httpx[${PYTHON_USEDEP}] dev-python/pytest-asyncio[${PYTHON_USEDEP}] dev-python/pytest-mock[${PYTHON_USEDEP}] dev-python/pyyaml[${PYTHON_USEDEP}] dev-python/trustme[${PYTHON_USEDEP}] >=dev-python/websockets-9.1[${PYTHON_USEDEP}] dev-python/wsproto[${PYTHON_USEDEP}] ) " distutils_enable_tests pytest python_prepare_all() { # watchgod is not in the tree sed -e '/^from uvicorn.supervisors.watchgodreload/d' \ -e 's/, WatchGodReload//' \ -i tests/supervisors/test_reload.py distutils-r1_python_prepare_all } python_test() { local deselect=( # requires python-dotenv that's not keyworded everywhere yet # see 0.14.0-r1 tests/test_config.py::test_env_file ) epytest ${deselect[@]/#/--deselect } }