diff --git a/dev-python/pydocket/Manifest b/dev-python/pydocket/Manifest new file mode 100644 index 0000000000..fd75a97b6b --- /dev/null +++ b/dev-python/pydocket/Manifest @@ -0,0 +1 @@ +DIST pydocket-0.21.1.tar.gz 399652 BLAKE2B f9ab6e069368fd1939b323d7e12fe9be954af0920ca12058b3dad12dabab48abe6f6227bbf34fe9f24adca1dd6274ac9866b8f9b62da8a2ad971708687dcba68 SHA512 350dbd2003db4dc3525ba6c2e6150857061d3fb0cdc46a3fce6f3fcfe61f0056f456a4d549efba3ef4c5d6070a8c4ad6af3327ef2173de10dc866a52e0089f5d diff --git a/dev-python/pydocket/metadata.xml b/dev-python/pydocket/metadata.xml new file mode 100644 index 0000000000..6e148d721d --- /dev/null +++ b/dev-python/pydocket/metadata.xml @@ -0,0 +1,12 @@ + + + + + falbrechtskirchinger@gmail.com + Florian Albrechtskirchinger + + + pydocket + chrisguidry/docket + + diff --git a/dev-python/pydocket/pydocket-0.21.1.ebuild b/dev-python/pydocket/pydocket-0.21.1.ebuild new file mode 100644 index 0000000000..df2d6acfba --- /dev/null +++ b/dev-python/pydocket/pydocket-0.21.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{12..14} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="A distributed background task system for Python functions" +HOMEPAGE=" + https://docket.lol/ + https://github.com/chrisguidry/docket + https://pypi.org/project/pydocket/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/burner-redis-0.1.7[${PYTHON_USEDEP}] + >=dev-python/cloudpickle-3.1.1[${PYTHON_USEDEP}] + >=dev-python/cronsim-2.6[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-api-1.33.0[${PYTHON_USEDEP}] + >=dev-python/prometheus-client-0.21.1[${PYTHON_USEDEP}] + >=dev-python/py-key-value-aio-0.3.0[${PYTHON_USEDEP}] + >=dev-python/python-json-logger-2.0.7[${PYTHON_USEDEP}] + >=dev-python/redis-5[${PYTHON_USEDEP}] + >=dev-python/rich-13.9.4[${PYTHON_USEDEP}] + >=dev-python/typer-0.15.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}] + >=dev-python/uncalled-for-0.3.2[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( pytest-{asyncio,timeout} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # requires dev-python/opentelemetry-exporter-prometheus + tests/instrumentation/test_export.py::test_exports_metrics_as_prometheus_metrics + + # fails with xdist + tests/instrumentation/test_tracing.py::test_admission_blocked_span_has_ok_status +) + +src_prepare() { + sed -i \ + -e '/--cov/d' \ + -e '/--numprocesses/d' \ + -e '/--maxprocesses/d' \ + pyproject.toml || die + + distutils-r1_src_prepare +} + +python_test() { + local -x REDIS_VERSION="memory" + epytest +} + +pkg_postinst() { + optfeature "metrics" dev-python/opentelemetry-sdk +}