summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-02 07:00:00 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-07-02 07:00:00 +0000
commit6b0ae322063396b22f2523975b1f371181ee0835 (patch)
treea6bd7fe9646b34568669f60ce3c0d17133623f52 /dev-python
parent5d247b8408a6f5dfe82cb9f64ec52480aa51892f (diff)
downloadbaldeagleos-repo-6b0ae322063396b22f2523975b1f371181ee0835.tar.gz
baldeagleos-repo-6b0ae322063396b22f2523975b1f371181ee0835.tar.xz
baldeagleos-repo-6b0ae322063396b22f2523975b1f371181ee0835.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.39.1.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.39.1.ebuild67
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.37.0.ebuild61
-rw-r--r--dev-python/cmd2/cmd2-2.7.0.ebuild2
-rw-r--r--dev-python/ipython/Manifest1
-rw-r--r--dev-python/ipython/ipython-9.4.0.ebuild146
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.6.15.ebuild73
-rw-r--r--dev-python/narwhals/Manifest3
-rw-r--r--dev-python/narwhals/narwhals-1.43.1.ebuild38
-rw-r--r--dev-python/narwhals/narwhals-1.45.0.ebuild (renamed from dev-python/narwhals/narwhals-1.43.0.ebuild)4
-rw-r--r--dev-python/pillow/Manifest2
-rw-r--r--dev-python/pillow/pillow-11.3.0.ebuild168
-rw-r--r--dev-python/plotly/Manifest1
-rw-r--r--dev-python/plotly/plotly-6.1.1.ebuild102
-rw-r--r--dev-python/progress/Manifest1
-rw-r--r--dev-python/progress/progress-1.6.1.ebuild23
-rw-r--r--dev-python/pytest-xdist/Manifest1
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild42
-rw-r--r--dev-python/rich-argparse/rich-argparse-1.7.1.ebuild2
-rw-r--r--dev-python/rpds-py/Manifest9
-rw-r--r--dev-python/rpds-py/rpds-py-0.23.1.ebuild67
-rw-r--r--dev-python/rpds-py/rpds-py-0.25.0.ebuild60
-rw-r--r--dev-python/sqlglot/Manifest2
-rw-r--r--dev-python/sqlglot/sqlglot-26.33.0.ebuild179
-rw-r--r--dev-python/stripe/Manifest1
-rw-r--r--dev-python/stripe/stripe-12.3.0.ebuild93
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.7.18.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.7.18.ebuild183
38 files changed, 1216 insertions, 305 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index a2f0888dce03..b036ef434609 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.38.36.gh.tar.gz 954319 BLAKE2B 9c0f54169c7cd186922c7d2f0dcab9219b5b
DIST boto3-1.38.41.gh.tar.gz 959656 BLAKE2B cf74e27c26735b9a02be41df7e077aed5e3df61fec3cef38fbf08e6b24bb23030579a92f28a717056a86d67251ce69aae82820c4d8af0d34f4d77076ebc45f1b SHA512 dc3110929ac801348f960c419d555160e315e3724101fc3ec551cb60520703fa77a4dd69744e99b8062402b0d53941aa5a7a006bece5a064de7491fbf2050a37
DIST boto3-1.38.46.gh.tar.gz 961156 BLAKE2B 36fe0a2d35176c3419f4a49148b77713e126371930dafa112aaba7f53ca483323500cf23d68fa27372130d07fb9aad090950959ad56c25ae7503f77e2a525905 SHA512 c15c90fad56f476014ef6ae8ff687e088114001750def69cefa25002d0d38a4fee60114943d2c5e7b70f7ecca497fbba987cc9b33bba5ff6637a5fe8aa079149
DIST boto3-1.39.0.gh.tar.gz 963734 BLAKE2B 5a509880acd41a3698d1e7c0d1924250bdd39df03fed534283f890f079ef4965e0ce63c41ee566832f7ff7369da7bf1f25d7c8847e8e8c9f78a255eb2a37db75 SHA512 169acf47bf3c06541a923c5bdc43eb6a8516c7cf1edcf38c95ec7cbb08e688ee563e1ce4118850502c64255dd75ca111f46da1de73541ca5423fcbbe5ac83a87
+DIST boto3-1.39.1.gh.tar.gz 966365 BLAKE2B bab41fd054da7012fa9745db151aef5b405974a7b535206071168668511b9b35f49c7866d8d54d83f4e15da31ecaab83348360d94c9a37abc977463642c19db1 SHA512 e6185397790b5988f5771701e3d446052ec4b3a97538fa318867ac03c9c53d3b360bc20789f55e65afbc4b899663bb9b0622f5917eca1498555084d067eb47d4
diff --git a/dev-python/boto3/boto3-1.39.1.ebuild b/dev-python/boto3/boto3-1.39.1.ebuild
new file mode 100644
index 000000000000..bd6e26787db4
--- /dev/null
+++ b/dev-python/boto3/boto3-1.39.1.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_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.13.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index e3a81a1e8e17..b94e19578e39 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.38.36.gh.tar.gz 14720436 BLAKE2B fe5b58bba65c55b4ace04b5fa88de6f
DIST botocore-1.38.41.gh.tar.gz 14788068 BLAKE2B 3bc2cfb9e45235b076266a96fd3568753c267ab8a1ff438e21159c3d31cfa9f0c6b057ffda665006adacb69d75282c34f31d14095388ee120274dd60cc4e0f2d SHA512 de75b9799754cfa55fd54716ab088719f96403d2fc9b357751263f8382bb513f0526d9815cbff7c317fbd66508354e6024d622bd09d0bef035939f03f172a575
DIST botocore-1.38.46.gh.tar.gz 14834968 BLAKE2B 282c6ddef03b7c4a8f88fbc4816afd65fdac8c050ed2233974dfaa985ed001feaedbdf22fc770f56c1f0aa3fbd1d10e6115289e3c11efe672e3e6ac521eaedc7 SHA512 5fb4d2001084c63caa7c8619b55815d882b6f8b0738197d82919a33634205226dc20e06356b51b0022abfbde32a1585307a9b6058a0363d3a48a612206105c93
DIST botocore-1.39.0.gh.tar.gz 14858042 BLAKE2B 5555d09f5a74e8673a4c2d1487433646c144c4fb2de8ebd3d773d8ea8414cd9c41aca25c5d8be83a97544816265863692748dfa44eafe776b140cb039a0c6c6b SHA512 b6c9e06b90bdc4b0ec4d0b32de98aa99e2731a00404ace2a354701bb7c5601f133a1366f8a7fb4f7abc2772e33644b0fcfc377550ddf1d7a6b3d193d0f3a5c3c
+DIST botocore-1.39.1.gh.tar.gz 14886939 BLAKE2B 2734ec93a9fc326b3c4b0fe856049783556c6532a5d0a8081a2a89e1fe14db861ea787c4f37bb147ba56fde7b8895863c27387a84f58bc6d6b1e11e9efc4f5e9 SHA512 d7d9318daaa47fdd5cb91f3cc3a2bcd98a7edde77e2d61093798e2546d60e6e4c37f333f3763ee7f672b44d1e28490175cf3d136787ae4cea2e23d565d4bf624
diff --git a/dev-python/botocore/botocore-1.39.1.ebuild b/dev-python/botocore/botocore-1.39.1.ebuild
new file mode 100644
index 000000000000..a931fcaefec4
--- /dev/null
+++ b/dev-python/botocore/botocore-1.39.1.ebuild
@@ -0,0 +1,67 @@
+# 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_{11..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index dc49742c91a2..39952bdd47ee 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,2 +1,3 @@
DIST cfn_lint-1.35.4.tar.gz 2981501 BLAKE2B 51fd51b194e19a0bebd72efadfd81c633f86c3017efaf08b262c83b36228548b53835aae0f17e2617ed7ec8a4cd87886f33d3ad01c935b26dde58273eee37dc4 SHA512 67442deda9d3ab8556cb35def0b3b26286d986f17f7fd07080b1752575790bda18ea65ac3ac66be3086cc1762d773fa499f31c26a9d4b75cde2c7c91471fbcd4
DIST cfn_lint-1.36.1.tar.gz 3108363 BLAKE2B 21d99e2ccd5edc69cc7c1995f5667e9997764c0d7be6a2662ef3b8f42bf72d633153a0cef5493d25b16eed2e87da1bdad1536b97b9193e4c26a1e44c15790827 SHA512 49adc1844768b9ae70599c02653cfc2b454edf08def22c3d6aa5728f0ebf7b4cc1729f729ab3022a1028f44b54df1e14a626dad684143306766930f398a744a2
+DIST cfn_lint-1.37.0.tar.gz 3089485 BLAKE2B 38e855b82064738895e0f056867bbd7e81ffa20b955d5276de0a50f80befbc52a4337280b7ab39288d31497fa03f68485e484e966c775b750530f7116408cb55 SHA512 05346d7c72c5fae61b5f79b3fc1c0c83b04ce083e534c59ada65bc44258e0e5f72874e09009c52f940c908b7172da34c5bb93b62c366b0aa10ef6bb547aa1c04
diff --git a/dev-python/cfn-lint/cfn-lint-1.37.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.37.0.ebuild
new file mode 100644
index 000000000000..853b42442aa8
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.37.0.ebuild
@@ -0,0 +1,61 @@
+# 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="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.97.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77.0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # different line wrapping somehow
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest
+}
diff --git a/dev-python/cmd2/cmd2-2.7.0.ebuild b/dev-python/cmd2/cmd2-2.7.0.ebuild
index 8616c2cc3fcd..e81c3966c4d6 100644
--- a/dev-python/cmd2/cmd2-2.7.0.ebuild
+++ b/dev-python/cmd2/cmd2-2.7.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc64 ~s390 ~x86"
+KEYWORDS="~alpha ~amd64 ~ppc64 ~riscv ~s390 ~x86"
RDEPEND="
>=dev-python/pyperclip-1.8[${PYTHON_USEDEP}]
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 389493441dac..a1462ede4946 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -2,3 +2,4 @@ DIST ipython-8.36.0.tar.gz 5604997 BLAKE2B 3ba37dc146d0e7fc773fceb3f1e00257e0115
DIST ipython-8.37.0.tar.gz 5606088 BLAKE2B 4cb3a6ae801fcbbf352eb8aaae11a7bc6911a76a816e1ce8845a6f3044fbb888cf49dc7c5a500305da47497ec2341a7abf6ad5fff863dd9175bf6eae2f03f7a8 SHA512 bde7b6962ca59688cb9f1032a2735df428dec41ec531b98488a5a35ef67c09a375973537c10bef7574ad112f3396b056f8a4f754b63712b72b0f9f20ab052623
DIST ipython-9.2.0.tar.gz 4424394 BLAKE2B 3a2830461610d3139b64a848217c82f1d363ea5cadd416119a9ac56ccd494cc21738cfc87e6ac766fff28991ddad6261406e1a68a053b060165576eb1dc4c100 SHA512 06fcdb152ff15e780e182276766527a727d8dfd774e87bf5561005a5006764fd44b6da42e76c3372caa2ac7cfdbe3f083ecb3ed7b5303755d444006255cd80eb
DIST ipython-9.3.0.tar.gz 4426460 BLAKE2B d9d6ec38ab7ee2c4128869cd6fa0518c5df8ed3f3eb1db531099ff753b959a2eb1d872b5c782a017b2f559b460c0121cb951893c54f842cb936f08022eb32325 SHA512 21bd98e7f164bdbb799e0316c56620b0d086af943e28fa43f5d1f4c31064e496b01b47babcf0be4282d12d446362a7c0945a29580078279dc3038c66e8e75cf6
+DIST ipython-9.4.0.tar.gz 4385338 BLAKE2B 20bf17c945ab2c727aa340a500e2f452dadd440ff809e5aea2ebaa0bd146a6bf2103f2435549a0f4b898690e6aceb15850fc2ba92bb9b94d8e084b1f13cb17a1 SHA512 8e0bd35effa6b5d6d17b7903ae708f1db753717b2271c79b6662fc508e003a7b3b510604ed340e6e89a8c84abf7c3718f785eb39d0914b653c47adc999a1d2f4
diff --git a/dev-python/ipython/ipython-9.4.0.ebuild b/dev-python/ipython/ipython-9.4.0.ebuild
new file mode 100644
index 000000000000..6607ca86a9ae
--- /dev/null
+++ b/dev-python/ipython/ipython-9.4.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples notebook nbconvert qt5 +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/ipython-pygments-lexers[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ dev-python/stack-data[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ ' 3.{11..12})
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/14244
+ tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed on ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy? No. pypy has no numpy
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..d12ab8aeaca8 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 99577c43fc3e..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index eea0072aba50..d265a03daaad 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1 +1,2 @@
DIST mkdocs-material-9.6.14.gh.tar.gz 14819385 BLAKE2B ee111ca205746a0c115d2cf455a9a2ca39c1d74425c12ca5e16dee9f9afc2adcc33b67c8b2d51d4e5813b8ee60475718ab8eba747e13cb01c6a43a0fd170794e SHA512 f1e09a6301ed3bddc4ff041b8a96894d07df9169b25e8f65570f8d2457617196a532335be43cbaca6df6b4d46d45d6f1837521a41e17766f03118c01789d4343
+DIST mkdocs-material-9.6.15.gh.tar.gz 14818385 BLAKE2B 5d2d96489563ac750487766492601c7543c500b8dac8528d9b9109b3fa136016649bfe74c4301b3309972bb4c49c86390d3dfe39daef35c141701a912429ed0c SHA512 0dd1b067da1eef9e7a52a0620fe9c19745fa3bf8f8addeba456b934712401a5fb0a29bb7cee05b6b04a25a8377192e3245477d43ed38d2f1c31cdaaaf5d5c230
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.15.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.15.ebuild
new file mode 100644
index 000000000000..b2827a7488c5
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.6.15.ebuild
@@ -0,0 +1,73 @@
+# 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 )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled icons
+LICENSE+=" Apache-2.0 CC0-1.0 CC-BY-4.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ ' 'python*')
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+ # import backrefs only when used (i.e. never)
+ "${FILESDIR}/${PN}-9.6.7-backrefs.patch"
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+}
diff --git a/dev-python/narwhals/Manifest b/dev-python/narwhals/Manifest
index 6e9452334ee4..a95c7f7f3be0 100644
--- a/dev-python/narwhals/Manifest
+++ b/dev-python/narwhals/Manifest
@@ -1,3 +1,2 @@
-DIST narwhals-1.43.0.tar.gz 496455 BLAKE2B c9c22ce77f202711eebfb2628a2828bc0498bad786b7080955860b3e08f2ee344368ab13a32d0c517ce0a826e36ac2b2a2749feedc815f694f241253ea0ae80b SHA512 3a1f85261f11b37b7da16c56fa3ad0edca05ef944a832c540fee8ebc52c2f1bef90525a9bc398cde255f6b4f9f4e6ff63eee09ca9d42b82453192a845b0711c9
-DIST narwhals-1.43.1.tar.gz 496655 BLAKE2B 380ff403907fc2c1fda0fcbd0bb1ef034ae7fa866c9e187f78321ffff1bae52389088a04a6b1559113f58df2660dfcd40928509b58e312747fbd584d202340c6 SHA512 f845ba70b7f11a10dc4b4daee19ab907c9658ea2b4e2711c0cde973325d081de36e89d7d2c068706d43384769cc6063c5ca21cdf0510f8723cf1421f42e04ec2
DIST narwhals-1.44.0.tar.gz 499250 BLAKE2B 24f45150f4d3f58778d4ccfc6bae8973de7352299e11ec12516e1ccd22079199b9bcfb51c5213223906e4afa2e58a09c59166a8fddaeb4f2bd526038b58d8b5b SHA512 6c9d6eefebdec18a18953caf2733c28cd2b5e4c93f5c391fe830787a0fdd309a5a534851cb000835b59ba84563842904cfb4f49fc67f30d2d8f21f3a6fb029c6
+DIST narwhals-1.45.0.tar.gz 508812 BLAKE2B 97096eb26440f64e190fb707566a1641d060df1b5e4f46feff164b8c2db262e78e78756024bdad34018419bd359035bb1ae54b65822c2c27fb05a67b7bdcd186 SHA512 42e8dcb48865356fe63b80306ee3113bb311dfbf1340a075dd541f481735c541564f2d584b29bb89c394469b51a1f25fe5f7533068c0a3848c9321a3219778b8
diff --git a/dev-python/narwhals/narwhals-1.43.1.ebuild b/dev-python/narwhals/narwhals-1.43.1.ebuild
deleted file mode 100644
index 573156bed277..000000000000
--- a/dev-python/narwhals/narwhals-1.43.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 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} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extremely lightweight compatibility layer between dataframe libraries"
-HOMEPAGE="
- https://github.com/narwhals-dev/narwhals/
- https://pypi.org/project/narwhals/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.1.3[${PYTHON_USEDEP}]
- dev-python/pyarrow[${PYTHON_USEDEP}]
- dev-python/pytest-env[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # make hypothesis more forgiving
- local -x CI=1
- epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow"
-}
diff --git a/dev-python/narwhals/narwhals-1.43.0.ebuild b/dev-python/narwhals/narwhals-1.45.0.ebuild
index 573156bed277..2ebfce13d84d 100644
--- a/dev-python/narwhals/narwhals-1.43.0.ebuild
+++ b/dev-python/narwhals/narwhals-1.45.0.ebuild
@@ -20,18 +20,16 @@ KEYWORDS="~amd64 ~arm64"
BDEPEND="
test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
>=dev-python/pandas-1.1.3[${PYTHON_USEDEP}]
dev-python/pyarrow[${PYTHON_USEDEP}]
- dev-python/pytest-env[${PYTHON_USEDEP}]
)
"
+EPYTEST_PLUGINS=( hypothesis pytest-env )
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
# make hypothesis more forgiving
local -x CI=1
epytest --runslow --constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow"
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index 2b8cc0a12e7f..e97fcd4b063a 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,5 +1,7 @@
DIST pillow-11.1.0.gh.tar.gz 46815201 BLAKE2B 7990683c90359e0a72e17a13e1a29455bc3ace8ce3616d6af59360edfc1ac87541bd1fd6967160bd8d7dd25cfedfc9d2e9b058c3ed433a6208379834f15bc312 SHA512 bb0622fae0b9c3903ddd945dced8e2b94348b2bd06c14bc74da00d8aa3a795aab2daaff39ca6c40b712dcce4f10218cd30739f0eb616c9dfbc16efcf80886f1e
DIST pillow-11.2.0.gh.tar.gz 47097571 BLAKE2B d59e87e7249e7a2b64dd420702d08f6da1d29d91fd32d7043eacac7c5cf33e4cef6d378545454bcb460ea1ae49052e2e684335966e00f6003e018e9241ad50eb SHA512 4ab01472accb056ef48feab6c945a3792b622053c1dc166daf0095597a2df846562ae5ee56e66e595d65e76e7b7bfaf3d5b0cf7847777603a1abdc7af135ec44
DIST pillow-11.2.1.gh.tar.gz 47086538 BLAKE2B 306c3f4292681caea75835dc972229854e12260190f7e7b63ad5292091fcbb28a16fe102c9b2359fe72b99ad97821fa37715f5934bfe79a983efa81b07abf2a4 SHA512 4b5eee712b6cedf175e251ca29bb6e6dda27491585d343ef71ed416819e91510c4add6be50fe1151ab5f178f4686968de111beff4143a978b7a32519293a5725
+DIST pillow-11.3.0.gh.tar.gz 47173056 BLAKE2B 1260c7025e6013c50782024756a0c891d3735bd7d4c1c9d0a89d9eb1c94bd2f762369086f7269d487100e8a0e2678a73012bf29172697c1a1a18e58f9019a9bd SHA512 7d97e623bd41da94dd89a66dc600cea016d0a4f33fbf036175768ea96b2031c1968acf4fc3d9b2835ce93f9533838a9ce68a6579a7397f4aeccafb6032adb3db
+DIST pillow-test-images-7077675d2cda485d63de4aefe0fefbf6f655c5a0.gh.tar.gz 57430276 BLAKE2B 6e8dcde60832004f5a0ea0e14024fdcd0b08cf0e225f27e39b7c2058582d6d5efe7fcaccb5bd28754affa6fe4125735fb4beeaa2075e6aceea0a998ebc0747fe SHA512 795f015c9b73a8c941fb5cd880b1ab36b24d38612db53367ab0e6c05dd1cdbfd47034decb7e36d7de940eeea1582d644ca7bee3b131577578692569c2c60c32b
DIST pillow-test-images-716bdc4adaf97601e5b9a31c9be25f8975381ee1.gh.tar.gz 57416881 BLAKE2B 8ea5fff2231567f957fc911120c1b50610722477da99559639317e4513e4bc4e73b8b49368a6d95c6938333f0c48db7672c3713eaef70494f7896dadd07cc42d SHA512 b00009be0f5ca85ec0c761fa780f0e650c1877b456b9a9426a4d2300a0c5654358495299e129ded411fccb641e4add7e460bcb3ca7be055f3b207407ccefb33c
DIST pythoncapi_compat.h 61109 BLAKE2B 9b8d9f774a6803dee73aedc5465519f2956c284bf70314f5e046d0d5522a10891bf55358a85fea5a156d4063736424c0f019bc71dd18592bbf56c364db7b6bce SHA512 d0ca43186fdc3cd8d0e993135b50fc86eeea05e8b84cba529d89f60ce28bc9502f8d3825eb508be5d68d1fbfc53423a69756c0e79fe0fe7adf94c602b1cf79ff
diff --git a/dev-python/pillow/pillow-11.3.0.ebuild b/dev-python/pillow/pillow-11.3.0.ebuild
new file mode 100644
index 000000000000..02b35a4e9028
--- /dev/null
+++ b/dev-python/pillow/pillow-11.3.0.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# setuptools wrapper
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+# upstream always fetches from main
+TEST_IMAGE_COMMIT="7077675d2cda485d63de4aefe0fefbf6f655c5a0"
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="
+ https://python-pillow.org/
+ https://github.com/python-pillow/Pillow/
+ https://pypi.org/project/pillow/
+"
+SRC_URI="
+ https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz
+ -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="avif examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ avif? ( media-libs/libavif:= )
+ imagequant? ( media-gfx/libimagequant:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:=[jpeg,zlib] )
+ truetype? (
+ media-libs/freetype:2=
+ media-libs/harfbuzz:=
+ )
+ webp? ( media-libs/libwebp:= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-77[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-timeout )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7634
+ "${FILESDIR}/${PN}-10.2.0-cross.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ if use test; then
+ mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \
+ Tests/images || die
+ fi
+}
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ debug = True
+ disable_platform_guessing = True
+ $(usepil avif)_avif = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+ if use truetype; then
+ # these dependencies are implicitly disabled by USE=-truetype
+ # and we can't pass both disable_* and vendor_*
+ # https://bugs.gentoo.org/935124
+ cat >> setup.cfg <<-EOF || die
+ vendor_raqm = False
+ vendor_fribidi = False
+ EOF
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO (is clipboard unreliable in Xvfb?)
+ Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
+ # requires xz-utils[extra-filters]?
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
+ )
+
+ case ${ARCH} in
+ ppc)
+ EPYTEST_DESELECT+=(
+ # https://github.com/python-pillow/Pillow/issues/7008
+ # (we've reverted the upstream patch because it was worse
+ # than the original issue)
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd
+ )
+ ;;
+ esac
+
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ # leak tests are fragile and broken under xdist
+ # nonfatal implied by xvfb
+ nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index 813d722af665..837eb29b849e 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,2 +1 @@
-DIST plotly.py-6.1.1.gh.tar.gz 10090780 BLAKE2B a7ce3f7380346f12dfb129aca63284efe7117794aaca7d12142f58c195adfe5265ee12edd2e948eabcb8fec2bf9c926ecf866b9888e397930cb3971302a0a1c8 SHA512 a7216a4e495d9da1bfab65922d5666445ea55de00d1030449eb45ee3e3a90d12ae51724348c8e51cd5b76c41436919124f95daf75d3bab89e186fdf317af2580
DIST plotly.py-6.1.2.gh.tar.gz 10193925 BLAKE2B 21daa8e49c382bee311ebf4e976b233992d91d011b425e2294f7ce211c33a3c1113d23f4c5230ec6a8eb84e954ab035bc505f722ae3acfc858a0c9aff8740234 SHA512 bb614105fee5660bd1e530f3bfa361bd2d5306145d0cf8a9bac69f893f73d9754dba0b7edacd1f75d9734820a7e1f2f5ced9f0ac77c1265c621f89a37206a089
diff --git a/dev-python/plotly/plotly-6.1.1.ebuild b/dev-python/plotly/plotly-6.1.1.ebuild
deleted file mode 100644
index 8a60fcc5032a..000000000000
--- a/dev-python/plotly/plotly-6.1.1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV/_}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/narwhals-1.15.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scikit-image[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- )
-"
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # requires polars
- tests/test_optional/test_px
-
- # requires kaleido
- tests/test_optional/test_kaleido/test_kaleido.py
- )
-
- local EPYTEST_DESELECT=(
- # requires polars
- 'tests/test_plotly_utils/validators/test_fig_deepcopy.py::test_deepcopy_dataframe[polars]'
-
- # require anywidgets
- 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget1]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget1]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget1]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget0]'
- 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget1]'
-
- # minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # fails in non-isolated env
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # TODO
- 'tests/test_plotly_utils/validators/test_colorscale_validator.py::test_acceptance_named[Inferno_r]'
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/progress/Manifest b/dev-python/progress/Manifest
index b7d992b9b40e..45dc8227eab9 100644
--- a/dev-python/progress/Manifest
+++ b/dev-python/progress/Manifest
@@ -1 +1,2 @@
+DIST progress-1.6.1.tar.gz 7164 BLAKE2B 94d58891b82bd8b510e15c42232221c6aac694d65a05716b7baa6be54d73dcd25ebab1ef3399dde91673a6c28ce2174627a707429626f2aa3a59ee61a4c8f400 SHA512 77699f6d901f6ce80de20b8d1aa5046db32aef7e26c2e834ff9ee0db6e9242fece48373a7d4a4de946eb73dbf901ccb595755cc06a48efe7ce60d84d17e18454
DIST progress-1.6.tar.gz 7842 BLAKE2B 102f1ac481b5d5007d72b02f5451ad4bf7ef986be35034f68fc94108025ea274494d3d9fe56b9473c8ea6ca4abc2cfc458b453550d180fcf567f8a5c5feeafe6 SHA512 58a614bba5a7273a42ba5e9607b3a965fec17f26a4f24563d4c13679ea32b23dda7509c5da81a2a34bebeeedd91154d0457ab8dac95cc7a092add2567249cc94
diff --git a/dev-python/progress/progress-1.6.1.ebuild b/dev-python/progress/progress-1.6.1.ebuild
new file mode 100644
index 000000000000..e4c5f88b76a2
--- /dev/null
+++ b/dev-python/progress/progress-1.6.1.ebuild
@@ -0,0 +1,23 @@
+# 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 pypi
+
+DESCRIPTION="Easy to use progress bars"
+HOMEPAGE="
+ https://github.com/verigak/progress/
+ https://pypi.org/project/progress/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" test_progress.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-xdist/Manifest b/dev-python/pytest-xdist/Manifest
index 3497bfcfe112..fdeba83ceb3c 100644
--- a/dev-python/pytest-xdist/Manifest
+++ b/dev-python/pytest-xdist/Manifest
@@ -1 +1,2 @@
DIST pytest_xdist-3.7.0.tar.gz 87550 BLAKE2B 14a95cdc4275495cc5f5a4c3f0ce3d641b0cd043bd713b49e36b2a8c47cd3cc7d725f7c24f1394eb796df604fc0f1aa0f8a24bd243af80dc1bf2bacb685f98b4 SHA512 5c2287a29d2052544a1374c552fd0113841611a5dbd76aae5fc8cf990106734468e73df5c6fffb2134d226fa2e397ea11d505ac57493ac497dcc1f277905586f
+DIST pytest_xdist-3.8.0.tar.gz 88069 BLAKE2B fe1c06b937c7c08535949c026e15af046e41d46601c6fc79a56f586b8c88737b9e13af692ff270f0019c17fd47283e50f34f5567e0c2a71603729e2503e61fec SHA512 fedea555be872afe09409cb1a2a3e5c183efefacc2f0eb6edeb306b855ac0ebd1d0b0063186c8c434410c0c35a178f5a80133d7f4b48ad71a4e4e0110315396b
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild
new file mode 100644
index 000000000000..a41b9831d2ca
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.8.0.ebuild
@@ -0,0 +1,42 @@
+# 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 pypi
+
+DESCRIPTION="Distributed testing and loop-on-failing modes"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xdist/
+ https://github.com/pytest-dev/pytest-xdist/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/execnet-2.1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ # force loading necessary plugins in subprocesses
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
+
+ epytest -o tmp_path_retention_count=1
+}
diff --git a/dev-python/rich-argparse/rich-argparse-1.7.1.ebuild b/dev-python/rich-argparse/rich-argparse-1.7.1.ebuild
index d1beb9167088..4c651f2bab85 100644
--- a/dev-python/rich-argparse/rich-argparse-1.7.1.ebuild
+++ b/dev-python/rich-argparse/rich-argparse-1.7.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc64 ~s390 ~x86"
+KEYWORDS="~alpha ~amd64 ~ppc64 ~riscv ~s390 ~x86"
RDEPEND="
>=dev-python/rich-11.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest
index d10d94ce5ff4..db75774e68b7 100644
--- a/dev-python/rpds-py/Manifest
+++ b/dev-python/rpds-py/Manifest
@@ -16,20 +16,14 @@ DIST portable-atomic-1.11.0.crate 181258 BLAKE2B 627bd7c306f6c4d7991abd9f995b7e0
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST proc-macro2-1.0.95.crate 51820 BLAKE2B 93229d80556ec03bce4031607d13c7902cacc2d7e2586a692ffe8543d52e3f3ba253c9c311ddedf6d9348ce8758ae8ff64577675cda2dac557f936a328de47e3 SHA512 f78e4d47ecd29c1b2315554705e445507bbfb9449afd0bf1b74df28f266ac6382ca8c3ce135ddc55c989eaee64d1794a0933a941c8ff55f543fa21c400016547
-DIST pyo3-0.23.4.crate 1087676 BLAKE2B 2c7d3530460ff687e8f60dcff0fb01465b2a4642043ebdfc927fc3824b9fbce9c4b304250808a85405d21df12d17a1d1ada7bdf8f3563710692f22223e2732f1 SHA512 0015aa75163ad0ec026d185e15c26f59aaad0eb3cc3044b146e5d703bb375fcd838df2044febbd52e6e129dfba81c8249329fc3e4805695274dac7a69eee0651
DIST pyo3-0.24.0.crate 1108432 BLAKE2B 03098e1ed1f2bcb489ab5fbaf2605631f75804ad138591ae88975c287b8e7544e5f70ef7e3261625075498ac00545b79f6c0b5aab3bcdee2897cbbfabc3f7e87 SHA512 2b9be3cc780c48198ccad08c304053c5248d7c3b7a32e8a3eeba48246b962aa71cbf31ab8c49cab9b555933cccd447412761017b477019a35dc2598999fe63ad
DIST pyo3-0.25.0.crate 1120850 BLAKE2B 6f373129d032e6980d058ec5dbfea58a7ce0cb8ed2b32aa852a14746cfd3a541b02286676c934a5d7f7bc1bea03e986e93e44de42114f7620b487977c0092d85 SHA512 83336d284eefdef5bc26dec4880e21c608a001b4676b3628eb59b7c0011fb672ca81fca035666b714eeb158809064f9b5b0720802045d5ff8fc9f6af02813c30
-DIST pyo3-build-config-0.23.4.crate 33885 BLAKE2B 7f95a8a9e08d413899ff1fa64af5a52783bad4a7b4db92835464f12bd8565f152497aaeb45d25cc91eed73950abeea30ca4c7495e3b15423ae588b97038beb18 SHA512 b11442609f43d9baab79daf083caf0366987f6ae182239814ad6df6fe4ad31b95132d74f1162fa9428d229bd8c18ef9b696a4c3329b3960fd705d1705fc5e973
DIST pyo3-build-config-0.24.0.crate 33982 BLAKE2B 7972eb69fafdfc73ab7e2ef65498a05a5eeb122e332d10db9990d1a7849fc651a9179fa7dba71707150b005258a7f32fe711d7068fac5c5ca071abdb10bdb55d SHA512 f1f571ead6731d1d775210a02df5ca8ef850460eeabfbe04552403477f9d656eebe25a8833ea03b2e2bc7080bdcf9c6ce3b2b3f9b0f746c316ee31b11b5a2365
DIST pyo3-build-config-0.25.0.crate 34122 BLAKE2B ba098ff1c963c43d0cd1fdfaec43573ee0d9afff7cc010b7b371504ab66e1fec9233bab04c8c7656c382366d622589d0d5e865a8a271c68a9831ca657b49fcb9 SHA512 f6580bcc12bf8235bd8bdc09908f861645adfcdee31cf88d6443e628601bf3107c1d823c09dacb8e1bdaa171ae49f15e19811b9752600b799a4e86cdea081d40
-DIST pyo3-ffi-0.23.4-pypy3_11.patch.xz 2140 BLAKE2B 29cf1a3b340241bb323192261b11a431a0b78748819dfe05683ce51c18fb53b5e9394fd4269197475d467f6be82df1fdc92e45450a1e2416ddd459bc00174b6e SHA512 43da84518b24022b82314fc509e8125ad6a9e5c47f8e2eb20da2fa38631719759ce821253a62bdd9fc3fdbedf798e9a37168c39d913570a6cfc53aca3ec0eedb
-DIST pyo3-ffi-0.23.4.crate 74806 BLAKE2B 650784d46347c00f09c010c39e9762f778efc510ad0b99b5ddf30cab18edaba552207339ad44ed4ae6d87ddfcc56fa540a17e3a4cb331905a0988d5ba2dc682a SHA512 c12097292b4620f4fd98d61fde4a0f0c7d423a94d518fa5b1cf759089b066fede6d83e20171acc2aa7bf268de5700c9b59da32131216734626b0fa5cd5651801
DIST pyo3-ffi-0.24.0.crate 76274 BLAKE2B 2f5873a9b2e6bb6a420056a2cfc063e6e04c184bce58a39498307730aa5e061f277de6e805a70ef2448d4473b0bf32e8413c281438464391ffce457749d43c91 SHA512 2206cfaaa157ce7ab7b480823af0f96524e9d78abab1b042c00fd74f872a8df9e9014a3ab1db28492b750e8ecc8150f6519c3190b7ef297837597b72b64f999a
DIST pyo3-ffi-0.25.0.crate 77991 BLAKE2B 0474051570bf71070eab2578e0f9278327ccc48510419d292a81887fffad753ba434db6b795536512a688426eff42ea9805f99b1a3237ec927f6c731033850b2 SHA512 e03cb71493c898408a0692ba7fb4cd704e48c307f5115159f3375fae879e46f5cd7536325d70e7dbd3aeca8ea282a0fb5b5ac609bc807e8b9cb6abbd3a9a2ca5
-DIST pyo3-macros-0.23.4.crate 8852 BLAKE2B ba5722fd52e47aa4dc2e89bacd69326bd98943a1670ebeab08a2e9e8070a0975ebbe928a0bce8b53a700b65294fee2b00d2a1e6623a0c48ac15902cdbfcb7a97 SHA512 c36c9005db5a4b48b5fda881130f4e7da8eef46e2c363c395ccca3fe476e0204d98c2a832cd03c787fb37a2664fadd42bf8f47de71eb44d055754ab5766af934
DIST pyo3-macros-0.24.0.crate 8850 BLAKE2B 7470b3c8af49c3da5da979a08051d549255ed2bbf1e77e2e186ed43daa832ffe51c28c732e5d390effb8662f66c5c138a517a07cd0e90a73a4476e9d018eefdd SHA512 e949224b6ff3368f4594eb946859afd777efc43ca9fd436e176eef9d4549bd7428d04cee55ea8af02c8cb066dd9396a405de5ee6290a966ee52a0f1c64fd2749
DIST pyo3-macros-0.25.0.crate 8876 BLAKE2B 09c37cc5bdaec6859461a7bb4d1c28d0ddd77a448fb5097275fe7be373897900e2dcdb1c43eb4cc915e1089ac1204f4a7155c4b69478b0778e179aded1449ff0 SHA512 ee1218b6981d94a228bf55f31f0131c094728b12c19b312a77386cace2c4768ad8fc8a1a1999bf27c6a30012e20a1eb7a574d918ccacc421930c12cb1a6386ef
-DIST pyo3-macros-backend-0.23.4.crate 70912 BLAKE2B a428c732f0b17d9a8f620d0e8d58469f2cba339c8a8307393ce252a7860808e5d50e6bbf711cafd0635c844f4b1d48e57db4dd99ef7b5e3d97d6f760164278e9 SHA512 2fe670fbf35724f489cc82f38d3f7c1e6aa15b087a2674b7a68b562572f9bb00cbb7746cccfcb62d0861a18f6d24c5739273c8302d1662a161142f4a6b532b6f
DIST pyo3-macros-backend-0.24.0.crate 71998 BLAKE2B d3cd57fdf2a8b0f750d8f00fa36f32b95f9f13adf9453e0823fec0791ae99af018db6e596205ff9f9f555489cec024e23eb19c53379c09381c0cb209d8a5a695 SHA512 58b06343fa03b2b7aacdafcf219865bbb5b80cc2b28fdf16133a7d43fb7723cd83718e067bf6e01f96b94738bb83cda87d4ac2703d8d59588708d938df8e66eb
DIST pyo3-macros-backend-0.25.0.crate 75089 BLAKE2B ea4d87e16616782c60f46f97d87a002ea2873a2ab6f7335da68bab32d636988fa30834c946943d4c56c6e5992c78ba6dc2cf8b613c2a402218599ef3e7a6c5be SHA512 dc2e567a09e746893d7cea57aa456124df31b1e3cb25f5b1fabdc97cd2ae73eea1d57aa642268bdbef3dc1ba0e383893d1b5dfd9cf1f3e818f77b9fc0ef2c486
DIST python3-dll-a-0.2.12.crate 83731 BLAKE2B 2ae21b085e7a7aae2c17584fa5feacfe35e974f1bf96673027cb6b6f382241d115df7c9cd009b0346840b6366163c08a62e1695b0834385e182d250390e446e2 SHA512 4d9860f7ecf689b8e5c865f4f2d2486baae0d6765ecedef08234973e921461a3af56f007dce178de6539053eab28dec0870c9f110c3c66dbf7b076e18d2e1fd7
@@ -38,14 +32,11 @@ DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d
DIST quote-1.0.40.crate 31063 BLAKE2B 09036ff3e5ebbd775c466bb936de91d4c070481eb4b98c62a4cddcda57cd7b67d63f979b321f6ec64aabee3f5da6c28e7a3efb83f4647768ba578f1bd0bd0bdb SHA512 45a76e22a2b0bec47e4ba73c3b73cc41d821dfcce9876134c5d8eed514da214aee4ce7612e372c8709f888c0d8b9b7e5442f27adb7a59f3571f0339ed7e2ac99
DIST rpds-1.1.0.crate 69493 BLAKE2B f2d02c758de1abd46ff133965e0491a0276e4a95be5b64b6c83947bf8b3718896781eb96cf96d4abac84aba0c7caaa5e95abf1364ab2ffd65d573d0af212e058 SHA512 b24640e34c2f88ecfff5efb1581941eb02987bb7b342dc439513e8d7c8ee0afa63949f8dee09bf8f445ec6f3b3ec22d2927d3d03be05fee3c651b29c924a6b3e
DIST rpds-1.1.1.crate 75894 BLAKE2B d53d2686f3807331203213469b7558bf9db82d3ace76979ed5f019a9a81b3b923607698855d9eec584a59f967ff429f5b125d2e3c1d30bcb089b12d6e5764600 SHA512 21624cd1716945475be938632260535842c5f8220662c9eb31e39440a5e90741551d7cfa9581de2cfe736cacc70ccb0742c98911bfb8e108197638fa51768f85
-DIST rpds_py-0.23.1.tar.gz 26806 BLAKE2B 33b871bf5c849d607662279182a69f8ce20b377ca26ab4b21c7c12436972a9c2b6a76448db4593ec13cf4984828a3166737e6b4861105981ed3cc056666ae75b SHA512 c3130ebe5b259cf3f2bb26d2e8f1da404cb024e0fda81c4720d3ab55ac18865646865e465475328ee6504b646bed38c27ba20b9c169392a12c3f25afb428472a
DIST rpds_py-0.24.0.tar.gz 26863 BLAKE2B c248b74cd698ba66c73e97f5b4471833b020fab56261877693e98c262e7fe59e2f31f24ca2b8b9317a82303f0f9d41a3cfcfcc718b215c681181254121646c17 SHA512 dc11c2056f049039ac4afde50176ec3ff439b6a7f1caa90e89d387b68464f0e8541bdd13c84d3616439a46e18e7259f1aa37d3d14252da2d712b302fad2da91a
-DIST rpds_py-0.25.0.tar.gz 26822 BLAKE2B c969c3fe7db6c20575eca9b51b1b6684460c4c98ab902b86664a715b28b23c981a1e6f07f4820d7577e639127bc7aa8e063dfb47aef9aa2898a5ef6296671ee0 SHA512 267b72f84a77b993d7797d6d37e7b49dd450399bd1a9f83c71ddd1d51abecbffc43289cd41c72ae24f19d5909ef57ae2b9625624adc29a738cfc055dee1631d4
DIST rpds_py-0.25.1.tar.gz 27304 BLAKE2B 4ca27f7316a95fd5cd8da3e863596b5637684e270f042c77b25770b3f708c9d2dacc4678825a1b3f713c7662bb512f09867ef2e5593171f15eaa6378cb7c2cfe SHA512 f628e36848ec247de6c9df2c5b620137842853bae0f2d2552269552822d0a1f811d531d9b61768f7e89cbe99de8e5d637912ad680d29b1f95704114bac453591
DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST syn-2.0.101.crate 299250 BLAKE2B 7018cdede66dca82e7d7a7e07e52a178687957fcfd69f1a2862094497d2fb9d78ada14b94761679bbc5f6c76c808a63e948ed071e4f65c2f9580a40bf58c9426 SHA512 05e4233a51f4d229dd4c9bd23c5224c42ec5554d02fd316dad10dfdb876aa1d379c7ea30b1ace979537da91ee746ca4fdcef7690885f83fd41ec8c9dc5984101
DIST syn-2.0.69.crate 265441 BLAKE2B b01576c2c86426d2bbb2c9553dc1dce6a309d9922c35167ee6a718ad08cf3d0a22f0aed4d4c547cdbed85b47283e5b60a128fd1bbb230a6687f0c28af3a9c228 SHA512 fddc0f1ffa3e68ce57833c6ff18382296838287dd98f9f77f679ced471c3f801af30376363a870232f337bda27b3ba6ea93074f8e3c05ee390bcc024e3690bea
-DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST target-lexicon-0.13.2.crate 27923 BLAKE2B 0761f0ffdc23b9c9df86b384d59611c7b8b5e29ff068f03367ad2fe84cfb6d11e1af149b9338236978e9566fedc51387db9f239d2a602db41045ac3db907faec SHA512 d25e3cc3d679cb6b6f24c03e0c24db9d6ca31b8ed42ac9531bd7637557fbba225a6c8ac4f68a8eaf3569195814d599e668a968afbc73b940a77cbc27552cc90a
DIST triomphe-0.1.13.crate 29568 BLAKE2B f0450292e3a4c2df6b400621bada57c099e5779cd3659c6171e452b552d2acaedbb2c0cd074c8f2144fbba9dc095648ba1c43a3fdcfe6fe3e01efe2561f6971d SHA512 e8364bf262d41aaf23de5c519c0303fd6ad928d8691843c7e0eda26b530c746c458837b08421559c50edf1cb8b9a2a216d7c32f5ea50be1543a2dec2cc60dd6a
DIST triomphe-0.1.14.crate 30292 BLAKE2B 4eb36f133bc12afebcc099134fcaffe7c35814c41f223a6a234ba50eacee3d7d0076cfad6d8b8600fb8fc20b43020c890ac34dcbebe42780f643c29c3198ffba SHA512 43deb9f52ff357a922b3b9a00a3f6185074df0541e0f8163bbaafb11d30e1a48326277545af99224217dd4f1a4d774031382f72b538db014aa58b5361ce3236e
diff --git a/dev-python/rpds-py/rpds-py-0.23.1.ebuild b/dev-python/rpds-py/rpds-py-0.23.1.ebuild
deleted file mode 100644
index 0767658c8d59..000000000000
--- a/dev-python/rpds-py/rpds-py-0.23.1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-CRATES="
- archery@1.2.1
- autocfg@1.3.0
- cc@1.0.90
- cfg-if@1.0.0
- heck@0.5.0
- indoc@2.0.5
- libc@0.2.155
- memoffset@0.9.1
- once_cell@1.19.0
- portable-atomic@1.6.0
- proc-macro2@1.0.86
- pyo3-build-config@0.23.4
- pyo3-ffi@0.23.4
- pyo3-macros-backend@0.23.4
- pyo3-macros@0.23.4
- pyo3@0.23.4
- python3-dll-a@0.2.12
- quote@1.0.36
- rpds@1.1.0
- syn@2.0.69
- target-lexicon@0.12.14
- triomphe@0.1.13
- unicode-ident@1.0.12
- unindent@0.2.3
-"
-
-RUST_MIN_VER="1.77.1"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
-HOMEPAGE="
- https://github.com/crate-py/rpds/
- https://pypi.org/project/rpds-py/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
- https://dev.gentoo.org/~mgorny/dist/pyo3-ffi-0.23.4-pypy3_11.patch.xz
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- pushd "${ECARGO_VENDOR}"/pyo3-ffi* >/dev/null || die
- eapply -p2 "${WORKDIR}/pyo3-ffi-0.23.4-pypy3_11.patch"
- popd >/dev/null || die
-}
diff --git a/dev-python/rpds-py/rpds-py-0.25.0.ebuild b/dev-python/rpds-py/rpds-py-0.25.0.ebuild
deleted file mode 100644
index ecd3ccce46f4..000000000000
--- a/dev-python/rpds-py/rpds-py-0.25.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2023-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-CRATES="
- archery@1.2.1
- autocfg@1.4.0
- cc@1.2.22
- heck@0.5.0
- indoc@2.0.6
- libc@0.2.172
- memoffset@0.9.1
- once_cell@1.21.3
- portable-atomic@1.11.0
- proc-macro2@1.0.95
- pyo3-build-config@0.25.0
- pyo3-ffi@0.25.0
- pyo3-macros-backend@0.25.0
- pyo3-macros@0.25.0
- pyo3@0.25.0
- python3-dll-a@0.2.13
- quote@1.0.40
- rpds@1.1.1
- shlex@1.3.0
- syn@2.0.101
- target-lexicon@0.13.2
- triomphe@0.1.14
- unicode-ident@1.0.18
- unindent@0.2.4
-"
-
-RUST_MIN_VER="1.77.1"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
-HOMEPAGE="
- https://github.com/crate-py/rpds/
- https://pypi.org/project/rpds-py/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-3.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
-
-export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
-
-distutils_enable_tests pytest
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 2139d11506e5..26e35d1ef494 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -2,3 +2,5 @@ DIST sqlglot-26.31.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df
DIST sqlglot-26.31.0.tar.gz 5341968 BLAKE2B 82db65bdfbb59ed62ed7ba381325121593d70d5a0a4d4c4b3bdc2d161250342794b52c062aafb8c50592665154e1b858df01dc0501e13817eb96c4e908166295 SHA512 d1308a0c14abbea57bbea2f40770efae495b4bd4f74d09b1aaed73638d0213adb8ad87c998f11f7edb25062e617cea9954f312000be38b5ff88f05f7782ae5af
DIST sqlglot-26.32.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
DIST sqlglot-26.32.0.tar.gz 5352453 BLAKE2B f17af9424a70b96755ea281fb829b5749f1ebf83d653c122cb5406de5bbcdf5b170bb2a17cd1770db87aa10127759b403f472d7139f19487fde1a22ed07fb87b SHA512 d13f79f324c3d76c97b2f5110dfe2de6c6ecd128eeef89dfc461a75a0bea26f433f6520c4c36c7488743faa2d42758539c0fe7f6daf703ab2da14607e046a01f
+DIST sqlglot-26.33.0-crates.tar.xz 8859792 BLAKE2B abb2051b392c53dc3caa705ddd8df7076819a26dcdaa89fa3760559a79578db01e86943c2d0ffb8006263c2dca3aa50d20023eae9d772f8ebd12a8a2d3266cdd SHA512 7cca439a06433a62bcd4a2af33d240f46e9b5240cc158edbc654efb37a464aa0f1ebbe9749b2fc6352127b4809b63af2341fac6240050c414e578ae99444ba5d
+DIST sqlglot-26.33.0.tar.gz 5353340 BLAKE2B 18ace866ec89ced24911803497e8cb5c55fc6c157bf62b893e90df914b8be3360403ffff67f196080cdef9b9b9078b86d471494ae9768e7947a8b4d5d39e49af SHA512 df38e899d59bdd07aca0e5370833133308f9c5be4d0c990bf8112a48776fae034b622938aba968769aa5dc5e2957d56da48c89045b91b2d33783e6e25acc4a7b
diff --git a/dev-python/sqlglot/sqlglot-26.33.0.ebuild b/dev-python/sqlglot/sqlglot-26.33.0.ebuild
new file mode 100644
index 000000000000..aa0c5230423e
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-26.33.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.3
+ anes@0.1.6
+ anstyle@1.0.10
+ autocfg@1.1.0
+ bumpalo@3.16.0
+ cast@0.3.0
+ cfg-if@1.0.0
+ ciborium-io@0.2.2
+ ciborium-ll@0.2.2
+ ciborium@0.2.2
+ clap@4.5.23
+ clap_builder@4.5.23
+ clap_lex@0.7.4
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ crunchy@0.2.2
+ either@1.13.0
+ half@2.4.1
+ heck@0.5.0
+ hermit-abi@0.4.0
+ indoc@2.0.4
+ is-terminal@0.4.13
+ itertools@0.10.5
+ itoa@1.0.14
+ js-sys@0.3.76
+ libc@0.2.169
+ log@0.4.22
+ memchr@2.7.4
+ memoffset@0.9.0
+ num-traits@0.2.19
+ once_cell@1.19.0
+ oorandom@11.1.4
+ plotters-backend@0.3.7
+ plotters-svg@0.3.7
+ plotters@0.3.7
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.25.0
+ pyo3-ffi@0.25.0
+ pyo3-macros-backend@0.25.0
+ pyo3-macros@0.25.0
+ pyo3@0.25.0
+ quote@1.0.37
+ rayon-core@1.12.1
+ rayon@1.10.0
+ regex-automata@0.4.9
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustc-hash@2.1.0
+ ryu@1.0.18
+ same-file@1.0.6
+ serde@1.0.216
+ serde_derive@1.0.216
+ serde_json@1.0.133
+ syn@2.0.87
+ target-lexicon@0.13.2
+ tinytemplate@1.2.1
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasm-bindgen-backend@0.2.99
+ wasm-bindgen-macro-support@0.2.99
+ wasm-bindgen-macro@0.2.99
+ wasm-bindgen-shared@0.2.99
+ wasm-bindgen@0.2.99
+ web-sys@0.3.76
+ winapi-util@0.1.9
+ windows-sys@0.52.0
+ windows-sys@0.59.0
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ https://github.com/gentoo-crate-dist/sqlglot/releases/download/v${PV}/${P}-crates.tar.xz
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ local DISTUTILS_UPSTREAM_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index 828f9c55e8d5..50edd0531a1a 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1 +1,2 @@
DIST stripe-12.2.0.tar.gz 1393146 BLAKE2B 0893d370a8660cd65ad060185e4f48cbdcee8f1d241b835da32545c14f7f6c6b4ab66382504d818080a78f3006a2c5a54245a036173cafc1b0417d2b4044d2c2 SHA512 9ed7f7b5c817386ffc32c5e9e6e4652e322f119ef5d111b0bb6b08314e671bf95ea5c866dcfcffb80acb7ce6a8bed2af5e608bc5bbfc816d7a0811fdde4956ce
+DIST stripe-12.3.0.tar.gz 1407878 BLAKE2B 309c5732624fed061baec3f1ab8726ca69f5985c97a4ba98d15ff04ebb1f8b17f0ca638f946abf13812656b056484749c68b52fca4e3a142aa1a7d0c7f1e3423 SHA512 d0bd6fa26c8948818f7ac4e846afd7c1df9af8e0340415042301cd6d78d1019ad0c9341e5fd7f385a9d638ee04a10590fb53e753dad67bba3c7f383e25b57c35
diff --git a/dev-python/stripe/stripe-12.3.0.ebuild b/dev-python/stripe/stripe-12.3.0.ebuild
new file mode 100644
index 000000000000..13e57e4adcf1
--- /dev/null
+++ b/dev-python/stripe/stripe-12.3.0.ebuild
@@ -0,0 +1,93 @@
+# 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 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.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.194.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
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+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 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"
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index 0f753b1ddada..615844d35bf4 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -5,5 +5,6 @@ DIST uv_build-0.7.13.tar.gz 310547 BLAKE2B 37a07d3aae9e5c1a1d8c187157473ab4c0bc6
DIST uv_build-0.7.15.tar.gz 309520 BLAKE2B a8d629b77b599f186a9d61052224bd71dc35d7f34fe4a5b668649371e417da6b36b3f8b41bc592ab97c97ad61b7de87a07cca1e2b6f429c5cd8cd4ffd34cc56d SHA512 39dbd2f3735e896dc270e7afb734e47487669719b2a6fd38ad4242542638f60b2ed750978f047dbc6435949fca94fb1126dbef45f1c785e4a4ef0fa0132b28f1
DIST uv_build-0.7.16.tar.gz 309576 BLAKE2B d358ab8c0b90e07162dc8d1550ba79948cb2d86633ccfcd8509ba4f0aca8c9d4da4140958297fd0bdc4240d009de34416bfa3cdeb96f53574ef6f7c91bd71cfb SHA512 b3a115491ec8d522cc93071bdc58b4f40471f0bb27ba9186b8c7d111d069ad3276448d17baba409f7dd4f446978880faca1c137f376907f4ad201649f64df4c8
DIST uv_build-0.7.17.tar.gz 309375 BLAKE2B 633c0e4a325a674aa46cc263cb8dbd653268d8dd61fff41dc022ddd13f35046bee3fb055c778a25a88b147e23d7fc41ede2a73d906819de97a1e911e00b258ef SHA512 433484666d7734a5086556a0f0eff92e7b6e1a0b16eda9b08e58fa7b2f97c15f30701d060f797ada4d0d0b9707a90914f661fc50cfba9fedcf32c01289184d9d
+DIST uv_build-0.7.18.tar.gz 310469 BLAKE2B 9cdc765b5aad32e9fc338bb2355f4f882557393b67f5c4cb39cf6573ac367d3af9ef1f9c2e35e2125278eb9de539aa8becd05c9dfe26d8f0f6e337709a85cdc1 SHA512 6915b264fbd93b2977157e0c8d17e4f0652a82112f025f5ff2d2b84c3764343323eca22a1219a6610387168d8b399d346af990192ef3752a817823d83c700dc5
DIST uv_build-0.7.8.tar.gz 305609 BLAKE2B 89d2e7ff95f4375d4fff758463c1cf918c3ec475a1e0de04fcc51b4bd0fefe1aca50ea223b3cc456c5944f0673702ab971374829fb568e4521129acb0a770506 SHA512 bde37f82ae781531e50425ff247219e4e2908c7e46200a65a74e8e2b8b48a0d5cd60476138c160bd1d07aa8c9a581f5da01e79fd7883d018f10617ddba8b8349
DIST uv_build-0.7.9.tar.gz 308177 BLAKE2B 38bd8d4640a239dac740503929c7b31ba591e101e0778cbd5e3c9db6513082f0382bc982affc7cf3a5af3998647ae58ebf870388dc0d67e2ed7fda5764cc9176 SHA512 f316aae21cbf15dc281d79eaa10af1b56efd70d484ae37b831d7216c268e03c6a46c50a212e617e932a6cf0805f2cb114e91caf92afe1c1d994ba06209255e90
diff --git a/dev-python/uv-build/uv-build-0.7.18.ebuild b/dev-python/uv-build/uv-build-0.7.18.ebuild
new file mode 100644
index 000000000000..6156796bc3d2
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.7.18.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index d667d9b3b113..a2816f6bf91a 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -17,6 +17,8 @@ DIST uv-0.7.16-crates.tar.xz 58052104 BLAKE2B 95a97abf28acd579fd796c71e664233fae
DIST uv-0.7.16.gh.tar.gz 4105917 BLAKE2B 2af4abe490f96902f60f2ac794fad27c8117278f3c444e3b1423d3bbe4d2f32eeb42b30e9b40ec06eeb89c73271b68438bf428eda6b3e7088829df7f96f3cb3f SHA512 4edfadf3b28a6af195ae6c709e7f41af9c2b0da408e637bca2c4ff70717e4c1027a84c69a33b14f58fd2a1f1cc530927ac6bda4d43495116b6280393f2553dca
DIST uv-0.7.17-crates.tar.xz 58052104 BLAKE2B 95a97abf28acd579fd796c71e664233fae6b05855c27967d679e1681e21e79fa40e16ee08aff1b9ac712abd38c0f1da4487d3102af9147dec631eecedf6fddb4 SHA512 d37b1c91e591a074f99e1dcdbab08833d2c49f30cf190d50fa640a89c2ebb7b21253b2f14eb23afdba6c9d5cf27ef9af921a42085563ec542b548a105721706a
DIST uv-0.7.17.gh.tar.gz 4105381 BLAKE2B 1f83651b8a844812acc27742571855b84d017bdc823073b38f2b5b4b5996b8ca6fe3fd029e0dbc620dcf0d3f9edf4ca8324ba1b2c0d57385d27af241a59fb66a SHA512 e26ecd29fc52b68fe01d396424d8fd48666396001a4b4a1f9a384a8cfb83e029f5003db9910227f7fbe4462e037f12a746cda8859006e73cd7a22b082e8008e0
+DIST uv-0.7.18-crates.tar.xz 58207040 BLAKE2B 0e8761c020d5931f3ed134482fac5130b27e5e8f4a713faef225264f8f4d4a734fa6ce4a1ba97c771890ebf71549c7f6e1fe2353c6e763a60081393135091049 SHA512 1264bf6604f41902367e570615e5663850c3264753f100e3dee92be7bb83e3f9a4455727dbfdaa09ec736570d99ddf342bffed14e1ae65ddc4e362a9217d28c5
+DIST uv-0.7.18.gh.tar.gz 4114273 BLAKE2B 6661f6fcf88d2e53829e503df439f60de195f28e0f940f0baa0ae0980456cbf59db050d69ee84b36b334fce4e067388886bce7e16842b3e2bfeb282a6244147c SHA512 f9bb13c75e679a362994f6782bc8ac7194038d77e2d47ad7afbead649745c411fa2337cb95b76eab65b068e29119fc8530e1243c039c3f165d6894439684910b
DIST uv-0.7.8-crates.tar.xz 45495772 BLAKE2B f8b9587302dfd96ba15b540f0897b9720ea06434d2d2e93e795793df874179ef79e544a07b9e158e890d119fa2d3beee9d0a884a3c78540ec6c8abe2cc902bba SHA512 78586fd9fbe4cd9e0b737609a8b8c438ac422be1dbcde7a8553234981ee4be8136efe50b2c14b6863b6256a337cab977948641bb196e5f718188a66b25f1f5f5
DIST uv-0.7.8.gh.tar.gz 3993156 BLAKE2B a11245cb77ceab214ee021d973515c164048938afb67d878bf282e26f8c1f190187ef7a52af966247298d6a758baa97e36fce0a556c9ac145b3f01c8aea18d56 SHA512 109821612a9a07bf0fdadcc942893a8e024ef828f22f25b5d3f2a10088882892cb84a8b1e37874e7346c9a0815dcd15cb736a2a768ff525c6198482fe7aba3ff
DIST uv-0.7.9-crates.tar.xz 45526908 BLAKE2B 66951afc70feb4719c5af415c0503c6e8daff850227d9773406f6e4c0c9bb960a56573675327b04297437481852cc9236bdf240476cf1c151e52ff4caf170c72 SHA512 6ea0d4e02e28edc47d420c095b426136aeb1e4af2c3181e104f67405b180d6ce51f1db122cc6d49ac876a68711d43aa2fdae5fd710523c03d6d302d41da47e02
diff --git a/dev-python/uv/uv-0.7.18.ebuild b/dev-python/uv/uv-0.7.18.ebuild
new file mode 100644
index 000000000000..14f6f1ae7451
--- /dev/null
+++ b/dev-python/uv/uv-0.7.18.ebuild
@@ -0,0 +1,183 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-retry'
+ [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%'
+ [version-ranges]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%/version-ranges'
+)
+
+RUST_MIN_VER="1.85.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
+ ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local pkg
+ for pkg in reqwest-middleware reqwest-retry; do
+ local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die
+ done
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+}
+
+src_configure() {
+ local myfeatures=(
+ git
+ pypi
+ python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+ local -x PYTHONDONTWRITEBYTECODE=
+ # fix tests failing because of our config
+ local -x XDG_CONFIG_DIRS=${T}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}