summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-01-11 07:23:00 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2026-01-11 07:23:00 +0000
commit3a6aff0fbfbd9b7cea01c154d54456b6cdac0fb0 (patch)
tree7fda048881a18bc46091b798f96607b42d39600c /dev-python
parent6c57216d54c162af1e12754d5f456cd554fccd25 (diff)
downloadbaldeagleos-repo-3a6aff0fbfbd9b7cea01c154d54456b6cdac0fb0.tar.gz
baldeagleos-repo-3a6aff0fbfbd9b7cea01c154d54456b6cdac0fb0.tar.xz
baldeagleos-repo-3a6aff0fbfbd9b7cea01c154d54456b6cdac0fb0.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiodns/Manifest2
-rw-r--r--dev-python/aiodns/aiodns-4.0.0.ebuild33
-rw-r--r--dev-python/cstruct/Manifest1
-rw-r--r--dev-python/cstruct/cstruct-6.2.ebuild30
-rw-r--r--dev-python/flexmock/Manifest2
-rw-r--r--dev-python/flexmock/flexmock-0.13.0.ebuild36
-rw-r--r--dev-python/librt/librt-0.7.3.ebuild7
-rw-r--r--dev-python/librt/librt-0.7.4.ebuild7
-rw-r--r--dev-python/librt/librt-0.7.5.ebuild7
-rw-r--r--dev-python/librt/librt-0.7.7.ebuild5
-rw-r--r--dev-python/scipy/Manifest1
-rw-r--r--dev-python/scipy/scipy-1.17.0.ebuild182
-rw-r--r--dev-python/starlette/Manifest2
-rw-r--r--dev-python/starlette/starlette-0.51.0.ebuild (renamed from dev-python/starlette/starlette-0.48.0.ebuild)4
-rw-r--r--dev-python/tavern/Manifest1
-rw-r--r--dev-python/tavern/tavern-3.1.0.ebuild67
16 files changed, 381 insertions, 6 deletions
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index a4be5272fd23..a7f2c3e96dc4 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -3,3 +3,5 @@ DIST aiodns-3.6.0.tar.gz 15108 BLAKE2B a99b18b877df5da6bc8d21dd8c11de711882dd5da
DIST aiodns-3.6.0.tar.gz.provenance 9313 BLAKE2B 1afa93bb875a04ed4bc6fcab92feb4b68ead381d19253872067db481499ac12dad73c987336ea4b8980c33611351af3d713b22859ac790907fc60bc270948b78 SHA512 1e35b03a95fb84ef669f55e4ab07821a248eb03965992a5c209d2551b5a85f32db9f750e86dcde2c4afb33cd1c1b94727b48c9b49ba113a980a13a4add81e81d
DIST aiodns-3.6.1.tar.gz 15143 BLAKE2B 53a3d2c1a9271535731e6992640ed59971659b5c1900482f76425682180470095deb4407f629a3535298b845af37904370604daee7e248151680c92f57d93814 SHA512 87208f4cfc687abc069c29583e71005ef02c3d3bcfaae8648623c03412190e6a92092c29eae24acc6bcff1bd1a9cfd43b75c36e69881d50e28b1f4dd929c9916
DIST aiodns-3.6.1.tar.gz.provenance 9239 BLAKE2B f7995cb5b2a3e4f535fa0db51c2463c4323e2848d06b188c35a0fc51e394e4a520eedcf135867dfa4e2920943b332d9ac149b5ac1f726a7a1d6609063d8eb336 SHA512 105a5be98d2cb86ebb04c6c1b132a2953243c8ba825d1ddfee3292f31806ca4ccb1431539d0972734f4208a9b7f32445cfa7c64e4bbfaef589f252bc158f2965
+DIST aiodns-4.0.0.tar.gz 26204 BLAKE2B 9691bd1a1ff7c5a3f22311242af20a2e3e457f7455d9bd31cc837ece26330de11b0e5384d2056174e50b593aeae9525ace4edaf7e329d6d3fcd0b78c7946fe3b SHA512 891f24963df0b64e68c9e53a556e562cb261f207df6204f08232e70cbaa1e193d391953c123bf225a3d3e171660b94ec2b7ecc29f10bdc373362018e25e04275
+DIST aiodns-4.0.0.tar.gz.provenance 9360 BLAKE2B 12f684533751d5d400c3782d032b2044292010176892d7ae2e58ec9ac7f9d67ae154dbf4a032bd8bb01c7be3f38fc010d04c4e3d5e3d67a402b7b03632d427ef SHA512 9a67679ba8bb56221f7301d835743002e67c43c742fed64a5c1230eb1b9359c31b6fbae4dd930585974228853ad4883ceb0f44c2d0ff1fe28dead06c4a7b883a
diff --git a/dev-python/aiodns/aiodns-4.0.0.ebuild b/dev-python/aiodns/aiodns-4.0.0.ebuild
new file mode 100644
index 000000000000..de89c8bc3feb
--- /dev/null
+++ b/dev-python/aiodns/aiodns-4.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/aio-libs/aiodns
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple DNS resolver for asyncio"
+HOMEPAGE="
+ https://pypi.org/project/aiodns/
+ https://github.com/aio-libs/aiodns/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test? ( test_network )"
+RESTRICT="test"
+
+RDEPEND="=dev-python/pycares-5*[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+python_test() {
+ epytest --asyncio-mode=auto
+}
diff --git a/dev-python/cstruct/Manifest b/dev-python/cstruct/Manifest
index 7fd259c8af90..d9bb5f4ecdd5 100644
--- a/dev-python/cstruct/Manifest
+++ b/dev-python/cstruct/Manifest
@@ -1 +1,2 @@
DIST python-cstruct-6.1.gh.tar.gz 41085 BLAKE2B 6abf2eeca39f79018d81f2a7b047520f7a8c5eca5bc8aa1076e94106779473fb4c7dd6d8896a6bf0b9ea239db79c8b9778f1f856b95bf5e30367b44a7b2abc95 SHA512 402ad4367f1f0e519d9b6206ced6780b96eb732191d64f182b4d98461eb2bee6dcad25078ef4a9d0a94b3bf52ea577d2e30fb1a0b5205bb25e1521f52f8df1de
+DIST python-cstruct-6.2.gh.tar.gz 184651 BLAKE2B 796f30837fb5b3c4403e233e694fe31acc851410aca2ea323499b0f594715e1c722a9c27b0f8791794f7dfac52b830b3dcd8111b9268ec153f88f3eb10e4c96e SHA512 55dd7c0a38c486f4738ac11316391e0cdc40fa6184b35ee05724bfba60f3291ab6b927235ad73a4c07ea9d2fd4412f5516afbdbb982f06c24368139a814d58e2
diff --git a/dev-python/cstruct/cstruct-6.2.ebuild b/dev-python/cstruct/cstruct-6.2.ebuild
new file mode 100644
index 000000000000..f0d6c7d7d7b7
--- /dev/null
+++ b/dev-python/cstruct/cstruct-6.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="C-style structs for Python"
+HOMEPAGE="
+ https://github.com/andreax79/python-cstruct/
+ https://pypi.org/project/cstruct/
+"
+SRC_URI="
+ https://github.com/andreax79/python-cstruct/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/flexmock/Manifest b/dev-python/flexmock/Manifest
index 201439c3991e..f89e7434af5f 100644
--- a/dev-python/flexmock/Manifest
+++ b/dev-python/flexmock/Manifest
@@ -1 +1,3 @@
DIST flexmock-0.12.2.tar.gz 53195 BLAKE2B f1f0b33f3f75ba87e4fb983df2461b0478f02402de31edeeede017a08c61ea0b3a1f69408b0360dcbccc1130bbf93161e5f0767f888e83dfa757e0744ab44089 SHA512 8fac117032c6321b05dfb6c4d53e2f3e29c121ef9029d70aeaae8a96aadbb4e0120f319817c0a5e7699cd80d765f974d128a8e3d7b151e30c1a8ff834b87dbd5
+DIST flexmock-0.13.0.tar.gz 50748 BLAKE2B 0bc1b0e0afa7cf935326bed0b9f3ebd3c7f7ee103a81fd3ca851944931b46657b512065bba10ef36dfc2dc178a71ba1f91ffd9d681b09abd970a51115bd83855 SHA512 4a44bfa1019f3d25dd179f5fff8f62661248b04710812cf622b5e327de998ca31ed58d5241e69a18774574f54bf1cc4a1bf2dd5530e263865a298a264886cff8
+DIST flexmock-0.13.0.tar.gz.provenance 9082 BLAKE2B b574ac776173b05361001c488fdbe1afd5d7c1d96aa4fad4208a0b71d66186359845d83f8977c73ceb1780c131281dc03b997d2b607adacc15496a52843acfec SHA512 35183663133c041c6879d28dd6e018820f673b7b1abff097f3189e0e6ebd80083e9386f23a9dc1b34d7d13bce0465b6b6a416c6f919ddf7d2c7425ad4909c9ce
diff --git a/dev-python/flexmock/flexmock-0.13.0.ebuild b/dev-python/flexmock/flexmock-0.13.0.ebuild
new file mode 100644
index 000000000000..e87786387580
--- /dev/null
+++ b/dev-python/flexmock/flexmock-0.13.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYPI_VERIFY_REPO=https://github.com/flexmock/flexmock
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Testing library to create mocks, stubs and fakes"
+HOMEPAGE="
+ https://flexmock.readthedocs.io/
+ https://github.com/flexmock/flexmock/
+ https://pypi.org/project/flexmock/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_teamcity.py
+ tests/test_testtools.py
+ tests/test_unittest.py
+)
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc -r docs
+}
diff --git a/dev-python/librt/librt-0.7.3.ebuild b/dev-python/librt/librt-0.7.3.ebuild
index f21786f8fafc..cc79ab81bc06 100644
--- a/dev-python/librt/librt-0.7.3.ebuild
+++ b/dev-python/librt/librt-0.7.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,6 +29,11 @@ BDEPEND="
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
+python_compile() {
+ # setuptools is broken for C extensions, bug #907718, bug #967476 etc.
+ distutils-r1_python_compile -j1
+}
+
python_test() {
rm -rf librt || die
epytest smoke_tests.py
diff --git a/dev-python/librt/librt-0.7.4.ebuild b/dev-python/librt/librt-0.7.4.ebuild
index 0e5eb1b03aab..bfa5410dc096 100644
--- a/dev-python/librt/librt-0.7.4.ebuild
+++ b/dev-python/librt/librt-0.7.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,6 +29,11 @@ BDEPEND="
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
+python_compile() {
+ # setuptools is broken for C extensions, bug #907718, bug #967476 etc.
+ distutils-r1_python_compile -j1
+}
+
python_test() {
rm -rf librt || die
epytest smoke_tests.py
diff --git a/dev-python/librt/librt-0.7.5.ebuild b/dev-python/librt/librt-0.7.5.ebuild
index 0e5eb1b03aab..bfa5410dc096 100644
--- a/dev-python/librt/librt-0.7.5.ebuild
+++ b/dev-python/librt/librt-0.7.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2025 Gentoo Authors
+# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,6 +29,11 @@ BDEPEND="
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
+python_compile() {
+ # setuptools is broken for C extensions, bug #907718, bug #967476 etc.
+ distutils-r1_python_compile -j1
+}
+
python_test() {
rm -rf librt || die
epytest smoke_tests.py
diff --git a/dev-python/librt/librt-0.7.7.ebuild b/dev-python/librt/librt-0.7.7.ebuild
index 1ae96a544721..bfa5410dc096 100644
--- a/dev-python/librt/librt-0.7.7.ebuild
+++ b/dev-python/librt/librt-0.7.7.ebuild
@@ -29,6 +29,11 @@ BDEPEND="
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
+python_compile() {
+ # setuptools is broken for C extensions, bug #907718, bug #967476 etc.
+ distutils-r1_python_compile -j1
+}
+
python_test() {
rm -rf librt || die
epytest smoke_tests.py
diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest
index 501621bb3770..e705466bdf6c 100644
--- a/dev-python/scipy/Manifest
+++ b/dev-python/scipy/Manifest
@@ -1,5 +1,6 @@
DIST scipy-1.16.2.tar.gz 30580599 BLAKE2B aec4039fe5798365fbe5147a4d6acea61e408ad0a533da4a3602e3c03a5a495f693b9b998a0417524621e6414e3bc847339364d6536e6b489cff43931253c87d SHA512 6b5c1ab6236af5d40850f8b77f8d47494dda9bccf814908ba306b4b3710359d18eb0dd880c05dc4f334cc298d0a2d54d271d5cd5b519190fcfba58524b1d8dce
DIST scipy-1.16.3.tar.gz 30597883 BLAKE2B ba026013ecfdc9329ec6140bf32f8de61e141b645c5a35ad5dc38276ac4df296fce0091675177daaf3d65f2cb797783365df306397e1643d50508e343daaa325 SHA512 7386670d2be598f46425a5f2ac0194748c83ec006be0b0395a850a613bc12731669469aefe503c9db2521aba956325d44e7a75fa82e4c1e629202cafd1966aa5
+DIST scipy-1.17.0.tar.gz 30396830 BLAKE2B c1e26583f26b969eca6c6559a0a8cc02da857dd0e02ebc871f5c3cde8e6feadd845b802ca6b2386d7de6bfbff724b97fcdd396679bd037b5d15f69b492a4043f SHA512 299339cf7885ae6ad81bb29ab1a9128c1e7baef387e64e03a5ca784c14f08de1fe58c8d58b25c76c9068b09d8d97fc8b38d2e03922f0f8ada4e5d00910d56dae
DIST scipy-1.17.0rc1.tar.gz 30393241 BLAKE2B aa98c2df9c10a456a47eda9cbeebded3e2a7c46e881fce6a8ede10ba232d5101392994e9f7a75f1312e7f7601eded977e803423fa60ee7b1ab0325c11b5683ae SHA512 91ecca179ad61ed7e584d90cdf4a2d918d86cc75a45ed12c761d1840a7cd1b2265d442e67de19dc271355c37f9bead00c3d55d4c9011eb9b898cd3ff6d9fd167
DIST scipy-1.17.0rc2.tar.gz 30397866 BLAKE2B d49fcf7d5af8ffb10ca0615e8e43a6d36e2972fc4bc194905bfbfee88d44c8830d73373ec49cd5035ac73922f0122ebc97c2c3cfb3ba24d5a43a8002a05d2664 SHA512 6576b0aa4d7392f061249cf034f0497e64c3ac98314ad18499d63a8c41f1dc6a5dcfe8b09480e0eeda8bbcb2e688c8cd2b5aa8c5dd4918fb92f6800bc6a2dcc9
DIST scipy-html-1.16.2.zip 71516578 BLAKE2B 244537f823e39b52e0b00df63f8f36088f5ef17e365f98415d1573883e9c0eee3f4376b149eaea9b70b34b34a294aeafae9f849050ab8161a8ecdb24172c2876 SHA512 15df0c7211cc4d32007b54015efc17edd1c9b23e8892b748ab946c5c1ea3e1840a00d9005b585cc0c6416bcef1e490f54ff919d3c0140ed95d8e469836751d5c
diff --git a/dev-python/scipy/scipy-1.17.0.ebuild b/dev-python/scipy/scipy-1.17.0.ebuild
new file mode 100644
index 000000000000..8c48b8db92d4
--- /dev/null
+++ b/dev-python/scipy/scipy-1.17.0.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic fortran-2 distutils-r1
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="
+ https://scipy.org/
+ https://github.com/scipy/scipy/
+ https://pypi.org/project/scipy/
+"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ # Need submodules, so git for now.
+ EGIT_REPO_URI="https://github.com/scipy/scipy"
+ EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
+ EGIT_SUBMODULES=( '*' )
+else
+ inherit pypi
+
+ # Upstream is often behind with doc updates
+ DOC_PV=1.16.2
+
+ SRC_URI+="
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
+ )
+ "
+
+ # boost-1.89.0 is not keyworded
+ if [[ ${PV} != *rc* ]] && false; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ fi
+fi
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+IUSE="doc +fortran test-rust"
+
+# pythran is needed in both BDEPEND (for /usr/bin/pythran) and in DEPEND
+# to actually compile code generated by pythran (headers and such needed).
+#
+# umfpack is technically optional but it's preferred to have it available.
+COMMON_DEPEND="
+ >=dev-python/numpy-1.23.5:=[lapack,${PYTHON_USEDEP}]
+ >=media-libs/qhull-2020.2:=
+ virtual/cblas
+ >=virtual/lapack-3.8
+"
+# Only boost.math is used, and meson.build doesn't even look up specific boost modules.
+DEPEND="
+ ${COMMON_DEPEND}
+ >=dev-libs/boost-1.89.0
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+DEPEND+="
+ fortran? (
+ >=dev-python/pythran-0.16.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-lang/swig
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.13.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8.0.0[${PYTHON_USEDEP}]
+ >=dev-build/meson-1.5.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ fortran? (
+ >=dev-python/pythran-0.16.0[${PYTHON_USEDEP}]
+ )
+ test-rust? (
+ dev-python/pooch[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unpin system dependencies
+ sed -i -e "s@version : '@&>=@" meson.build || die
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dblas=blas
+ -Dlapack=lapack
+ -Duse-pythran=$(usex fortran true false)
+ -Duse-system-libraries=all
+ )
+
+ # https://bugs.gentoo.org/932721
+ has_version '>=dev-python/numpy-2.0.0' && filter-lto
+}
+
+python_test() {
+ # We run tests in parallel, so avoid having n^2 threads in lapack
+ # tests.
+ local -x BLIS_NUM_THREADS=1
+ local -x MKL_NUM_THREADS=1
+ local -x OMP_NUM_THREADS=1
+ local -x OPENBLAS_NUM_THREADS=1
+
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+
+ local EPYTEST_DESELECT=(
+ # Network
+ scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
+ scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
+ scipy/datasets/tests/test_data.py::TestDatasets::test_face
+ scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
+
+ # Crashes with assertion, not a regression
+ # https://github.com/scipy/scipy/issues/19321
+ scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
+
+ # Awfully slow tests
+ scipy/interpolate/tests/test_bsplines.py::TestBatch::test_batch
+ scipy/linalg/tests/test_basic.py::TestLstsq::test_random_complex_exact
+ scipy/sparse/linalg/_eigen/tests/test_svds.py::test_small_sigma_sparse
+
+ # TODO: minor precision errors
+ 'scipy/linalg/tests/test_batch.py::TestBatch::test_solve[float32-bdim2]'
+ 'scipy/linalg/tests/test_batch.py::TestBatch::test_lu_solve[float32-bdim2]'
+ 'scipy/stats/tests/test_continuous.py::TestDistributions::test_funcs[cdf-methods11-x-Normal]['
+
+ # Crashes, probably too big
+ 'scipy/interpolate/tests/test_fitpack2.py::TestRectBivariateSpline::test_spline_large_2d_maxit'
+ )
+ local EPYTEST_IGNORE=()
+
+ if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
+ EPYTEST_IGNORE+=(
+ scipy/datasets/tests/test_data.py
+ )
+ fi
+
+ if has_version -b "sys-libs/zlib-ng[compat]"; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/scipy/scipy/issues/23185
+ scipy/io/matlab/tests/test_streams.py::TestZlibInputStream::test_all_data_read_bad_checksum
+ scipy/io/matlab/tests/test_streams.py::TestZlibInputStream::test_all_data_read_overlap
+ )
+ fi
+
+ # avoid other stuff being multithreaded when using xdist
+ local -x PYTHON_CPU_COUNT=1
+ epytest scipy
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 45bfae47e291..84ce483ced6b 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,3 +1,3 @@
-DIST starlette-0.48.0.gh.tar.gz 2654804 BLAKE2B 436358d1a11748827c827fdd8ddec1f577ccad969367dc94b536604be6cd95fb7dbb8d34c17381f669a9994ebe776cf13c22d0c73979e096003e3f7eb0fc4e0a SHA512 a7cb3920bb9fb9ebed9f56ebfa392d3c2baf95a08b0f2d2e16f53f89c1259e4d755e4e6a0c5fc819e03158e2a5fe2447c3c127621e11a644b25a6328a5bbee41
DIST starlette-0.49.1.gh.tar.gz 2656482 BLAKE2B 179b96363d6fbe7ce98d9be7ec22b94bb5363db049f26dc697d36419a7068fc2815d61c0a75f3bb4c29e3c7bd0556bb2e8769fba73b29f10ea03cecac6a90a1c SHA512 efc540c9a4b6d04e6f426d1825a19a05a12f0b5f242e6acc64822e32db0d33cacfc71ffbeb2dca4b4e8f8898a4beee02a61a1cc1ad8b034215422f43de7103a1
DIST starlette-0.50.0.gh.tar.gz 2649331 BLAKE2B efbec279e34687a9e038833ff9347a671bdbfc57515741155f2434235bfc78e10d815a39c03535308c13616a3a70a206142d28bede6831cecf0944da9bfe626d SHA512 2440bc996ba0a303f4e02daff5a00d6edf51a23442ac6c4491655a1db81e3311c56ee03c93d582855f2bbd3c1267b7cde92e2091551f81dc1cf285746a9d4de2
+DIST starlette-0.51.0.gh.tar.gz 2650005 BLAKE2B b0b4a1acd80e70e4e97c798b21157a91c6a572a2e3429280868aef907f4a9a32ed77fa5a2aa8fdff726fb5f71efde140a46029f66e60e573b140d595260f0617 SHA512 ac04bd6857c9f61cc0203df6faa19ac27b67717c22ed1826f7bb3138b7a8979cd7f151521737cd78ab2c32ee281f98f91507fe21cc8688901d903b38cdee41de
diff --git a/dev-python/starlette/starlette-0.48.0.ebuild b/dev-python/starlette/starlette-0.51.0.ebuild
index f40e238f6a90..3221cd97061f 100644
--- a/dev-python/starlette/starlette-0.48.0.ebuild
+++ b/dev-python/starlette/starlette-0.51.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
<dev-python/anyio-5[${PYTHON_USEDEP}]
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index 81fc2f05a74d..33cadaa743c3 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -2,3 +2,4 @@ DIST tavern-2.17.0.gh.tar.gz 243762 BLAKE2B aca42310622fe769ff6a6201c4fd4faa613f
DIST tavern-3.0.0.gh.tar.gz 280132 BLAKE2B c99076aaf402a47b904da65d97fb75b3518d5d683492ad3a47b04fae05ed305a3f0ce1841d25b25d96fb06542d020608b05fa3b4a9e53822ce0bf2114f7797f7 SHA512 7c7764bb3fae649969e8dd2ae86103abb31de2ccee7e792ca136be6294df251863da6ab783319a9d2e43219f3a7b34793d17282f3aca59ca7ddbe417b3ded24c
DIST tavern-3.0.1.gh.tar.gz 292514 BLAKE2B 2a2297c09ca39e97d8926cbda681606e5ffa29fe29d7a9c5690f78cc1090304edba8ad813bab28470a8f20d3ad0900c0b88854ee1e450425e3e306bb9c09834b SHA512 1c79899effd4abf148a4c9459fa3994a0b2ad972899d39ab79740951d0fd1671d8905d50e2ba1eeae397a822424db6f090f3ab1207511bd118ae9eecc3045eef
DIST tavern-3.0.2.gh.tar.gz 292587 BLAKE2B 44433a0ca0407028be85e3e2dfb096852706194752da8c16c540afea11342afe54df78b518eb81a29f43c9dcddaa133ac5707e69227087cb8b454f70e16ac52f SHA512 2453aef71502db88f2d489d7f618324bf63b3b7b9cf80fe2c22dcddf7315c7eb94160f4bfe8d6a359849745596074fdc8fc9eb7ccdc06ad59f9c7d5d0664f650
+DIST tavern-3.1.0.gh.tar.gz 406137 BLAKE2B eda723c17098ee57ffdf223e9c46aa5d185f20ce4afa5f35b55e96aef0ebebef13552f64d122eb3dc4ec643f1c10827537b7625b6cf3b66fa990640a3bbace0e SHA512 c87169f926d55eda521c23d0035632677b1708a843f427f2e2788af00600084966894252f957b41898229f9582a21c435cf70727ac270ae74a00bdf7289b9236
diff --git a/dev-python/tavern/tavern-3.1.0.ebuild b/dev-python/tavern/tavern-3.1.0.ebuild
new file mode 100644
index 000000000000..f90b44ee9736
--- /dev/null
+++ b/dev-python/tavern/tavern-3.1.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/simpleeval-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/faker[${PYTHON_USEDEP}]
+ dev-python/paho-mqtt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( "${PN}" )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ # broken with paho-mqtt-2
+ tests/unit/test_mqtt.py::TestClient::test_context_connection_success
+)
+EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ # require gql
+ tavern/_plugins/graphql
+ tests/unit/plugins/graphql
+)
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}