diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest index 6bf4c65d2fbfe..6f49873f57c94 100644 --- a/dev-python/stripe/Manifest +++ b/dev-python/stripe/Manifest @@ -6,3 +6,5 @@ DIST stripe-15.5.0.tar.gz 1542610 BLAKE2B 0a0d6fad6bd63fd2f062fa3708b1a8367bc041 DIST stripe-15.5.0.tar.gz.provenance 9567 BLAKE2B 2a003a554c4256a955ea988d467a12edfc3421443b3333bcf7024013a624ee39f59b8d32fca835b9c5fdbaf840925d6ccecce399b47302f7c77796065765a64d SHA512 b203e9dc67361afba423610676cf34a52d000e26734b1351a13b2d529c6e70fa1c1f1667836ca6598e86eb77102839aaf9a5d6e29c453083d8f4e93fa7ead92f DIST stripe-15.5.1.tar.gz 1544797 BLAKE2B d2af1a485a4ace353c35240c3daa4cc15b6e557a16f510633a56849c885db09007a67034965271a184a5f0089abfbd058995e40c7fa44ed7fbefa565e89de382 SHA512 3c31ff744972622323faa84598b75718bcda8a5dac4e2e510ff1c5265af2306f2ef7fbd005aa6ad48659102c5b60d8c84dd4666ba1631096260b7f68c291a63c DIST stripe-15.5.1.tar.gz.provenance 9722 BLAKE2B 3b89619847e7ed07348ce8b386063da97d635d4a246e224a16371d1ef4a737d29286e68207da4d3ff045f37d24fdfe9192e7d830780a9dd972ef56fa50c53940 SHA512 27fd6ebf1e35c2057a36a2e930a63b5f88f6ca9371e1c1f3b51e3d181f401ceb0d0068962f3bdd9c197dc3d7c2cb557f2b3c9c955fd39238c54d88ff14ac446a +DIST stripe-15.6.0.tar.gz 1562255 BLAKE2B fc893d387de746e183a7157988d29d12ae416ba87f300a011dd728075ce5809d6ae18e32414370227559caa0cacde6c65f1fe2a0fc9a7de104ac608c4feff572 SHA512 bcc3016dfcfd921e4b8a6add963daccede4870c7bdd23f27831b7621c5c6e62727f767ad51706149b970b06d9a6e604c362a768a9c16a2636eb75f6f09ca34a5 +DIST stripe-15.6.0.tar.gz.provenance 9761 BLAKE2B 502dc35278978a20f92e722cd6ad6c428232fd7c216353c61a293a2e104a5c9191ba0dfa1bdb463cab969610fa2cb3ea98b1dd3bd96c412ef74f76d6ac51fb56 SHA512 e61ecc33b74ac291bad6087d21a517acabb753773a34f317195f4707fdea40177212b921db86052656f12d66f6db9bad93946cb31ad80934f31433369c958e04 diff --git a/dev-python/stripe/stripe-15.6.0.ebuild b/dev-python/stripe/stripe-15.6.0.ebuild new file mode 100644 index 0000000000000..d84c1d93ae168 --- /dev/null +++ b/dev-python/stripe/stripe-15.6.0.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit-core +PYPI_VERIFY_REPO=https://github.com/stripe/stripe-python +PYTHON_COMPAT=( python3_{12..15} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Stripe Python bindings" +HOMEPAGE=" + https://github.com/stripe/stripe-python/ + https://pypi.org/project/stripe/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="telemetry" + +RDEPEND=" + >=dev-python/requests-2.20[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}] +" +# please bump dev-util/stripe-mock dep to the latest version on every bump +BDEPEND=" + test? ( + >=dev-util/stripe-mock-0.201.0 + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + net-misc/curl + ) +" + +EPYTEST_PLUGINS=( anyio pytest-mock ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + if ! use telemetry; then + sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https + 'tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]' + # timing + tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled + ) + + epytest -o addopts= tests +} + +src_test() { + local stripe_mock_port=12111 + local stripe_mock_max_port=12121 + local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log" + # Try to start stripe-mock until we find a free port + while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do + ebegin "Trying to start stripe-mock on port ${stripe_mock_port}" + stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" & + local stripe_mock_pid=${!} + sleep 2 + # Did stripe-mock start? + curl --fail -u "sk_test_123:" \ + "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null + eend ${?} "Port ${stripe_mock_port} unavailable" + if [[ ${?} -eq 0 ]]; then + einfo "stripe-mock running on port ${stripe_mock_port}" + break + fi + (( stripe_mock_port++ )) + done + if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then + eerror "Unable to start stripe-mock for tests" + die "Please see the logfile located at: ${stripe_mock_logfile}" + fi + + local -x STRIPE_MOCK_PORT=${stripe_mock_port} + distutils-r1_src_test + + # Tear down stripe-mock + kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock" +}