summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-02-18 06:54:05 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-02-18 06:54:05 +0000
commit9fbb15b952d0693ba49a8adc1a167bfd7276a991 (patch)
tree18b6738c8fd6e951e05e1124a51863c3865933ae /dev-python
parentb6835747c8be77cea55de5c48ebd8414482fc875 (diff)
downloadbaldeagleos-repo-9fbb15b952d0693ba49a8adc1a167bfd7276a991.tar.gz
baldeagleos-repo-9fbb15b952d0693ba49a8adc1a167bfd7276a991.tar.xz
baldeagleos-repo-9fbb15b952d0693ba49a8adc1a167bfd7276a991.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/bandit/Manifest1
-rw-r--r--dev-python/bandit/bandit-1.8.3.ebuild44
-rw-r--r--dev-python/flake8/Manifest1
-rw-r--r--dev-python/flake8/flake8-7.1.2.ebuild60
-rw-r--r--dev-python/libtmux/Manifest1
-rw-r--r--dev-python/libtmux/libtmux-0.44.1.ebuild56
-rw-r--r--dev-python/poetry-core/Manifest1
-rw-r--r--dev-python/poetry-core/poetry-core-2.1.1.ebuild69
-rw-r--r--dev-python/poetry/Manifest1
-rw-r--r--dev-python/poetry/poetry-2.1.1.ebuild87
-rw-r--r--dev-python/pycollada/Manifest1
-rw-r--r--dev-python/pycollada/pycollada-0.9.ebuild53
-rw-r--r--dev-python/pykka/Manifest2
-rw-r--r--dev-python/pykka/pykka-4.2.0.ebuild (renamed from dev-python/pykka/pykka-4.1.1.ebuild)5
-rw-r--r--dev-python/pyproj/Manifest1
-rw-r--r--dev-python/pyproj/pyproj-3.7.1.ebuild55
-rw-r--r--dev-python/python3-discogs-client/Manifest1
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild34
-rw-r--r--dev-python/roman-numerals-py/Manifest1
-rw-r--r--dev-python/roman-numerals-py/metadata.xml10
-rw-r--r--dev-python/roman-numerals-py/roman-numerals-py-2.0.0.ebuild21
-rw-r--r--dev-python/scipy/Manifest1
-rw-r--r--dev-python/scipy/scipy-1.15.2.ebuild163
-rw-r--r--dev-python/sphinx/Manifest1
-rw-r--r--dev-python/sphinx/sphinx-8.2.0_rc1.ebuild141
-rw-r--r--dev-python/trio-websocket/Manifest1
-rw-r--r--dev-python/trio-websocket/trio-websocket-0.12.0.ebuild56
-rw-r--r--dev-python/typeguard/Manifest1
-rw-r--r--dev-python/typeguard/typeguard-4.4.2.ebuild40
-rw-r--r--dev-python/websockets/Manifest1
-rw-r--r--dev-python/websockets/websockets-15.0.ebuild59
31 files changed, 965 insertions, 4 deletions
diff --git a/dev-python/bandit/Manifest b/dev-python/bandit/Manifest
index 5c6190735ebe..64915e7b45be 100644
--- a/dev-python/bandit/Manifest
+++ b/dev-python/bandit/Manifest
@@ -1 +1,2 @@
DIST bandit-1.8.2.tar.gz 4228832 BLAKE2B 71539701adee94e12c168aed5ec51a5772e6e7f91440e41e51a998ac1665a42a5a4d7e9b155f4411e3723efd7a46a44283c0f58569c78c3c090faf26561eb902 SHA512 b4202d208cc05186e80a36c704156827400c79510a9e1ac640b3bdb9926dd57f772e635755ed399b892f559171f5340207f8ea1af92ee2374d7a27c1234e2e70
+DIST bandit-1.8.3.tar.gz 4232005 BLAKE2B 3cfed934d59ac4614b0bfd50348983fa48a8a0346b5c06e0497e5ab5e0807c79e41b046b74880d5e26feba19029b10764d90d9cc8462b561ff04e8f5fd7f7b51 SHA512 50f2ee3f39c2991f030790674e7d25337dac9a4cd0d83d2b76e3152fc3833fb9d8228c347347d3558795b50c2973b825b9e8ab9546ccf6fec60f4f5fbd8ededc
diff --git a/dev-python/bandit/bandit-1.8.3.ebuild b/dev-python/bandit/bandit-1.8.3.ebuild
new file mode 100644
index 000000000000..c0cb0ecc34d5
--- /dev/null
+++ b/dev-python/bandit/bandit-1.8.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A security linter from OpenStack Security"
+HOMEPAGE="
+ https://github.com/PyCQA/bandit/
+ https://pypi.org/project/bandit/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/gitpython-3.1.30[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/beautifulsoup4-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/pylint-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/flake8/Manifest b/dev-python/flake8/Manifest
index 520aaf1979ca..88d38f210a79 100644
--- a/dev-python/flake8/Manifest
+++ b/dev-python/flake8/Manifest
@@ -1 +1,2 @@
DIST flake8-7.1.1.gh.tar.gz 138915 BLAKE2B 5c00c4a95f0757f7d3716270ca1de91580cb1731c700227d563c08798981c124c5789f40a5965ad49450a77601ab9638d04cb32ef9c13418720c4123ba2a7932 SHA512 310457e3c701f746d812cc76664bcb79c7cbc320af9d757ebbc13c847f2c3864770d9b945694b4b6abb773ae636e19175222c3dab74d34559beaa7835f1d9931
+DIST flake8-7.1.2.gh.tar.gz 139099 BLAKE2B 4236a533cbaaa91c4c407af02890189ca65b7ebfe3af711df2cdba02e5a28963fc3622e0a0a41190168f3cd827ccb8fed4561cdcf352642f2660ec361657a43c SHA512 da90d07d45690efa433338ed6fcfaabdf08b5bf600783fa0f22b59f77bc560b81d3e0c8203c8fe92bd0b133f40fccd919d68c65cab9a266ea6f5bd45576b3837
diff --git a/dev-python/flake8/flake8-7.1.2.ebuild b/dev-python/flake8/flake8-7.1.2.ebuild
new file mode 100644
index 000000000000..2c1ead439fc6
--- /dev/null
+++ b/dev-python/flake8/flake8-7.1.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="
+ https://github.com/PyCQA/flake8/
+ https://pypi.org/project/flake8/
+"
+SRC_URI="
+ https://github.com/PyCQA/flake8/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ =dev-python/pyflakes-3.2*[${PYTHON_USEDEP}]
+ =dev-python/pycodestyle-2.12*[${PYTHON_USEDEP}]
+"
+PDEPEND="
+ =dev-python/mccabe-0.7*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ ${PDEPEND}
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-prompt \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fails if additional flake8 plugins are installed
+ tests/integration/test_plugins.py::test_local_plugin_can_add_option
+ )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_DESELECT+=(
+ # problem with pypy3.10 in dev-python/pyflakes
+ # https://github.com/PyCQA/pyflakes/issues/779
+ tests/integration/test_main.py::test_malformed_per_file_ignores_error
+ tests/integration/test_main.py::test_tokenization_error_but_not_syntax_error
+ tests/integration/test_main.py::test_tokenization_error_is_a_syntax_error
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest
index 3a5f2c97fd9a..e9d038e949e9 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -7,3 +7,4 @@ DIST libtmux-0.40.1.gh.tar.gz 318542 BLAKE2B 5b9e383a3c07bab3af7c25adcf5db1c6acf
DIST libtmux-0.42.0.gh.tar.gz 318655 BLAKE2B 5d462bd78e81bd38cfb0c42a2100287fc79b9fe31aaeccbac5c9fd124afc2df9da4ceb5cd469de1919df2995c27d4c0628629004938795b6f8731e84c23ed2bc SHA512 38e7c21bd99859add1737a1028c18852a564a2d32c27b72ea37d623bcbc0646b095ad4dd520385c11d6df4c779429ac452f6ae592a6d0ffcb4fe64bf2a4388b3
DIST libtmux-0.42.1.gh.tar.gz 318887 BLAKE2B 7bbac22a4d2aa0a448888777b2ce99b08a90b5a76907f95ffe5278d3fb87354ae7bab5ab6b5b21ff7485b656ae6efd5a70f968750009bda2b8959024aefb3538 SHA512 a8f2be99f7e7b20d78c4597cd588571481247d1cfff4dbecaa93322584f56099a966ee745a192231ace92cd29d48232922b3b15445115039f21aca8cd33c6d69
DIST libtmux-0.43.0.gh.tar.gz 322128 BLAKE2B 835e6d4bf47c54a7cc373ad54e11bd49aba84b19e68dea20b73c977e145396a89cf7562861c75eed5fdedcfc69f83855786aa88139a2f88dee29a272cdbc1f1d SHA512 1a2992fc6d65811bb7d42e2d5eecc7efe9cf737fcd5898ed91e4f4cf317244e7a5f14fa21ea1a169dd3f8fbad8bf044e371f26704a091d7d22465ce410105220
+DIST libtmux-0.44.1.gh.tar.gz 324715 BLAKE2B 8131be2d3fb91fb45fc7d7791160f7c00291a5ae606b6f01422b0d658ad1e4c5bdfe619bb7818956fb90c6228824ee53c38459e8074bbde160ea5620db02af81 SHA512 479a5eac8de142ecdba9f697ed45608d5d0a799b83a748de7cc7350e7ce16e81d6c2f5c23df89410e13c456175ed169f4512f98ec5a315c50f7e5d8fc96435e9
diff --git a/dev-python/libtmux/libtmux-0.44.1.ebuild b/dev-python/libtmux/libtmux-0.44.1.ebuild
new file mode 100644
index 000000000000..857888d8e1e0
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.44.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+
+ epytest -o addopts= -p pytest_mock -p rerunfailures --reruns=5 tests
+}
diff --git a/dev-python/poetry-core/Manifest b/dev-python/poetry-core/Manifest
index c36bcb5fac7e..41f79c5a5bfd 100644
--- a/dev-python/poetry-core/Manifest
+++ b/dev-python/poetry-core/Manifest
@@ -1,2 +1,3 @@
DIST poetry_core-2.0.1.tar.gz 355487 BLAKE2B 84bbeb7129c13d3ed1a06fbcbdcb8e1a1a608c35d398bdbf35ea70c467adbbe5d293945fecdf90e7795122af2a3f5d9fa64a99e56ee37a197ea022d271f10a15 SHA512 dd1d303abd034fc0341aaa5fc8d11f13ef305e93b9e9036f4040c2cb007c8b1eecbdb719d2b5692530b80ecc06d416751a45c499f373a05b7066e56785d1a8e8
DIST poetry_core-2.1.0.tar.gz 362182 BLAKE2B 6f2636e76c037199b8303a58dc7cd28edc9f0359620f803a2ec2d314e1b7254aa1226eec760f425517ce318bed1cbc5c0baf7fdceec8f48b0ee8e8683ede511c SHA512 6b32bc9326766c5df21ad749f2f67d24ee4feea0abe3234206b09a5146a0a52c4b79931d3044d4259e60f1bc8c369035309bab08710893b7e541c2fcf3f4b54d
+DIST poetry_core-2.1.1.tar.gz 362210 BLAKE2B 03eb8b3de0138468b04b42003eb9a491c33ddb566647b933ca992f609b956ce9c27f874c61496fdd9a0d9ee0b02bda09524636ef550221f607a50792be8f73b4 SHA512 6624530062196c9a40be73d74a8dd51cfa8af8f34705837c5101b3955252e94fd136b32259887796ea304b77cfcd35042bf391fe78174f22faeebe77247605c4
diff --git a/dev-python/poetry-core/poetry-core-2.1.1.ebuild b/dev-python/poetry-core/poetry-core-2.1.1.ebuild
new file mode 100644
index 000000000000..978c4a190ead
--- /dev/null
+++ b/dev-python/poetry-core/poetry-core-2.1.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Poetry PEP 517 Build Backend"
+HOMEPAGE="
+ https://github.com/python-poetry/poetry-core/
+ https://pypi.org/project/poetry-core/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+# check inside vendors/pyproject.toml
+# (note that some are indirect deps)
+RDEPEND="
+ >=dev-python/fastjsonschema-2.21.1[${PYTHON_USEDEP}]
+ >=dev-python/lark-1.2.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.2.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}]
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove vendoring of dependencies
+ rm -r src/poetry/core/_vendor || die
+ sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (unported deps)"
+ return
+ fi
+
+ # Poetry expects test to be run inside a git repository, otherwise
+ # VCS-related logic doesn't get triggered. An empty repository
+ # suffices, though.
+ git init || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/poetry/Manifest b/dev-python/poetry/Manifest
index 5d2e384cd948..6e55be1e93ff 100644
--- a/dev-python/poetry/Manifest
+++ b/dev-python/poetry/Manifest
@@ -1,2 +1,3 @@
DIST poetry-2.0.1.tar.gz 2846041 BLAKE2B 691ffcd39799d0794f8853cdb9742d95d5dd64a62488af56f58b6ac1d8b7e734b109375d595f975e7b310bd3c36a5b5c846dd37e2ffd7bf2fe7d25bd1835cff1 SHA512 9a53fe5cbaea7c923e8af6920b545a54402d49937f31c5812dcc8939f8db44ea2557302f54e015fd7f7e96de66d8fc90596cd06a30dc53ef474a8bb54fdc2c97
DIST poetry-2.1.0.tar.gz 3433096 BLAKE2B 27feceb8c5bced84f508a538da231749f18724fd92051f328dbe9cc103c1988773a04e5526c5117c499df5a3121228d50dedb0d12f3a90f0d89b4438ae61245e SHA512 09757d3ca668e014d1591cb56a54013f34eec3b3d4216a2408ae73c2b784a2798727bfd65fb35cf604423cf0d67f2cfcff8f709d14debc9623d1dc9a863f4e68
+DIST poetry-2.1.1.tar.gz 3433288 BLAKE2B 28d8b376d3ca6f8e34b95132b1b09e86f0a6a52b6a75393ab04cdf200d545075235383d650d0867f7f59ed125357b263b56de02ab83390811bf956d4ce5dbf31 SHA512 3f25f72e64871ee3c894df03d9ebc8d7d6f22f0b3c90c09ba3a25316c632f0ecda833979ccd9f835e851fe404061da2f2354f6197c788348e5b884c2165eb0bb
diff --git a/dev-python/poetry/poetry-2.1.1.ebuild b/dev-python/poetry/poetry-2.1.1.ebuild
new file mode 100644
index 000000000000..2df6f01e1e8d
--- /dev/null
+++ b/dev-python/poetry/poetry-2.1.1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A frontend for poetry - a python dependency management and packaging tool"
+HOMEPAGE="
+ https://python-poetry.org/
+ https://github.com/python-poetry/poetry
+ https://pypi.org/project/poetry/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/poetry-core-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/build-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.22.6[${PYTHON_USEDEP}]
+ >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/installer-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-25.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2025.01.06[${PYTHON_USEDEP}]
+ >=dev-python/pkginfo-1.12[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.26.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-1.1[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-classes-3.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unpin
+ sed -e 's:,<[0-9.]*::' -e 's:==\([0-9]\):>=\1:' -i pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+EPYTEST_DESELECT=(
+ # Internal test for lockfile being up-to-date
+ # Meaningless, also sdist does not include lockfile
+ tests/installation/test_installer.py::test_not_fresh_lock
+
+ # broken if poetry-plugin-export is installed
+ 'tests/console/test_application_command_not_found.py::test_application_command_not_found_messages[x-None]'
+
+ # TODO
+ tests/installation/test_executor.py::test_executor_known_hashes
+ tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies
+ tests/utils/env/test_env_manager.py::test_create_venv_finds_no_python_executable
+ tests/utils/test_python_manager.py::test_python_get_preferred_default
+ 'tests/inspection/test_info.py::test_info_setup_missing_mandatory_should_trigger_pep517[name]'
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network" -p pytest_mock -p rerunfailures --reruns=5
+}
diff --git a/dev-python/pycollada/Manifest b/dev-python/pycollada/Manifest
index eaa16dee4e15..c3234d27c1cb 100644
--- a/dev-python/pycollada/Manifest
+++ b/dev-python/pycollada/Manifest
@@ -1 +1,2 @@
DIST pycollada-0.8.gh.tar.gz 3586706 BLAKE2B 533a2a309b4c7ee60671edfd241b80e7128330b2cd85d2707fc4f83b0aceb2d792d8efec77f9a6a8600eec0704878a4342449fde68f77e42617eff30965973a5 SHA512 7171469b8434a7c24ec2ebadefa9ad5268382659cb5b2b3712cf0ba73c7948e7fa4061ecfa02001862c76e1139293ab68cf425472222348e28efa28bc75f844f
+DIST pycollada-0.9.gh.tar.gz 3587769 BLAKE2B 0b0cbb7b99e90e6a51958f0ff98a50caff2fdeb5f96ff7f8d46be1b8dee20a738e2a2d480785a772e391f2730820b1720ffd9880e14505ea6d2d9b4d95e0f711 SHA512 5ce2833ef5b823139b8ceca17a70dd22c02562cd58b38c88cad4e7b06ea9eb3842073c4e1e97c37b83e3798288fc016fd6244baf5cce183989edaf0c35eca3aa
diff --git a/dev-python/pycollada/pycollada-0.9.ebuild b/dev-python/pycollada/pycollada-0.9.ebuild
new file mode 100644
index 000000000000..3dfd5989bb58
--- /dev/null
+++ b/dev-python/pycollada/pycollada-0.9.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for reading and writing COLLADA documents"
+HOMEPAGE="
+ https://pycollada.readthedocs.io/
+ https://github.com/pycollada/pycollada/
+ https://pypi.org/project/pycollada/
+"
+SRC_URI="
+ https://github.com/pycollada/pycollada/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.2[${PYTHON_USEDEP}]
+"
+
+DOCS=( AUTHORS.md COPYING README.markdown )
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+python_install_all() {
+ if use examples ; then
+ insinto /usr/share/${PF}/
+ doins -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # ensure data files for tests are getting installed too
+ python_moduleinto collada/tests/
+ python_domodule collada/tests/data
+}
diff --git a/dev-python/pykka/Manifest b/dev-python/pykka/Manifest
index 9755bd818b3b..fa44a758ef99 100644
--- a/dev-python/pykka/Manifest
+++ b/dev-python/pykka/Manifest
@@ -1,2 +1,2 @@
-DIST pykka-4.1.1.gh.tar.gz 48728 BLAKE2B 4c3f0bf5454c6af04a91ebecc562e34dad257f61cca1aa20e11deea6fb524d0fa1bb86d4dd0829fe8392f57c6fd6c49b1b50abb74f08b77bccf4219d91abb5f7 SHA512 99f8738dbd0a4172e9c8a2cdbfe36335e349f8b0e421ab53ad2869e4250e6c03e69b89eea30e05c015a0203e0e6191b421f23061aa3aab869bb4383cc6ed0d49
DIST pykka-4.1.2.gh.tar.gz 48738 BLAKE2B d6b6695a6c6482540ee5362752544753f5baaadbd888103ff13f025c5870304200cb3615d986c615b70b239d6c8710515fe9d974c765939190bd8b1abcdf3d0a SHA512 07ce084484abb56dd89399252e93a05e9f3e08b3ca023f751700a2cc99f7cb52a926c95b158c7208096bdfc250831aa1c340f2df04cbff5b159b329bb66f1c8c
+DIST pykka-4.2.0.gh.tar.gz 48384 BLAKE2B 23d0300a6cefc0dac720bd6da4a3fa5a1eb4644efbc7211e68e3fe4ff65457ccc45908e8aa02f2bfb0a4b16586cccb809e7cba95e96ac230de3b2ed69fd2fe8b SHA512 55de2fb603e642ffa91887d0fc69b3785bfae7de71911b45b336285f487c38feb07bd8033188b3ddaef884d5b0c0b789809be8ad8c0cfa9ac84c95485870178d
diff --git a/dev-python/pykka/pykka-4.1.1.ebuild b/dev-python/pykka/pykka-4.2.0.ebuild
index b982a6e11829..58f4fdd6b641 100644
--- a/dev-python/pykka/pykka-4.1.1.ebuild
+++ b/dev-python/pykka/pykka-4.2.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-DISTUTILS_USE_PEP517=poetry
+DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
@@ -25,7 +25,6 @@ KEYWORDS="~amd64"
BDEPEND="
test? (
- >=dev-python/pydantic-2.9[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/pyproj/Manifest b/dev-python/pyproj/Manifest
index 23d0da29c895..c5580da82891 100644
--- a/dev-python/pyproj/Manifest
+++ b/dev-python/pyproj/Manifest
@@ -1 +1,2 @@
DIST pyproj-3.7.0.gh.tar.gz 240143 BLAKE2B e5508adbfe8f30ce6808bfeacfa8de0cd70ac2f7578aaffb3a3962aacd4cde0b7100645d562fe8822ab1d962b19c7c1d02bc336bc830058dac8a1995044adc9c SHA512 6cc1df752a5ca58b3a90a725ca113f52648e2bf72b4ecdd516169571f71652cee5c6b34bd4932b9ddf0b94b084ea4a406d915aebfa9abf1d4065567f7b48d660
+DIST pyproj-3.7.1.gh.tar.gz 239121 BLAKE2B 42502c9230d11988c0b14b94226b043bb83bab4885e7490b786b78883a8b73081604dd856bd64b0baf5e241774cc3d384fcc9c1bbecfce10e0fcb3f82fcfadaa SHA512 43582a052e80d1d89120a79ec2ee1b4ae9cc24d65031275286791f2bad7efc0827831d2a7482d9a37988359a26c662d38144a372fc23a45a8edd814fd78fc1b7
diff --git a/dev-python/pyproj/pyproj-3.7.1.ebuild b/dev-python/pyproj/pyproj-3.7.1.ebuild
new file mode 100644
index 000000000000..52278566d6eb
--- /dev/null
+++ b/dev-python/pyproj/pyproj-3.7.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to the PROJ library"
+HOMEPAGE="
+ https://github.com/pyproj4/pyproj/
+ https://pypi.org/project/pyproj/
+"
+SRC_URI="
+ https://github.com/pyproj4/pyproj/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux"
+
+DEPEND="
+ >=sci-libs/proj-9.0.0:=
+"
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ # Avoid greedily trying -L/usr/lib, etc
+ # https://github.com/pyproj4/pyproj/blob/main/setup.py#L76
+ export PROJ_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
+ export PROJ_INCDIR="${ESYSROOT}/usr/include"
+}
+
+python_test() {
+ rm -rf pyproj || die
+ epytest -m "not network" test
+}
diff --git a/dev-python/python3-discogs-client/Manifest b/dev-python/python3-discogs-client/Manifest
index b2f8e28bf117..4e42bc462bcd 100644
--- a/dev-python/python3-discogs-client/Manifest
+++ b/dev-python/python3-discogs-client/Manifest
@@ -1 +1,2 @@
DIST python3_discogs_client-2.7.1.tar.gz 36930 BLAKE2B f0e6071759e8e14f4e78fc0cd15fe4643b1984be622e9fdbf28bda11699d4f7d829eaa7aee005c888e556b6c994585b1a5f2c12351a995f2937af87c360f5292 SHA512 4b9ca0fb1498319f814b88f2df6a1bd3d7c02f44bea8a13aa6b640d3d87def825dcc79181afddb173fedb7448f99a8f4a244915ebfaf26dd2411db8d151b054c
+DIST python3_discogs_client-2.8.tar.gz 37416 BLAKE2B aec54b1fa383c673a94dbc9f8f3ff6dbf580b741ebeb2851b76224f5fe408bb316bbf83b42cde15569261eb3e3a4529312c2cb900f8c2a3b0b8bdbe27b50bd98 SHA512 7137ba2c298318cbdb2a0e41c3780c62c4780fbcfc77f03cc88341f7b7e42fdb8962ce91713d5bccd4afcd6173e0b4a2198a6b50b4b90c0baf05cb03746f6d5f
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild
new file mode 100644
index 000000000000..178da09140e8
--- /dev/null
+++ b/dev-python/python3-discogs-client/python3-discogs-client-2.8.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/joalla/discogs_client.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Continuation of the official Python API client for Discogs"
+HOMEPAGE="
+ https://github.com/joalla/discogs_client/
+ https://pypi.org/project/python3-discogs-client/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/oauthlib[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/roman-numerals-py/Manifest b/dev-python/roman-numerals-py/Manifest
new file mode 100644
index 000000000000..6142e67959fc
--- /dev/null
+++ b/dev-python/roman-numerals-py/Manifest
@@ -0,0 +1 @@
+DIST roman_numerals_py-2.0.0.tar.gz 8747 BLAKE2B 55998af1542f61aa0ac8a6bdf11aa6c4ef99f91a8d72df0194659f7b679a07b69f2a67ed71beca373d6c3c8843fd9c7149918755cb97ceaea3d6d9153321e5fd SHA512 c67d0f0c8244449694693c081a5291da7742ad19ede1447da06526bc8edb0f7f20b4778040f052ad104d6c5079c63fd052197fb2f0414d855c9531faa20b2041
diff --git a/dev-python/roman-numerals-py/metadata.xml b/dev-python/roman-numerals-py/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/roman-numerals-py/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/roman-numerals-py/roman-numerals-py-2.0.0.ebuild b/dev-python/roman-numerals-py/roman-numerals-py-2.0.0.ebuild
new file mode 100644
index 000000000000..a98dd72c6f29
--- /dev/null
+++ b/dev-python/roman-numerals-py/roman-numerals-py-2.0.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manipulate roman numerals"
+HOMEPAGE="
+ https://github.com/AA-Turner/roman-numerals/
+ https://pypi.org/project/roman-numerals-py/
+"
+
+LICENSE="|| ( 0BSD CC0-1.0 )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest
index f19eb2f509f3..25055964b12e 100644
--- a/dev-python/scipy/Manifest
+++ b/dev-python/scipy/Manifest
@@ -1,5 +1,6 @@
DIST scipy-1.14.1.tar.gz 58620554 BLAKE2B 5cb383648a5f3b8d0d321efcd66992212c59ce3fc3dbf812a2fa97c09cb18831b280af6c7689553644f83c531a266e9152e2a139a12aed08307e1ed64deea78e SHA512 20e3cf13590f76dfdc40ca8f90e6d5a68502e74415f37fa24fdb8169098e1d7f0aa631ae742c8c3e9573fa7d63da61986d51f35f090a3785873ae0761f7fcfa6
DIST scipy-1.15.0.tar.gz 59407226 BLAKE2B 30e2f1c797c46646b21578c9b22145773c27119674ec8d4bba1b6e4bac4fe6d56d7b6fa49964783f432008a027e1498edbdceec6d1345aaee4bbe8975648b9b7 SHA512 62c2616535790a65cfe5907abaaa655ca9268406765e9baab31097aece7a3887e2bc616a77abe9869b2ff4b07dc4a56fc1dbbaaf82ebfd7d9a89e05b8e87df86
DIST scipy-1.15.1.tar.gz 59407493 BLAKE2B 959e1e311c5e53c2751794f629777a611ebd79c87d6cc2dec330ca335100b773528aa151e319cd9ae0520257d89597acdb3aca2319ab78c367c135499f54001f SHA512 92cb6a2cdb5a305eef0aa81baea4b90c14c0084c09ffbf62f2d6ee8dd5a08791a838838e2d4907356b5b07d0b4f74a81a8e861f81628bd9e5c7e0216e3f77b17
+DIST scipy-1.15.2.tar.gz 59417316 BLAKE2B 7ae748a58b6a7fb2674dc6627c3d6f4f28694283bf19ca9973fcf5796ccb0e2e35bb7cd8fbfbefa21cb832b771e563f478bc09ded61d989ea47625e7ac35e1bd SHA512 e772aa040622ef457478e08eb41471af33784cafc2022f091a30563f6abed067cdbae424a5ae86f9dab8c1adc67276794b67cb7cb7c7963ca55a38529df63834
DIST scipy-html-1.14.0.zip 65723829 BLAKE2B ba47dbf00a5d2a53a9addc5ea68ab18b42f211a018b89aa4b0b57ff0dee02e410a3effc59ddf8fbbc5aa33075d45d86880aed3a14068da5bd7b62ee526199967 SHA512 93be0bafcc64cea1ba130bbcc77c0741acc4f819c84a5030391a22657a1bc63abe8434a2723f66b7ad04c0809dc6d02e3a97ffb8d94bd3d4a4bb759ee796b475
DIST scipy-html-1.15.1.zip 68514487 BLAKE2B 328550d3d5700c520b2a6404c326a54ffecacc95ad5d05c727d833803d698346fb0188b6bcb659838c1a0f26355b28d70df02cddff48b8bdf564292e6cab56bc SHA512 14311da185c9454fe7dd2a8253dc4fad434664df4c7261b22a3415de576a49d51ce9a00dfb3c3ea4df9ce2bf1c9d7547ceeeb5af72eeda823243d7a2541db676
diff --git a/dev-python/scipy/scipy-1.15.2.ebuild b/dev-python/scipy/scipy-1.15.2.ebuild
new file mode 100644
index 000000000000..579a9704865b
--- /dev/null
+++ b/dev-python/scipy/scipy-1.15.2.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2025 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_{9,10,11,12,13} pypy3 )
+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.15.1
+
+ SRC_URI+="
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
+ )"
+
+ if [[ ${PV} != *rc* ]] ; 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"
+
+# umfpack is technically optional but it's preferred to have it available.
+DEPEND="
+ >=dev-python/numpy-1.23.5:=[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:=
+ sci-libs/umfpack
+ virtual/cblas
+ >=virtual/lapack-3.8
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/pillow[${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-build/meson-1.1.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ fortran? (
+ >=dev-python/pythran-0.16.0[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/hypothesis-6.30[${PYTHON_USEDEP}]
+ )
+ test-rust? (
+ dev-python/pooch[${PYTHON_USEDEP}]
+ )
+"
+
+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
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dblas=blas
+ -Dlapack=lapack
+ -Duse-pythran=$(usex fortran true false)
+ )
+
+ # https://bugs.gentoo.org/932721
+ has_version '>=dev-python/numpy-2.0.0' && filter-lto
+}
+
+python_test() {
+ 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
+
+ # Precision issue with diff. blas?
+ scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
+
+ # Crashes with assertion, not a regression
+ # https://github.com/scipy/scipy/issues/19321
+ scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
+
+ # timeouts
+ scipy/sparse/linalg/tests/test_propack.py::test_examples
+ # hang or incredibly slow
+ scipy/optimize/tests/test_lsq_linear.py::TestBVLS::test_large_rank_deficient
+ scipy/optimize/tests/test_lsq_linear.py::TestTRF::test_large_rank_deficient
+
+ # TODO
+ scipy/optimize/tests/test_minimize_constrained.py::TestTrustRegionConstr::test_list_of_problems
+ )
+ local EPYTEST_IGNORE=()
+
+ if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
+ EPYTEST_IGNORE+=(
+ scipy/datasets/tests/test_data.py
+ )
+ fi
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # fd leaks in tests
+ # https://github.com/scipy/scipy/issues/19553
+ scipy/fft/_pocketfft/tests/test_real_transforms.py
+ # TODO
+ 'scipy/special/tests/test_data.py::test_boost[<Data for expi: expinti_data_long_ipp-expinti_data_long>]'
+ # missing dict.__ror__
+ # https://github.com/pypy/pypy/issues/4934
+ 'scipy/sparse/tests/test_dok.py::test_dunder_ror[dok_matrix]'
+ # mismatched exception message
+ scipy/optimize/tests/test_hessian_update_strategy.py::TestHessianUpdateStrategy::test_initialize_catch_illegal
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # 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/sphinx/Manifest b/dev-python/sphinx/Manifest
index 2faba27f274e..00b31e5ad7f1 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -1,2 +1,3 @@
DIST sphinx-8.0.2.gh.tar.gz 8264835 BLAKE2B ed6e321a1e58341609d88993c418ec1a0a580683ed28895077322fdba839d5c158007d65d5349d4d53c5e3b49ae823142cc6eb0203812580ebbb5b95247bf157 SHA512 5e9f38af91d7a80b6a80a80ab26adbebc1c3303996182a58eed9120ed896c5bfde022616e116e8cb8195fe03741e93fd97dcacccf492912ab147c5bfcb79213d
DIST sphinx-8.1.3.gh.tar.gz 8245194 BLAKE2B 43e0b2bc3214e01c55da356144c7e2e27dd8202b5c2dda6f6e1768c4ba4fa968180ff97f41c3b97e3cbeff1dad1199cd19385ae34dc0cb4250af60e157b3bd1f SHA512 b1d0fe9586b11083103449a04443884d06d2dcab2d0bcf66d07ef97543b5e92da60e3c02e6f8ba9e04a6d7bdd62c75ef9d3f790411753fcda2a67e0fbf6a2d86
+DIST sphinx-8.2.0rc1.gh.tar.gz 8283034 BLAKE2B 7387106d4fc41595dfff84611f7ec2abd6f8cdc3692c8848689c2aa14d6b157b70c19dbeab8fd2a8c6d5b50993e31b37efdecc3dc39894d9b3ecb17b72733d90 SHA512 57bebe1ac19176779ed9d27ad2e981f580ea30872fdb909d47f7474608f7b02b7a531fee8208d1625ae252cb05301daa84a8b241b4d3b431f5a5229be0c35280
diff --git a/dev-python/sphinx/sphinx-8.2.0_rc1.ebuild b/dev-python/sphinx/sphinx-8.2.0_rc1.ebuild
new file mode 100644
index 000000000000..a6d561149879
--- /dev/null
+++ b/dev-python/sphinx/sphinx-8.2.0_rc1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/roman-numerals-py-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-applehelp-1.0.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-devhelp-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-jsmath-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-qthelp-1.0.6[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13x)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
diff --git a/dev-python/trio-websocket/Manifest b/dev-python/trio-websocket/Manifest
index fe2bbffe906f..5c7cab56e16c 100644
--- a/dev-python/trio-websocket/Manifest
+++ b/dev-python/trio-websocket/Manifest
@@ -1 +1,2 @@
DIST trio-websocket-0.11.1.gh.tar.gz 45682 BLAKE2B 0f926421828476c9e23cf962df7a17a2cf4470e0898dddbc4690497521205ea11973a188ca460685739d08c34be237682b0bbbbe2c279d35e5c2fdce9b3ce020 SHA512 4b0eb6f0c012cefedb69b97e9452ba979336fbe9f154799c4c68871b8013e728374e4872a2343ab4d27fa6e25e40c3063e681e80470123d37f13f531be4f6644
+DIST trio-websocket-0.12.0.gh.tar.gz 52237 BLAKE2B 1577162f36fe7e22fe7618f5895876dff0af4ed84bc7cb34975aa291390be48df322ab79cce1c04aa9a67f1b1c8578a1988ba7b49a8208a11fde68ec0cc678a8 SHA512 f1c166a075f9b5b63ea36216b2f138fb9fbb4b60f8d23bf3dc85899d02a9f6e59439c2c7a18194fc05837b4f986206b9140f1b59cfc5061ed5667c1dad32455b
diff --git a/dev-python/trio-websocket/trio-websocket-0.12.0.ebuild b/dev-python/trio-websocket/trio-websocket-0.12.0.ebuild
new file mode 100644
index 000000000000..4586c359be27
--- /dev/null
+++ b/dev-python/trio-websocket/trio-websocket-0.12.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="WebSocket client and server implementation for Python Trio"
+HOMEPAGE="
+ https://github.com/python-trio/trio-websocket/
+ https://pypi.org/project/trio-websocket/
+"
+SRC_URI="
+ https://github.com/python-trio/trio-websocket/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/trio-0.11[${PYTHON_USEDEP}]
+ >=dev-python/wsproto-0.14[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-trio-0.5.0[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # exception tests are broken with trio-0.25
+ # https://github.com/python-trio/trio-websocket/issues/187
+ tests/test_connection.py::test_handshake_exception_before_accept
+ tests/test_connection.py::test_reject_handshake
+ tests/test_connection.py::test_reject_handshake_invalid_info_status
+ tests/test_connection.py::test_client_open_timeout
+ tests/test_connection.py::test_client_close_timeout
+ tests/test_connection.py::test_client_connect_networking_error
+ tests/test_connection.py::test_finalization_dropped_exception
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p trio
+}
diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest
index 8e0d96e110b4..4ccdd610fa7d 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1 +1,2 @@
DIST typeguard-4.4.1.tar.gz 74959 BLAKE2B 1b08e7404045d128bbecf5c16c0b24dbc42a59a3e78d0516f458989d6874d7795332017ac87ce59a7ed05edf4df6b918516d63d90723c702b5d05d7acc0193df SHA512 af862371b22237cc39efad4840bb0bbd632116bee6e095531426dbaff606b6c1b2b58c82ddc083f816c340b4151421ff911ffd689dc3dc2fb7a031c067182aba
+DIST typeguard-4.4.2.tar.gz 75746 BLAKE2B f2a2c318a27eea573ce358284aedb97e126ce1aa7f60755079c07eddb1c93785ee6a50f5e95cf47234534cd44541efa974fc1ebe7af737875a328870235ca285 SHA512 205429ae4960563c10b747956a2f4f41504abb300957cc75be0e9a6caecba84bebbbbf2e71d22f2961870f12f29e03fcd78ef0cd54edd7285f62ceaf35a74138
diff --git a/dev-python/typeguard/typeguard-4.4.2.ebuild b/dev-python/typeguard/typeguard-4.4.2.ebuild
new file mode 100644
index 000000000000..d04b4acfacb2
--- /dev/null
+++ b/dev-python/typeguard/typeguard-4.4.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Run-time type checker for Python"
+HOMEPAGE="
+ https://pypi.org/project/typeguard/
+ https://github.com/agronholm/typeguard/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # mypy changes results from version to version
+ tests/mypy
+ )
+
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # the XFAIL test pass due to some package being installed
+ epytest -o xfail_strict=False -p typeguard
+}
diff --git a/dev-python/websockets/Manifest b/dev-python/websockets/Manifest
index 0de41c5c8345..ff2c2f467ca0 100644
--- a/dev-python/websockets/Manifest
+++ b/dev-python/websockets/Manifest
@@ -2,3 +2,4 @@ DIST websockets-11.0.3-python3.12.patch.xz 4328 BLAKE2B 6ef94255ef5d95de8015eca1
DIST websockets-12.0.gh.tar.gz 352120 BLAKE2B cab704e0ee44a7012ee58d515a5ea7380a97a3cbb8f55d105c00c8c2b9ed992b4c87435875474de32e5969fd92256bdec830db0571399a1d2e5fb719b23c2d83 SHA512 f17943d444ce275b709cf89453b2d2cce09f5af26f0460e226c2e24cfbb425c825963352e130dcd4201587606355375b525d8e5a02eccbffbb3985a108a3ed5e
DIST websockets-14.1.gh.tar.gz 425408 BLAKE2B ebedf5bf27373cc05b6b82675bf7ff32b63f025e9bcee405a224c44d54e93b6a10d86a1deb1773e232fe1bb1680642e4553b9f5be999cb7523823b180a899840 SHA512 771c7d2e55f90de1307d8d662c2066397c0e2299f321dd3621df99cdf105f8d9d7583b70e7d1c51465174e9d35ba8db51eda559ca9bbd7ce74c90d1759df2e5d
DIST websockets-14.2.gh.tar.gz 427526 BLAKE2B 2c6fca711b16e5c45d49320f86f7da2ef428573786dbecb57876978b8a2819d8074984d929a0ff16222a8131f175287ed66d5c19dd7ca12106fbe93449a3dda6 SHA512 b5b5ce455e5b68a14993ac1d02c6f417db6cc89cdb9b21e12ba1e1975050fdf7e1935e08a35d8fcb41f5e255385c72834627c989f0734d7015bc1817f6067fe9
+DIST websockets-15.0.gh.tar.gz 453725 BLAKE2B a4b7a60533744d7e1ed2fb5ae59853d9db2b73f4311f1753383603e02d6df98963cd58e723de5eddec0d52dddcf835ede8a632196e832c81ae89b7321807761b SHA512 8fbaa26846cfe08802d580e0559fa9b00bab004a3ec3bd97aef05725778c1695e092977324ebbec50c1886e8fe13ac4b1d8fb752a13d25f178c976ad2a918dba
diff --git a/dev-python/websockets/websockets-15.0.ebuild b/dev-python/websockets/websockets-15.0.ebuild
new file mode 100644
index 000000000000..61f54c7c9fa3
--- /dev/null
+++ b/dev-python/websockets/websockets-15.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for building WebSocket servers and clients in Python"
+HOMEPAGE="
+ https://websockets.readthedocs.io/
+ https://github.com/python-websockets/websockets/
+ https://pypi.org/project/websockets/
+"
+# tests are missing pypi sdist, as of 11.0
+SRC_URI="
+ https://github.com/python-websockets/websockets/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]] ; then
+ local -x BUILD_EXTENSION=yes
+ else
+ local -x BUILD_EXTENSION=no
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires DNS access
+ # https://bugs.gentoo.org/909567
+ tests/legacy/test_client_server.py::ClientServerTests::test_explicit_host_port
+ tests/legacy/test_client_server.py::SecureClientServerTests::test_explicit_host_port
+ # TODO
+ tests/asyncio/test_server.py::ServerTests::test_close_server_keeps_handlers_running
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p rerunfailures --reruns=10 --reruns-delay=2
+}