diff options
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/uvicorn/Manifest | 1 | ||||
-rw-r--r-- | dev-python/uvicorn/uvicorn-0.23.0.ebuild | 85 |
2 files changed, 86 insertions, 0 deletions
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest index b751ade5329e..69419035acb3 100644 --- a/dev-python/uvicorn/Manifest +++ b/dev-python/uvicorn/Manifest @@ -1,3 +1,4 @@ DIST uvicorn-0.20.0.gh.tar.gz 716073 BLAKE2B 7f1cf4808e985199d39e54e3563119cef1fe3af31361ad05a91278d32bc6f0dd741ad87f6073fbb720e9d9d4119fc8389b4e2feaaede665d8f68c56d56b37a17 SHA512 fa089da78dd7ce3cc02d83405e7db401e6055e947b80bf4abb0e3a4dce6575d97761f3bd6fcc253f3338caad5f797fc4f01bd40d833514d9cc0bcd0f072ad793 DIST uvicorn-0.21.1.gh.tar.gz 717974 BLAKE2B ac4e1ec6a2533e364fe2ad7cd52558ad70b82e3c739756f33123d08737cc406ba879f50f7fa1cba875d0f0a284da5467e4ca15139558462401fb6a7938a17f61 SHA512 9f8dfe42df5d7f3923609e177def66d68fac24e3016fc1c6fead489320c2e5eaf7816a43e242f4426e670ce16f200db41679ac6ebd29a000ba76ca72b9ccec76 DIST uvicorn-0.22.0.gh.tar.gz 719615 BLAKE2B 8e0d6099e66822e77fb447c279de8f29c820e1f9e24e37629d36349ebd4b52ea8dc69f7fc02a21e9711925e3ad1ec4a95464ea315c7bc40a905810dc9a1ef077 SHA512 61af2df426a5bc060a32730ddf024ca8dd39ccea6800235bf48d7e0c694b9d363cbedd826f498063c6779061af84b6b56e8ab0a466e74291dbbaf5ae995e5587 +DIST uvicorn-0.23.0.gh.tar.gz 722671 BLAKE2B f1fdc09e211c97d9e326b41b197d12ad019e660a1a2fcc0c70ee62c2016a20bbcafb9be759fc9b682185e70e10881c9a3511168eb0e75844973f7c3321d455bd SHA512 2449150abdf7914b47ff8c02732549cd71e63cc7c6440eedfd200340df4e70543232ed1ef47e2ebc6b29fc9a0d4615f542d7d1c603ce2673f121afab63d89b47 diff --git a/dev-python/uvicorn/uvicorn-0.23.0.ebuild b/dev-python/uvicorn/uvicorn-0.23.0.ebuild new file mode 100644 index 000000000000..3c27df7c757d --- /dev/null +++ b/dev-python/uvicorn/uvicorn-0.23.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 2021-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Lightning-fast ASGI server implementation" +HOMEPAGE=" + https://www.uvicorn.org/ + https://github.com/encode/uvicorn/ + https://pypi.org/project/uvicorn/ +" +# as of 0.21.0, no tests in sdist +SRC_URI=" + https://github.com/encode/uvicorn/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test-rust" + +RDEPEND=" + >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}] + >=dev-python/click-7.0[${PYTHON_USEDEP}] + >=dev-python/h11-0.8[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/a2wsgi[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/python-dotenv[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/websockets-10.4[${PYTHON_USEDEP}] + dev-python/wsproto[${PYTHON_USEDEP}] + test-rust? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/trustme[${PYTHON_USEDEP}] + dev-python/watchfiles[${PYTHON_USEDEP}] + ) + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # too long path for unix socket + tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers + # need unpackaged httptools + "tests/middleware/test_logging.py::test_trace_logging_on_http_protocol[httptools]" + tests/protocols/test_http.py::test_fragmentation + # TODO + tests/protocols/test_websocket.py::test_connection_lost_before_handshake_complete + "tests/protocols/test_websocket.py::test_asgi_return_value[H11Protocol-WebSocketProtocol]" + ) + case ${EPYTHON} in + pypy3) + # TODO + EPYTEST_DESELECT+=( + tests/middleware/test_logging.py::test_running_log_using_fd + ) + ;; + python3.12) + EPYTEST_DESELECT+=( + tests/supervisors/test_signal.py::test_sigint_abort_req + # hang + tests/protocols/test_websocket.py::test_send_close_on_server_shutdown + ) + ;; + esac + + epytest +} + +pkg_postinst() { + optfeature "auto reload on file changes" dev-python/watchfiles +} |