diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest index e95ab4934bc45..ffcd3582907ea 100644 --- a/dev-python/pyrate-limiter/Manifest +++ b/dev-python/pyrate-limiter/Manifest @@ -1,2 +1,4 @@ DIST pyrate_limiter-4.2.0.tar.gz 306505 BLAKE2B d0c74f31689f150c9b3b8cdddc51b999d37d326f6ddf14d15c61ee1e5fef660abe1de960375ef3895a4dd79ba62c3579de0f9c260ac885fa6615bcca498d696d SHA512 16780a32f12cb9ce793fb048df7a94399817f43b6ab641ed2c3f20627985a49fa573fa732bed0a82df7838959218db4e37ae75f5837ee0110131fc638eff33e8 DIST pyrate_limiter-4.2.0.tar.gz.provenance 9813 BLAKE2B a1e46defe4be197c470066b1099b362fdec0d01eedaecf2f1ab91d9373bfae30ee76a5aa0b7af003bf4d10a117aa94b3b8e179563f3839c66d4ef1e0e8b70548 SHA512 58e982e22d08be90d6a51a5d4ddd47aaa2bb53691ca60ae1fbccc8212321edc0a2064a3be1369d9d6bd75c9aea15b94fe17f0c0c83b5c30594057c8609673974 +DIST pyrate_limiter-4.3.1.tar.gz 82959 BLAKE2B 273f2d0eb5c1eafec2b441a7dd02f187c5663dd5915a349cd6dc2ff0550172d9f1353cc031f6d8161e22d7699a73127d498ab0465da98e9b8dfb858348a0b1d7 SHA512 5b390e3493831b08881013ec5e686115b400e8afe896c3f35dd196677a7b8600a25a041cc7f5dcb5521d55e355dcb168920b56e3569ff37c9cca15f970fc1f0a +DIST pyrate_limiter-4.3.1.tar.gz.provenance 9954 BLAKE2B c877547263725e87c34f5036f207b8440dad55ef7427b0e042e4bfe36db2283d82636b0c0272b87f58e1c85a6d2c2592fe198647eec8b2595e21b96b901b7aec SHA512 47c4bcd4f64a6dc01d64c7855f7862f57a9e9f229e4473f7d533c04d95ea463ec8c4e16f3b8c6c8e19dcc90e9171816e3aec5c49e429b50e43b1f82cff83ae0a diff --git a/dev-python/pyrate-limiter/pyrate-limiter-4.3.1.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-4.3.1.ebuild new file mode 100644 index 0000000000000..8eb751d925765 --- /dev/null +++ b/dev-python/pyrate-limiter/pyrate-limiter-4.3.1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/vutran1710/PyrateLimiter +PYTHON_COMPAT=( python3_{12..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family" +HOMEPAGE=" + https://github.com/vutran1710/PyrateLimiter/ + https://pypi.org/project/pyrate-limiter/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/redis[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-db/redis + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +EPYTEST_DESELECT=( + # Optional dependency redis-py-cluster not packaged + "tests/test_02.py::test_redis_cluster" +) + +EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} ) +EPYTEST_RERUNS=5 +: "${EPYTEST_TIMEOUT:=60}" +EPYTEST_XDIST=1 + +distutils_enable_sphinx docs \ + dev-python/sphinx-autodoc-typehints \ + dev-python/sphinx-copybutton \ + dev-python/furo \ + dev-python/myst-parser \ + dev-python/sphinxcontrib-apidoc +distutils_enable_tests pytest + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6379 + + # Spawn Redis itself for testing purposes + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 ::1 + ${extra_conf} + EOF + + # Run the tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} + +python_test() { + # postgres tests require psycopg-pool + epytest -k "not postgres" +}