summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-13 17:48:25 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-13 17:48:25 +0000
commita6cbb3d12ad6754a4197f1ef2917998b377a081c (patch)
treebe17cb27307bc189b46788b9ba10aad3dd3c7a55 /dev-python
parent24efa26a9866c0db03c927d97356758906dcc067 (diff)
downloadbaldeagleos-repo-a6cbb3d12ad6754a4197f1ef2917998b377a081c.tar.gz
baldeagleos-repo-a6cbb3d12ad6754a4197f1ef2917998b377a081c.tar.xz
baldeagleos-repo-a6cbb3d12ad6754a4197f1ef2917998b377a081c.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.25.1.ebuild48
-rw-r--r--dev-python/Levenshtein/Manifest1
-rw-r--r--dev-python/PyQt6-WebEngine/Manifest1
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild74
-rw-r--r--dev-python/PyQt6/Manifest1
-rw-r--r--dev-python/PyQt6/PyQt6-6.8.0_pre2410211537.ebuild193
-rw-r--r--dev-python/aiohttp/Manifest1
-rw-r--r--dev-python/aiohttp/aiohttp-3.11.0_rc2.ebuild131
-rw-r--r--dev-python/amqp/Manifest1
-rw-r--r--dev-python/amqp/amqp-5.3.1.ebuild51
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.59.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.59.ebuild67
-rw-r--r--dev-python/cattrs/Manifest1
-rw-r--r--dev-python/cattrs/cattrs-23.2.3-r1.ebuild69
-rw-r--r--dev-python/cattrs/cattrs-24.1.2.ebuild3
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.19.0.ebuild70
-rw-r--r--dev-python/contourpy/Manifest1
-rw-r--r--dev-python/contourpy/contourpy-1.3.1.ebuild53
-rw-r--r--dev-python/executing/Manifest2
-rw-r--r--dev-python/executing/executing-2.0.1.ebuild69
-rw-r--r--dev-python/executing/executing-2.0.2_pre20240626.ebuild65
-rw-r--r--dev-python/executing/executing-2.1.0.ebuild60
-rw-r--r--dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch38
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.152.0.ebuild50
-rw-r--r--dev-python/googleapis-common-protos/Manifest1
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.66.0.ebuild31
-rw-r--r--dev-python/hatchling/Manifest1
-rw-r--r--dev-python/hatchling/hatchling-1.26.3.ebuild105
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.118.8.ebuild103
-rw-r--r--dev-python/manuel/Manifest1
-rw-r--r--dev-python/manuel/manuel-1.13.0.ebuild40
-rw-r--r--dev-python/mysqlclient/Manifest1
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.6.ebuild93
-rw-r--r--dev-python/pandas/Manifest1
-rw-r--r--dev-python/pandas/files/pandas-2.2.2-py313.patch117
-rw-r--r--dev-python/pandas/pandas-2.2.2-r1.ebuild235
-rw-r--r--dev-python/pandas/pandas-2.2.2.ebuild219
-rw-r--r--dev-python/patsy/Manifest1
-rw-r--r--dev-python/patsy/patsy-1.0.1.ebuild34
-rw-r--r--dev-python/peewee/Manifest1
-rw-r--r--dev-python/peewee/peewee-3.17.8.ebuild81
-rw-r--r--dev-python/precis-i18n/Manifest1
-rw-r--r--dev-python/precis-i18n/precis-i18n-1.1.1.ebuild25
-rw-r--r--dev-python/pydantic-core/Manifest2
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.27.0.ebuild167
-rw-r--r--dev-python/pyftdi/Manifest1
-rw-r--r--dev-python/pyftdi/metadata.xml29
-rw-r--r--dev-python/pyftdi/pyftdi-0.55.4.ebuild39
-rw-r--r--dev-python/python-ironicclient/Manifest1
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.9.0.ebuild49
-rw-r--r--dev-python/pytools/Manifest1
-rw-r--r--dev-python/pytools/pytools-2024.1.15.ebuild31
-rw-r--r--dev-python/pyzmq/Manifest5
-rw-r--r--dev-python/pyzmq/files/pyzmq-23.2.0-libdir.patch11
-rw-r--r--dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch53
-rw-r--r--dev-python/pyzmq/pyzmq-25.1.2.ebuild92
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.2.ebuild87
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.3.ebuild92
-rw-r--r--dev-python/pyzmq/pyzmq-26.1.0.ebuild80
-rw-r--r--dev-python/pyzmq/pyzmq-26.1.1.ebuild80
-rw-r--r--dev-python/simsimd/Manifest4
-rw-r--r--dev-python/simsimd/simsimd-6.0.1.ebuild64
-rw-r--r--dev-python/simsimd/simsimd-6.0.2.ebuild64
-rw-r--r--dev-python/simsimd/simsimd-6.0.5.ebuild (renamed from dev-python/simsimd/simsimd-6.0.0.ebuild)0
-rw-r--r--dev-python/sybil/Manifest1
-rw-r--r--dev-python/sybil/sybil-9.0.0.ebuild42
-rw-r--r--dev-python/yappi/Manifest1
-rw-r--r--dev-python/yappi/yappi-1.6.10.ebuild31
-rw-r--r--dev-python/zope-interface/Manifest2
-rw-r--r--dev-python/zope-interface/zope-interface-6.4_p2.ebuild51
-rw-r--r--dev-python/zope-interface/zope-interface-7.0.3.ebuild48
76 files changed, 1669 insertions, 1658 deletions
diff --git a/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild b/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild
deleted file mode 100644
index 010e350b9cd3..000000000000
--- a/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-
-inherit distutils-r1
-
-DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
-HOMEPAGE="
- https://pypi.org/project/Levenshtein/
- https://github.com/rapidfuzz/Levenshtein/
-"
-SRC_URI="
- https://github.com/rapidfuzz/Levenshtein/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- <dev-cpp/rapidfuzz-cpp-4
- >=dev-cpp/rapidfuzz-cpp-3.0.0
-"
-RDEPEND="
- <dev-python/rapidfuzz-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/rapidfuzz-3.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/cython-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/scikit-build-0.13.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/Levenshtein/Manifest b/dev-python/Levenshtein/Manifest
index f9e70a2c3422..00c305d2b048 100644
--- a/dev-python/Levenshtein/Manifest
+++ b/dev-python/Levenshtein/Manifest
@@ -1,3 +1,2 @@
-DIST Levenshtein-0.25.1.gh.tar.gz 39060 BLAKE2B 9d058d910be7c6c3e668cca631a7da5bed678e219c96e4255dbf69c46cb3c55002928fcd90f39916b6c1a57845e9cf1a2327701ae21c662b81f909b9ea1f4bff SHA512 936dab36b15df6f2ee5425efb1fdb1490fb8f618ba453f464a6dd615bcc427e55ceee7474f06b34392871d9f38470b853602a11d8f9776eee66ec34156511ca4
DIST Levenshtein-0.26.0.gh.tar.gz 38404 BLAKE2B c78a53ba9d5c10968f000264cd20e9d5bc155135765088d4cb7f3f937c6cb5c30f01c09c977e9c8a50d4d0bafab0ad89848102d6f28c57cd471b5901f652d175 SHA512 cf48aa9e81a90c6a9a4cc7033f5035dc89f45db9c7e35929c4b11e2b9af180a018d455a56b8c1f5c748db263401155950e1985a195613a5bb914050f5d68e998
DIST Levenshtein-0.26.1.gh.tar.gz 38429 BLAKE2B d217bf620f5ebe68a50230f7ce91f292f0a9cd9781b29a9e328e1e788d2d2f2ee71362a1ab660794f6adfa7e7267d9bc3685e9460754354226a6b964affd0ade SHA512 589b1f404108f488caf880063f20ee9c6a2033b0a2cd819352bf15e285ea8537c1dc8117de70679f720fd3da47546f7e0e5c620e4da8cf09bf8df9b119e6abc9
diff --git a/dev-python/PyQt6-WebEngine/Manifest b/dev-python/PyQt6-WebEngine/Manifest
index c8db0fcf463c..83fb1172e5b3 100644
--- a/dev-python/PyQt6-WebEngine/Manifest
+++ b/dev-python/PyQt6-WebEngine/Manifest
@@ -1 +1,2 @@
DIST PyQt6_WebEngine-6.7.0.tar.gz 32593 BLAKE2B 6c14323b440a83f6fed9f1f77f20b350f00255dfedfbc328a5ee638760d20958d8864eb3c590248acd5c69152c537993a95e66d1f76b28349561c8223dfc2a85 SHA512 8298aecc43e420c4fa912802fd66ee95fd71156d9a6d1f1a499ffcc2d0d45a8c3e3c170f911acfc8f094d2e434567b5143b145ce40413ee75c9a9e4420341c0c
+DIST PyQt6_WebEngine-6.8.0.dev2411020930.tar.gz 34309 BLAKE2B e881ea3b91b1ebccf7b93df3c0dc645e2505223948478b2e4a6399fc380e08460d8ce3cd42857adaa68a8323439257891028b43a6334f0ef2cf4e3b6e13064dc SHA512 5acd6f8712bf1964cd15ee3696bccf37aca00a3c6428df03500a678e1f7f88b1c02015fb1f7b698c4bb9db24868b99df878cf3187a14addb7b7f66354a1960c5
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild
new file mode 100644
index 000000000000..db8ea31561c8
--- /dev/null
+++ b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.8.0_pre2411020930.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/_}
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for QtWebEngine"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
+
+# TODO: drop this and uncomment 'pypi' on a proper bump
+MY_P=${PN/-/_}-$(ver_cut 1-3).dev$(ver_cut 5)
+SRC_URI="https://www.riverbankcomputing.com/pypi/packages/PyQt6-WebEngine/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="debug quick +widgets"
+
+RDEPEND="
+ >=dev-python/PyQt6-${QT_PV%:*}[gui,ssl,${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}[gui,widgets?]
+ >=dev-qt/qtwebengine-${QT_PV}[widgets]
+ quick? (
+ dev-python/PyQt6[qml]
+ >=dev-qt/qtwebengine-${QT_PV}[qml]
+ )
+ widgets? ( dev-python/PyQt6[network,printsupport,webchannel,widgets] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+
+ --enable=QtWebEngineCore
+ $(usex quick --{enable,disable}=QtWebEngineQuick)
+ $(usex widgets --{enable,disable}=QtWebEngineWidgets)
+
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+}
diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
index 25840d70f239..4648db2fc3b1 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1 +1,2 @@
DIST PyQt6-6.7.1.tar.gz 1051212 BLAKE2B 9c1c619b08cc14e0a92ea22812c14d5a3cb47e45eea917d50ab63918d8433d54b354f26b885f2567b9c6e2f0380e819972d055d1a1751f6646ebb5e6cf72b228 SHA512 1e0fec009e1823b06460fd96eddc00ed31388c20f6d832aa0ebaa130baf06d83514df43af7961c3cb2872570d27e539d6db7bf6143ccdfd61a19da7521be2c7e
+DIST PyQt6-6.8.0.dev2410211537.tar.gz 1062853 BLAKE2B 1838bc76a7a4b2d6787e8f2f5e2960ea8d1f48715dad16886da6121eb36e8ca573d888de733ecf4da61439303e0151747785d1e5a7325271e398866630cdd946 SHA512 3fdf464609da8a2194980b4d100531aa593de6c22027bf212c92e393629e329da8c8259e05dcda11a3c90eb9cdbc1c3c70696642d323822adb721e78b6270b40
diff --git a/dev-python/PyQt6/PyQt6-6.8.0_pre2410211537.ebuild b/dev-python/PyQt6/PyQt6-6.8.0_pre2410211537.ebuild
new file mode 100644
index 000000000000..ee50d47a0bf8
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.8.0_pre2410211537.ebuild
@@ -0,0 +1,193 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+inherit distutils-r1 flag-o-matic multiprocessing qmake-utils # pypi
+
+# 'can' work with older Qt depending on features, but keeping it simple
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+# TODO: drop this and uncomment 'pypi' on a proper bump
+MY_P=${PN}-$(ver_cut 1-3).dev$(ver_cut 5)
+SRC_URI="https://www.riverbankcomputing.com/pypi/packages/PyQt6/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+# defaults match what is provided with qtbase by default (except testlib),
+# reduces the need to set flags but does increase build time a fair amount
+IUSE="
+ bluetooth +dbus debug designer examples gles2-only +gui help
+ multimedia +network nfc opengl pdfium positioning +printsupport
+ qml quick quick3d remoteobjects serialport sensors spatialaudio
+ speech +sql +ssl svg testlib webchannel websockets vulkan
+ +widgets +xml
+"
+# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
+REQUIRED_USE="
+ designer? ( gui widgets )
+ help? ( gui widgets )
+ multimedia? ( gui network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( gui widgets )
+ qml? ( network )
+ quick3d? ( gui qml )
+ quick? ( gui qml )
+ remoteobjects? ( network )
+ spatialaudio? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( gui widgets )
+ vulkan? ( gui )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# may use qt private symbols wrt qtbase's :=
+# non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,vulkan?,widgets?,xml?]
+ bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ )
+ designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+ help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ opengl? (
+ gles2-only? ( media-libs/libglvnd )
+ )
+ pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium,widgets?] )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+ quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
+ remoteobjects? ( >=dev-qt/qtremoteobjects-${QT_PV} )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? (
+ >=dev-qt/qtdeclarative-${QT_PV}
+ >=dev-qt/qtspeech-${QT_PV}
+ )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-python/PyQt6-sip-13.8[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8.6[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable gui QtGui)
+ #--disable=QtLocation # force-disabled in project.py
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable qml QtQml)
+ $(pyqt_use_enable quick QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable quick3d QtQuick3D)
+ $(pyqt_use_enable remoteobjects QtRemoteObjects)
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable xml QtXml)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+ $(usev !vulkan --disabled-feature=PyQt_Vulkan)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index 98ddfaf0273e..a414cbb67a01 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,3 +1,4 @@
DIST aiohttp-3.10.10.tar.gz 7542993 BLAKE2B edc9808937892e2915b591a3d5b9e2be8401a67e6421ada8c49e27cfa1ee67283465d17e3c3a77f7579d4ed45df39884a2f9e336429ef7d64adf351ce7507a85 SHA512 c6928d989c110c323347b6f5b0a90c42e17924b4121455a240f5a15d87f939580640ba0f8d576f8254e484e5b631ec4562a2fb4e6c86402924b1892a6d72aff8
DIST aiohttp-3.11.0rc0.tar.gz 7621610 BLAKE2B a7ef4a7d373bd87155519bd71c396e24224120efeb07dbb173081e034411f4d1e694015d3599d30856e0a80a4d5d43b8d8ee6cdec1d6d19f2dc2940f7271c910 SHA512 3f34c54683b75a0727dd541a1a01a0621aba52f235b32490ccec6656ffbde39224b38b99e58cd62d4e64e43b378e87424a2f9c146f8c6f158ecb226f0e91aae1
DIST aiohttp-3.11.0rc1.tar.gz 7653785 BLAKE2B 070dba6f84b7924f5129b9a022de98ef9586d35cc188a38229d77d5598cf322931687c5295f322f8aca28a8fcf7da1d30e021d4dd2b8aa9327c1c60084423480 SHA512 3ed987c6f0fe53373b5f3cb0b3858fdc216d029f8b6f205ed3fc234e2474b77fd245ad39a86f607616878499d88b607b72f68cae02f95b2073f3dc1ac3fe8d5b
+DIST aiohttp-3.11.0rc2.tar.gz 7655719 BLAKE2B 3fc553c3ff927861bd280401cc6741c6bd720c4ac0827db40230270cf3bf2f30a0bfdb3d933227ffb2b22800ddc6e2d6b045277c1c8bf9fb8467b1582a3dcedb SHA512 d6f5c6ef50ce333106071dbd33d57e49be638e9d6855a9c5dc6f9b7e87063319d314f70186d7df0e09f3e7ecf4bee40da44af0dccf9124d6c6c16c5f98e9fee8
diff --git a/dev-python/aiohttp/aiohttp-3.11.0_rc2.ebuild b/dev-python/aiohttp/aiohttp-3.11.0_rc2.ebuild
new file mode 100644
index 000000000000..4a10c19005b4
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.11.0_rc2.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 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 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions test-rust"
+
+RDEPEND="
+ >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/async-timeout-6[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ if [[ ! -d tools && ${EPYTHON} != pypy3 ]] && use native-extensions
+ then
+ # workaround missing files
+ mkdir tools || die
+ > requirements/cython.txt || die
+ > tools/gen.py || die
+ chmod +x tools/gen.py || die
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+ fi
+}
+
+python_compile() {
+ # implicitly disabled for pypy3
+ if ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ # benchmarks
+ tests/test_benchmarks_client.py
+ tests/test_benchmarks_client_request.py
+ tests/test_benchmarks_client_ws.py
+ tests/test_benchmarks_cookiejar.py
+ tests/test_benchmarks_http_websocket.py
+ tests/test_benchmarks_http_writer.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch
+ if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode" \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/amqp/Manifest b/dev-python/amqp/Manifest
index 33a374480cc1..f4666b6f9e83 100644
--- a/dev-python/amqp/Manifest
+++ b/dev-python/amqp/Manifest
@@ -1 +1,2 @@
DIST amqp-5.2.0.tar.gz 128754 BLAKE2B 4d5c281c1d9691e41da452f07f81a0c8bf901cb12f7a43082f1a8cd46cb848195df7415036e42b0fdf76c621019334df50af1382b571fae38ec4796154fa3797 SHA512 923eae80721ec35e329085e680950db7167c401fac396c74d401331ef7efe369e1cf4420bfde9a1d9005052f49cedef6d2ee621e795b9127614fd5742aa5e0db
+DIST amqp-5.3.1.tar.gz 129013 BLAKE2B e791792effba9efc7ceb320d7ece9fb5d8936ad0faf5c5519a63e419436258272271ab0f45b3828b6c68f9b8ab50641a73644c0c37687776cc7f5a29c3abd6f4 SHA512 4701ee40a6a88738ab2bb199114512af85f722afb99e2ee1d18c48563ceb6f925052315c5ca289e36db5d02aa72412b798442fd6c2f623d10a0ac43af3c2eca8
diff --git a/dev-python/amqp/amqp-5.3.1.ebuild b/dev-python/amqp/amqp-5.3.1.ebuild
new file mode 100644
index 000000000000..cd5be5a12c22
--- /dev/null
+++ b/dev-python/amqp/amqp-5.3.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 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="Low-level AMQP client for Python (fork of amqplib)"
+HOMEPAGE="
+ https://github.com/celery/py-amqp/
+ https://pypi.org/project/amqp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="extras"
+
+RDEPEND="
+ >=dev-python/vine-5.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-rerunfailures-6.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-celery-2.1.3'
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # rmq tests require a rabbitmq instance
+ t/integration/test_rmq.py
+)
+
+EPYTEST_DESELECT=(
+ # fails when gssapi is installed (how does that test make sense?!)
+ t/unit/test_sasl.py::test_SASL::test_gssapi_missing
+)
+
+python_install_all() {
+ if use extras; then
+ insinto /usr/share/${PF}/extras
+ doins -r extra
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 8bbb39113d7e..a9f886eb6f4f 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,3 +2,4 @@ DIST boto3-1.35.49.gh.tar.gz 878577 BLAKE2B 8f9ddf29eaad2f91a9ba670b268ac987f7f8
DIST boto3-1.35.54.gh.tar.gz 882727 BLAKE2B 398e7743d30700856b15440c217d40e88aec4e58669009f68392e108373f2e57ff3c384be9bdc3873b102686df7f0e05f53d4518b149e982e0893473919db3cb SHA512 bfddb7c4b3816edc2b572bd6f412c0d085296df17b552930dfc9bb108c7100190da1f58f5f701d3ec3c36e6deb88c93e5af5bfc68963b76fc7c950d456815ec5
DIST boto3-1.35.57.gh.tar.gz 885077 BLAKE2B 4f3a29db5e76c706fbfd0afb3ec05d5518e69f3fd26d15e79024fb898d874818fa21031187d66078a4ebd107cce9461000e37506886f337049bd821e20933563 SHA512 19f951c04452203c070243bd8c944183221b51d9853efc19d33002af57c7d59c1967e8a7b606e56f772f35576ec6e1b52e2037138ba01a28f13685a49458c7d4
DIST boto3-1.35.58.gh.tar.gz 885941 BLAKE2B d561cf27dba3177789047cf8ac9cc3e5b7a669f26cae948c5d0c458464518eb16ea2525ef0b1c2118acaaeb348e7435947eca69f37d42affe3b3b8dfd199ddbc SHA512 9988693c33dab2294f302e9e9434fd9c681fc43042ba6772a36d36df9ba60f5884eeecaa60a17e6087a07d35c9691ecb16ee3920c3859335817e49b5f97247ee
+DIST boto3-1.35.59.gh.tar.gz 886122 BLAKE2B 2eb1378f810bada55c5c6c1a6c70c16c073ddc68d30850ff50b5f604dd15b386bcd0985b81b39fc79801f552eab7f289aaf4ca5377b958b2d28ad0b193e7886d SHA512 ab771736bd88419d50bb11db36f7c308da4816222379d45dfa97557a3c3c43ffb9a9521bc92cf0a4dd2631d01c94f6f9c728517c02a9787e49d98dd860f7e128
diff --git a/dev-python/boto3/boto3-1.35.59.ebuild b/dev-python/boto3/boto3-1.35.59.ebuild
new file mode 100644
index 000000000000..d91ce27598cf
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.59.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 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="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 ~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.10.0[${PYTHON_USEDEP}]
+"
+
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index e070a080a196..e1532b527ae1 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,3 +2,4 @@ DIST botocore-1.35.49.gh.tar.gz 13473579 BLAKE2B 0b1a0e8ec76ad0d4ec677532626c4f3
DIST botocore-1.35.54.gh.tar.gz 13569174 BLAKE2B 1f4cb326d27ef028e16b20838fe1f7bc32cc5c782694d4d47dc2d0cd1384a7fdfe584f6225f41004c8e4c9028c1ac2b2b157daa073adab515d99a2cf1d42b19f SHA512 cab2956d9b7597295d761f232b9981085bb4daec182514fb514b6aed7bdb82ddca41b7b85900987f624828ae389f4ac282b0950692d965ccb9b67d6ce3d40362
DIST botocore-1.35.57.gh.tar.gz 13603794 BLAKE2B 23a4dc82e1d9667e75494c2fb651b883c7fbaf689679a1b40c3f277c33760fbaacd6843e6630876fe75597c6e6dc892726c609a97efcff0d46533460c379c43f SHA512 f20eccdcd0c027e3c1d6c631988c8913f3150b1b6da679fc18ea75824d0ef61b999ee9cad4f0d74edbb639cf52daf188fd7e256664e57fc89be09f33ed78d65e
DIST botocore-1.35.58.gh.tar.gz 13608279 BLAKE2B 6f67c155f7b87c827b07f3bceb29836f59cf38479911cff8c92970e25b82baf920d673c8766e61c5db05e5dcbf1f46acc3aff2ebe32498d4ec733ea0a02a1718 SHA512 5db5c1832936a95ee11b80e872ece61f034ad61eb5c0d307deea047bca8785e9ca211d2f38349b234d7c5aa13ba363f4908520fa211be16924d3552d1bed27a7
+DIST botocore-1.35.59.gh.tar.gz 13619172 BLAKE2B 593bae8b31935cabd5ca44e48bc85d1638d03a34d58ac209f9f0aa51ddc55c72f88b383fe422a10e0045a84e287da0c417ee388acdc72ebf982665532657aee0 SHA512 ced4d9c149924f09c6cb3fb62f348225f7df4a07be383b5f523d7284fefd2de0e60f4c302a71eaf81d56051a31e78d962e75eda28afb6624db0b0bac7fef9140
diff --git a/dev-python/botocore/botocore-1.35.59.ebuild b/dev-python/botocore/botocore-1.35.59.ebuild
new file mode 100644
index 000000000000..7816e9efeb52
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.59.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 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="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 ~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_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
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index 8101888ad230..f8a7c0532ad1 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,2 +1 @@
-DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
DIST cattrs-24.1.2.gh.tar.gz 428615 BLAKE2B d6874493083c4a082b319a12bead71d8a147a35019f3b08a7f16c4c982c061b98db71d6e1027215df53efc66c93688cbd6d5cfaaa9a46f9bd1a39893bbbc21ee SHA512 00316c062343a91cb71ba297af7d74798000cd44afca6eb6286278b3340efc27621486336c095e21a0e1701105494d60b72991aa00b8ab9bacf30a47eee877ce
diff --git a/dev-python/cattrs/cattrs-23.2.3-r1.ebuild b/dev-python/cattrs/cattrs-23.2.3-r1.ebuild
deleted file mode 100644
index 63855e41a142..000000000000
--- a/dev-python/cattrs/cattrs-23.2.3-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2022-2024 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="Composable complex class support for attrs and dataclasses"
-HOMEPAGE="
- https://pypi.org/project/cattrs/
- https://github.com/python-attrs/cattrs/
-"
-SRC_URI="
- https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
- test-rust? (
- $(python_gen_cond_dep '
- >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_preconf.py::test_orjson
- tests/test_preconf.py::test_orjson_converter
- tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= tests
-}
diff --git a/dev-python/cattrs/cattrs-24.1.2.ebuild b/dev-python/cattrs/cattrs-24.1.2.ebuild
index feb0880fea26..9f50486c6c08 100644
--- a/dev-python/cattrs/cattrs-24.1.2.ebuild
+++ b/dev-python/cattrs/cattrs-24.1.2.ebuild
@@ -49,7 +49,8 @@ BDEPEND="
)
"
-EPYTEST_XDIST=1
+# xdist can randomly break tests, depending on job count
+# https://bugs.gentoo.org/941429
distutils_enable_tests pytest
PATCHES=(
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 4d5760ed3403..33d11c788926 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,3 +1,4 @@
DIST cfn_lint-1.17.2.tar.gz 2526962 BLAKE2B 76feefa1bcce6a0957ce028d6041ac49b475cf25bd843e7de30b1d05d797e55d4189d9deba087f569f94f2f8fc40b11c3ecddcab1593432abf0da1bd26db6da9 SHA512 79fa133244cfe1239648209da9e8bbb2e50435bc5c18b6f998c90eb09536a760dfae62507123c22295098bf0866b1ef0ed05853debb00e651b75651921401530
DIST cfn_lint-1.18.3.tar.gz 2768521 BLAKE2B 277d52b6005e175bf87094dc6a0c71e660217db2665a03f1408ed03d67c2b72aefd0d2ed377869932aabeb351449eb6f7e05db3d8abebe94eed18b60d4c9c283 SHA512 27803f683f8f0440b71925a511fd9cd81c8a81c35a04b267a6f67833d40e2d1dca94f9c81bad507ede02c049ef5143372d5e9aa148ea5242b946d1cd3ac55a77
DIST cfn_lint-1.18.4.tar.gz 2788919 BLAKE2B c9815d61450d6afa6f054a305b90ceb14a2dd72206834fb64c8e51017cbcf02843dc83e909d1db0dfb183d7f059909a9b794e886745bbe48cac42dcf2c109150 SHA512 fc8ed928fa83d262000c141805734c788559f2ed7ad7b1b989771069cd8972c04dba67a8c4823cceb35ad70db19e28c5f36093cf42f86b232f35eeba8585c89b
+DIST cfn_lint-1.19.0.tar.gz 3074770 BLAKE2B 955ad65135242dc0cc64de3495db59da204ab102817e1da2d2d654c0df0a5d5834b8e2aab91fe15dd08daecef00d46297dc76129ac4ed670fc291e7e69fd6908 SHA512 84115aa5131219e01d038b4a7dd12c1ea2ffce8fbc7e4af22bd8e031f980d342db20ceb4c9f27e96602df19cca10eba84dfd066742606e156357bdac97eefb19
diff --git a/dev-python/cfn-lint/cfn-lint-1.19.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.19.0.ebuild
new file mode 100644
index 000000000000..d9b997205f33
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.19.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 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.91.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="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+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=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/contourpy/Manifest b/dev-python/contourpy/Manifest
index 3c6af3663e2f..fa6ce0be6d9b 100644
--- a/dev-python/contourpy/Manifest
+++ b/dev-python/contourpy/Manifest
@@ -1 +1,2 @@
DIST contourpy-1.3.0.gh.tar.gz 13445333 BLAKE2B d49131f0d46f4000ecbd9caf7cf63c3089085cb6ce85f745ba737f0c3a430e8f5594205dd6be0e5fcc1ae8572594825b363b07c01feabe8ef13641eacc4a9ac0 SHA512 aa16e87879f3513219b1c1f4e001e99c9842248baebd2b1632b3177b141c16ed7d28efcd96bb33bddf941fa1613887691f4c293262c1fe7f82d12c0713fe852b
+DIST contourpy-1.3.1.gh.tar.gz 13445593 BLAKE2B 745b55740afcee562c1578922079dc271e3074b011b7a0c8b6f8287b23c18a616a634afd6b05bd463921de77e857ca550a57424646961267f080a9e36ec64185 SHA512 09dbb934c65280722312ce002198bb294bb543febba28a2fd874d4b9feb3d837a802c68614703acf6131f799047254a16a4c932cd694d7d55e5a946a49cc8f3a
diff --git a/dev-python/contourpy/contourpy-1.3.1.ebuild b/dev-python/contourpy/contourpy-1.3.1.ebuild
new file mode 100644
index 000000000000..b25641b21531
--- /dev/null
+++ b/dev-python/contourpy/contourpy-1.3.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for calculating contours in 2D quadrilateral grids"
+HOMEPAGE="
+ https://pypi.org/project/contourpy/
+ https://github.com/contourpy/contourpy/
+"
+SRC_URI="
+ https://github.com/contourpy/contourpy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.13.4[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/wurlitzer[${PYTHON_USEDEP}]
+ )
+"
+
+DISTUTILS_ARGS=(
+ -Dwerror=false
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # linters
+ tests/test_codebase.py
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index e2e7180fa798..d437483fb0de 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1,3 +1 @@
-DIST executing-2.0.1.gh.tar.gz 837355 BLAKE2B 7d38890eb322809c2b705f51731fe7537f81a0775d99bebb4b4ae67453930daedd947b249385babbc2373969344b643f288441fc28f3588264e4ebc23e1c389d SHA512 8a753aab42ea2d3b61764ee77de3bb52ea7fcc2818298281180ffc47c7b22ee84974ee98b2137250f722ad559be92e72e8fc01d7b2d38ab6a01512618b65d4f3
DIST executing-2.1.0.gh.tar.gz 980727 BLAKE2B 0d7a3f0a7e83a1607fdc5bd618b7484bd2eb27443568ee6542d7caad050ff7f5a2ddf71518d434059bdc5f17bff81badf393b91628754b5d6b8ec5a4dbe8146a SHA512 0918ed3eca37d55a1c19b20a959538c46d65688979e0808270b7060a25d3db44bb593d2f8de202740af9f008f273e1e7565ba5b20b90c678e070b52a12bed4cd
-DIST executing-b3821ddf99132b61d8d32adfdae450e2418610ca.gh.tar.gz 983168 BLAKE2B 6f305aff1ff027efc5dc18288a1373623dc8e87f0a66f35ad6c92954fa1e6fc2422d50aaec128216efd1e090f1f69428447700b0adc8d4b61f40a777b3768c29 SHA512 049f95e363660052538b9d4c07123705663680d1c415ee43895678e4b740b3b2697c62c78e150fd14f75836727512e138c312ece7a48b2d3d11393f522b2ce60
diff --git a/dev-python/executing/executing-2.0.1.ebuild b/dev-python/executing/executing-2.0.1.ebuild
deleted file mode 100644
index 0303ff5a2d47..000000000000
--- a/dev-python/executing/executing-2.0.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2020-2023 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 optfeature
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
- https://github.com/alexmojaki/executing/
- https://pypi.org/project/executing/
-"
-SRC_URI="
- https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
- dev-python/littleutils[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.0.1-additional-slow-tests.patch"
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
- )
- ;;
- python3.10)
- EPYTEST_DESELECT+=(
- # crashes with infinite recursion (?)
- "tests/test_main.py::test_small_samples[1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc.py]"
- )
- ;;
- esac
- if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_ipython.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "getting node's source code" dev-python/asttokens
-}
diff --git a/dev-python/executing/executing-2.0.2_pre20240626.ebuild b/dev-python/executing/executing-2.0.2_pre20240626.ebuild
deleted file mode 100644
index 11bfb8e4ece8..000000000000
--- a/dev-python/executing/executing-2.0.2_pre20240626.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2020-2024 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 optfeature
-
-# https://github.com/alexmojaki/executing/commits/3.13
-EGIT_COMMIT="b3821ddf99132b61d8d32adfdae450e2418610ca"
-MY_P="${PN}-${EGIT_COMMIT}"
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
- https://github.com/alexmojaki/executing/
- https://pypi.org/project/executing/
-"
-SRC_URI="
- https://github.com/alexmojaki/executing/archive/${EGIT_COMMIT}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
- dev-python/littleutils[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_pre/.dev}
-
-python_test() {
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
- "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
- )
- ;;
- esac
- if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_ipython.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "getting node's source code" dev-python/asttokens
-}
diff --git a/dev-python/executing/executing-2.1.0.ebuild b/dev-python/executing/executing-2.1.0.ebuild
deleted file mode 100644
index c0796a71f3bd..000000000000
--- a/dev-python/executing/executing-2.1.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2020-2024 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 optfeature
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
- https://github.com/alexmojaki/executing/
- https://pypi.org/project/executing/
-"
-SRC_URI="
- https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
- dev-python/littleutils[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
- "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
- )
- ;;
- esac
- if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_ipython.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "getting node's source code" dev-python/asttokens
-}
diff --git a/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch b/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
deleted file mode 100644
index 36346e7363fb..000000000000
--- a/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=909738
-https://github.com/alexmojaki/executing/pull/78
-
-From 9990d20a28d46e8a911c370a019f9231cad977f0 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Sun, 5 Nov 2023 19:54:34 -0500
-Subject: [PATCH] Add many_calls tests to EXECUTING_SLOW_TESTS
-
----
- tests/test_main.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/tests/test_main.py b/tests/test_main.py
-index 7e33247..bc015cd 100644
---- a/tests/test_main.py
-+++ b/tests/test_main.py
-@@ -279,6 +279,10 @@ def test_future_import(self):
- print(1 / 2)
- tester(4)
-
-+ @pytest.mark.skipif(
-+ not os.getenv("EXECUTING_SLOW_TESTS"),
-+ reason="These tests are very slow, enable them explicitly",
-+ )
- def test_many_calls(self):
- node = None
- start = time.time()
-@@ -290,6 +294,10 @@ def test_many_calls(self):
- self.assertIs(node, new_node)
- self.assertLess(time.time() - start, 1)
-
-+ @pytest.mark.skipif(
-+ not os.getenv("EXECUTING_SLOW_TESTS"),
-+ reason="These tests are very slow, enable them explicitly",
-+ )
- def test_many_source_for_filename_calls(self):
- source = None
- start = time.time()
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index d484799b42aa..529afa116b86 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,2 +1,3 @@
DIST google_api_python_client-2.149.0.tar.gz 11791789 BLAKE2B b4397d1e0a6b064b9c7aa7b4ada816a76871de089776f6aab4cc1f962171a427ecd1e4c1ba9e43455becaddd31cfa50082aa498a1443d2116f0acb678d221549 SHA512 3602a9d5f9fd5e00605a2b12114a81770662ac1ad168c65160d6c64340d8ea3f3da2765a5cc5959ef09f5b72725baa493a0686d976e3d22add49bb86b21626e7
DIST google_api_python_client-2.151.0.tar.gz 12030480 BLAKE2B afbe2cb25e789aaa1aa5cf94e0b2a8e910cb097a885d6dc479af27e7836ac96a2a3db7b54b3fe5e060bdd4c0bdfa86dab3f0cab2e0ea176a6802d455ec7eda77 SHA512 3a8f55f457106779798e0bdf544c9bb9482967dcf0329a9a85f390a4acf8b9946ee56e43af798966c0958ae934426081bbf29cbb344071f2589b84937e85ed37
+DIST google_api_python_client-2.152.0.tar.gz 12046554 BLAKE2B 019bf46e4c876cf77028e1c8d71983a1b37abe95001c713d3b9a5063781c4fb329ecd4137c1ce706a5266b8445f757261c31964b5a9defe0433e94573453091b SHA512 4dc7e551c4defa6a6607a5838e2f282a5a669f0bc6d8bfc676d90fb4394a898667e023c042ffab56c9ea9638256a6671d095d3a5b8c5af1e49f60d1b6d416790
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.152.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.152.0.ebuild
new file mode 100644
index 000000000000..595a1e3cbd88
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.152.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 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="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index d7aad568fa71..6a8f96222a39 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1 +1,2 @@
DIST googleapis_common_protos-1.65.0.tar.gz 113657 BLAKE2B a74f10ce3fd1d7eb1805174157ef751ffedc6042f27c11c2e9febbc2a91de7c963fe266beb51f44445bdf6eb8a7237f86902ca670a875ea87fe24782dc8fc79d SHA512 5c62ee5ff6b6d39dc7053031a17be88300888ca3f91e8743ab11deab9b571d40371c12332dbd5bd906941e7917aca36ed28a19d7af619afd305e0649aaeab85d
+DIST googleapis_common_protos-1.66.0.tar.gz 114376 BLAKE2B b25f0d4204a1ba04d8a0ea0315b67d0a0fec0b7c46c1fb7e7deef2ad5ffc31e217f0303ff146a1b490163e76445d212a219f190eddf1c82e207e8bb980e85917 SHA512 c6a0c371bf7bedbb862696562e35567ec1eee3560e5c1fcd61ef20a5bceb99b53cc9f609eb405c724abbf2361e8c58cf8c44ccb8aba3161e892938d8bef60e02
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.66.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.66.0.ebuild
new file mode 100644
index 000000000000..ae56852efe67
--- /dev/null
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.66.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020-2024 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="Python classes generated from the common protos in the googleapis repository"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-common-protos/
+ https://pypi.org/project/googleapis-common-protos/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/protobuf-python-6[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest
index d2a06b91b38d..b34157611e00 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -1,2 +1,3 @@
DIST hatch-hatchling-v1.25.0.gh.tar.gz 5276942 BLAKE2B 76de1a824086889370a996945ad031179132dc74f4ef8a79da29913fc587c85210db49e89f400f4db2533d6706452cd4c67b87ff4ca97be0c3dc1879cf2bd77e SHA512 54f4e5f9383e846a9192e47b61f5147d4c48f20c41df752898dc5e22dd0bf196ea60fe4866dd04dc09c763aac67f7c047c40d978398e910878eb772af887d607
DIST hatch-hatchling-v1.26.1.gh.tar.gz 5276205 BLAKE2B 135dff9ee6a56d15a2a8019452b3b9b3b78bc1c7501ccd3d6b85769e12348d582f974f9337b87e24f09add877a835b7d40076e79b2a0636ea12dc3e66085eb98 SHA512 e05c0f464604119deac12b176ebe257a7c00eb550570292bb179a7a6a648fa589db59b029f2c795bd465e580fbc258f3e302d6cce8a934b708d0674a00f89458
+DIST hatch-hatchling-v1.26.3.gh.tar.gz 5275661 BLAKE2B 2aa7ac3cfb0e07b29765749fca94bdf6f54eb4fe38b809851b4a41ab7dde28faa304c2efc0f9a1cb53868167ad1c01871723cb89aa299d0619b8fa190435bb95 SHA512 1e62384acdf6707297a2847cdba2da4d63caf48d7428544c70b106d75aa3966f4204cd172cf9ddf25e5c1fe8c029c6730cf884c705ebfdc4f93773fa6527e5a4
diff --git a/dev-python/hatchling/hatchling-1.26.3.ebuild b/dev-python/hatchling/hatchling-1.26.3.ebuild
new file mode 100644
index 000000000000..e738cde5d735
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.26.3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2022-2024 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
+
+TAG=${P/-/-v}
+MY_P=hatch-${TAG}
+DESCRIPTION="Modern, extensible Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/hatchling/
+ https://github.com/pypa/hatch/
+"
+SRC_URI="
+ https://github.com/pypa/hatch/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/backend
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# deps are listed in backend/src/hatchling/ouroboros.py
+# editables are optional but required for editable installs
+RDEPEND="
+ >=dev-python/editables-0.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.2[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# always depend on the newest version available, at least until upstream
+# stops treating unknown classifiers as a fatal error
+# https://github.com/pypa/hatch/issues/1368
+RDEPEND+="
+ >=dev-python/trove-classifiers-2024.10.16[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # top-level "tests" directory contains tests both for hatch
+ # and hatchling
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # sigh; standalone test suites are overrated, right?
+ echo "__version__ = '${PV}'" > src/hatch/_version.py || die
+ local -x PYTHONPATH="src:${PYTHONPATH}"
+
+ # do not require uv for portability, sigh
+ mkdir "${T}/bin" || die
+ cat > "${T}/bin/uv" <<-EOF || die
+ #!/bin/sh
+ exit 127
+ EOF
+ chmod +x "${T}/bin/uv" || die
+ local -x PATH=${T}/bin:${PATH}
+
+ # tests mock cargo subprocess call but the backend raises if CARGO
+ # is not set and shutil.which() can't find it
+ local -x CARGO=cargo
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x EPYTEST_DESELECT=(
+ # most of these run uv to install stuff
+ # the few remaining tests aren't worth running
+ tests/backend/dep/test_core.py
+ # broken if CARGO is set
+ tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock tests/backend
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 713cc6ee6d81..0461a0516952 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -5,3 +5,4 @@ DIST hypothesis-6.116.0.gh.tar.gz 9480480 BLAKE2B 350abfd8bad65a33669345a71c3df9
DIST hypothesis-6.118.0.gh.tar.gz 9481630 BLAKE2B 691be7d387d61ce7e65b998cebfc11977bc3727537424e8594c6514d6ea9fae532fb203e65a4f014e74db0656946cb2920868c4d211801a1472046640a3bcdaf SHA512 740ebebc297043aed197bd848489661fa7252a1b63933b1abb17085550cc300b0bbc9217261bb2de28c9c1ae0dfda836cd4e325806f52560a1b5935ec6ec7356
DIST hypothesis-6.118.3.gh.tar.gz 9484146 BLAKE2B 2cac4089ba76431588640777a6fea2b2681ca3530ac9d48775174799715b82f5d9f31540c1c4677abae13bf9c84502bbe086e0a76f5c5a650792e6b17c2e4b81 SHA512 9b12c1ba83f4b0ce4e3b1ae6c3c6616d502f44d458a421e7938b1c8a58c20dd1bdfb0b7ed8f1690c795cd0723874becbd06ef8771ef8d8bd36950e1f0d1cabef
DIST hypothesis-6.118.7.gh.tar.gz 9486197 BLAKE2B 1247665e4cc6c10ff6f628f4ef312ce90e1f791ea853a2c22fffec5f57af182e423e97b392535b569fc19889a1e7176905ba6b933e8ca69ae693c8845dd9c89f SHA512 b33a1cdcc56301fde6bd7176caed2c34b43a2a7a5e21590b0fac2cf734332ed9e626f9114f7b6f6c06b67926b5a59649a7de6008a256b7a7655d8acb8b482f0f
+DIST hypothesis-6.118.8.gh.tar.gz 9486191 BLAKE2B daadb191cf8a0a4a972604c9320e7c10b4a342e7a6f240e6fff1a5a5d52fef5d004134381ef475f7e1b7143b38fac15c59538a6a8cac48433bd62c760db2cd67 SHA512 b5d240f81596d742002ebe073d086f149af17dafabbc9c070f6e109aca05f506c4291a10a36f6a799fd8fe20285bab8f6776685f29a6e505225ffcc581d44d64
diff --git a/dev-python/hypothesis/hypothesis-6.118.8.ebuild b/dev-python/hypothesis/hypothesis-6.118.8.ebuild
new file mode 100644
index 000000000000..902ce1505c8b
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.118.8.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/manuel/Manifest b/dev-python/manuel/Manifest
index 288e3f7d0e6c..75eed572b2bf 100644
--- a/dev-python/manuel/Manifest
+++ b/dev-python/manuel/Manifest
@@ -1 +1,2 @@
+DIST manuel-1.13.0.tar.gz 46185 BLAKE2B e9f089bd9c15ae3ed55fa544a18f2cfd9df01d3261a090a00dbbd98f7507de579158871bd8d045c35ce91ee5e22f7974dce5dfc90c558d12c003ffa6e5b1756e SHA512 f3da52838d74954bfb9e63abca92ec51eabfe354c54a6cc2508faf4bd97904b14224980d4bb27dd72b418ef3ca0e3de35480f8650bf480840014709bf3863b12
DIST manuel-3f4d94d2ace3bdab4acad6896c93f5c96d6bee92.tar.gz 39774 BLAKE2B 7be5bad5ee39358e1b0229c02c86c9492cae09684d8a942b9f5dcf0afe31037f635295019306d404a1fb0b81e40bb523d194cc499a89b32600f1a330ddaf4d2d SHA512 f96fe6c9438b00d7562d64ead32ef84dcc4746281f066e4e7c175b1b274691ccd615c31e1d26fdc25a67e67d03f28b52182652921ab2c9ff365f59aaa475adaf
diff --git a/dev-python/manuel/manuel-1.13.0.ebuild b/dev-python/manuel/manuel-1.13.0.ebuild
new file mode 100644
index 000000000000..0d088d3e9f2b
--- /dev/null
+++ b/dev-python/manuel/manuel-1.13.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 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="Lets you mix and match traditional doctests with custom test syntax"
+HOMEPAGE="
+ https://github.com/benji-york/manuel/
+ https://pypi.org/project/manuel/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unused rdep
+ sed -e "/'setuptools'/d" -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # tests are installed to site-packages but dependent data files
+ # are not, so run them from src instead
+ local -x PYTHONPATH=src
+ "${EPYTHON}" -m unittest -vv manuel.tests.test_suite || die
+}
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
index 9eca5e8c365e..5b1304226e6b 100644
--- a/dev-python/mysqlclient/Manifest
+++ b/dev-python/mysqlclient/Manifest
@@ -1 +1,2 @@
DIST mysqlclient-2.2.4.tar.gz 90400 BLAKE2B b41ed12bd8b2ea49b34d038db93e599eb05c9a910ab712fc8b7feed918f83bf3c4c8e55eac45ee944edefc26b0610b19cee9e9b76450adf9981ecc9b5fa44d85 SHA512 d1f7ba693368309a14a0982c2f1e0731617b482044afab765c8d81ea26dc6950a110c6cab48792ea1397add7b7151c756d5d22827fcce836404456f8956538a6
+DIST mysqlclient-2.2.6.tar.gz 91055 BLAKE2B e515e693100135404bf00a41b7fe0364c8276ee1be847b22ef014bb01ef065a0bbb12cb2becbdb27a1b2a9528d43c668ba36ec25f8b43adffcc5762ed641a011 SHA512 cb5f9e8e0c8bfc8d1360a3ca03d6961b4e083ce25727d0340727e3d70816d37147ebce8507eb1a2c42e093b63ba375f9806958834c0703abe7c27908c7a094d1
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.6.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.6.ebuild
new file mode 100644
index 000000000000..29927ff097fc
--- /dev/null
+++ b/dev-python/mysqlclient/mysqlclient-2.2.6.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 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 pypi
+
+DESCRIPTION="Python interface to MySQL"
+HOMEPAGE="
+ https://pypi.org/project/mysqlclient/
+ https://github.com/PyMySQL/mysqlclient/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-db/mysql-connector-c:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-db/mariadb[server]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ rm -r src || die
+
+ local datadir="${T}/mysql" \
+ install_log="${T}/mysqld_install.log" \
+ pidfile="${T}/mysqld.pid" \
+ socket="${T}/mysqld.sock" \
+ log="${T}/mysqld.log"
+ einfo "Creating test MySQL instance ..."
+ if ! mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${datadir}" >& "${install_log}"
+ then
+ cat "${install_log}"
+ die "Failed to create database"
+ fi
+
+ einfo "Starting test MySQL instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --pid-file="${pidfile}" \
+ --socket="${socket}" \
+ --skip-networking \
+ --datadir="${datadir}" >& "${log}" &
+
+ local i timeout=10
+ einfo "Waiting for MySQL to start for up to ${timeout} seconds ..."
+ for i in seq 1 ${timeout}; do
+ [[ -S "${socket}" ]] && break
+ sleep 1
+ done
+ if [[ ! -S "${socket}" ]]; then
+ cat "${log}"
+ die "MySQL failed to start in ${timeout} seconds"
+ fi
+
+ cat > "${T}/mysql.cnf" <<- EOF
+ [MySQLdb-tests]
+ socket = ${socket}
+ user = root
+ database = test
+ EOF
+
+ distutils-r1_src_test
+
+ einfo "Stopping test MySQL instance ..."
+ pkill -F "${pidfile}" &>/dev/null
+}
+
+python_test() {
+ local -x TESTDB="${T}/mysql.cnf"
+ epytest
+}
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index b075253407d1..326ecb2a171b 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,2 +1 @@
-DIST pandas-2.2.2.tar.gz 4398391 BLAKE2B 6b723d85c500abaca4d833e4fb329d9a495e3e8ae51c74632111b139ed38ca9e26087ba43ecc40d68f66613352dc140bb2f1b0cbb92915bb027548886072fc79 SHA512 85b006f96bd6400aeea2ec29df3557ea6c4bfee0a7aebb172547a43171dc0e7682d15f798081846a4f464559ab83f579cfe06d66d4b5c0cb0fb2975c2ef98f9c
DIST pandas-2.2.3.tar.gz 4399213 BLAKE2B eca6d31b21f6385c606b3c6f8f4eedc5871719ad5e039e99c01cc16e335a493c2159d208c2d88b573b661adbeaf1172ea1296d13d51b60602966cbc344dc367b SHA512 9bbff5cf51d7fe5e53b207b3593ba92560dabb15294d6509c5be55e0c2a737fad156ca46e56a7e0bfba7d791edfbcbdf885d6f82e2e1a48b2d5e0fc0ef5e56f5
diff --git a/dev-python/pandas/files/pandas-2.2.2-py313.patch b/dev-python/pandas/files/pandas-2.2.2-py313.patch
deleted file mode 100644
index 3fe6f7d89367..000000000000
--- a/dev-python/pandas/files/pandas-2.2.2-py313.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From ad0ef9233f4e6366faf9512d512ec5248ade6d5e Mon Sep 17 00:00:00 2001
-From: Lysandros Nikolaou <lisandrosnik@gmail.com>
-Date: Tue, 25 Jun 2024 03:40:22 +0200
-Subject: [PATCH] ENH: Fix Python 3.13 test failures & enable CI (#59065)
-
-* ENH: Fix Python 3.13 test failures & enable CI
-
-x-ref #58734
-
-Co-authored-by: Thomas Li <47963215+lithomas1@users.noreply.github.com>
-
-* Cast npy_intp to int to fix Windows CI
-
----------
-
-Co-authored-by: Thomas Li <47963215+lithomas1@users.noreply.github.com>
----
- .github/workflows/unit-tests.yml | 4 ++--
- pandas/_libs/src/vendored/ujson/python/objToJSON.c | 12 ++++++------
- pandas/_libs/tslibs/offsets.pyx | 7 ++++++-
- pandas/tests/groupby/test_groupby.py | 4 +++-
- pandas/tests/io/parser/test_dialect.py | 2 +-
- pandas/tests/io/test_common.py | 5 ++++-
- pandas/tests/io/xml/test_xml.py | 2 +-
- pandas/tests/scalar/timedelta/test_arithmetic.py | 1 +
- 8 files changed, 24 insertions(+), 13 deletions(-)
-
-diff --git a/pandas/_libs/tslibs/offsets.pyx b/pandas/_libs/tslibs/offsets.pyx
-index c37a4b285d..5dacd7dd55 100644
---- a/pandas/_libs/tslibs/offsets.pyx
-+++ b/pandas/_libs/tslibs/offsets.pyx
-@@ -4960,7 +4960,12 @@ cpdef to_offset(freq, bint is_period=False):
- if result is None:
- raise ValueError(INVALID_FREQ_ERR_MSG.format(freq))
-
-- if is_period and not hasattr(result, "_period_dtype_code"):
-+ try:
-+ has_period_dtype_code = hasattr(result, "_period_dtype_code")
-+ except ValueError:
-+ has_period_dtype_code = False
-+
-+ if is_period and not has_period_dtype_code:
- if isinstance(freq, str):
- raise ValueError(f"{result.name} is not supported as period frequency")
- else:
-diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py
-index ed9acdd0c9..44d6340e55 100644
---- a/pandas/tests/groupby/test_groupby.py
-+++ b/pandas/tests/groupby/test_groupby.py
-@@ -2816,7 +2816,9 @@ def test_rolling_wrong_param_min_period():
- test_df = DataFrame([name_l, val_l]).T
- test_df.columns = ["name", "val"]
-
-- result_error_msg = r"__init__\(\) got an unexpected keyword argument 'min_period'"
-+ result_error_msg = (
-+ r"^[a-zA-Z._]*\(\) got an unexpected keyword argument 'min_period'"
-+ )
- with pytest.raises(TypeError, match=result_error_msg):
- test_df.groupby("name")["val"].rolling(window=2, min_period=1).sum()
-
-diff --git a/pandas/tests/io/parser/test_dialect.py b/pandas/tests/io/parser/test_dialect.py
-index 7a72e66996..803114723b 100644
---- a/pandas/tests/io/parser/test_dialect.py
-+++ b/pandas/tests/io/parser/test_dialect.py
-@@ -26,7 +26,7 @@ def custom_dialect():
- "escapechar": "~",
- "delimiter": ":",
- "skipinitialspace": False,
-- "quotechar": "~",
-+ "quotechar": "`",
- "quoting": 3,
- }
- return dialect_name, dialect_kwargs
-diff --git a/pandas/tests/io/test_common.py b/pandas/tests/io/test_common.py
-index 0740338686..e51f865630 100644
---- a/pandas/tests/io/test_common.py
-+++ b/pandas/tests/io/test_common.py
-@@ -485,7 +485,10 @@ class TestMMapWrapper:
- df.to_csv(path, compression=compression_, encoding=encoding)
-
- # reading should fail (otherwise we wouldn't need the warning)
-- msg = r"UTF-\d+ stream does not start with BOM"
-+ msg = (
-+ r"UTF-\d+ stream does not start with BOM|"
-+ r"'utf-\d+' codec can't decode byte"
-+ )
- with pytest.raises(UnicodeError, match=msg):
- pd.read_csv(path, compression=compression_, encoding=encoding)
-
-diff --git a/pandas/tests/io/xml/test_xml.py b/pandas/tests/io/xml/test_xml.py
-index 6f429c1ecb..900734e9f0 100644
---- a/pandas/tests/io/xml/test_xml.py
-+++ b/pandas/tests/io/xml/test_xml.py
-@@ -1044,7 +1044,7 @@ def test_utf16_encoding(xml_baby_names, parser):
- UnicodeError,
- match=(
- "UTF-16 stream does not start with BOM|"
-- "'utf-16-le' codec can't decode byte"
-+ "'utf-16(-le)?' codec can't decode byte"
- ),
- ):
- read_xml(xml_baby_names, encoding="UTF-16", parser=parser)
-diff --git a/pandas/tests/scalar/timedelta/test_arithmetic.py b/pandas/tests/scalar/timedelta/test_arithmetic.py
-index d2fa0f722c..33ac121076 100644
---- a/pandas/tests/scalar/timedelta/test_arithmetic.py
-+++ b/pandas/tests/scalar/timedelta/test_arithmetic.py
-@@ -622,6 +622,7 @@ class TestTimedeltaMultiplicationDivision:
- [
- r"Invalid dtype datetime64\[D\] for __floordiv__",
- "'dtype' is an invalid keyword argument for this function",
-+ "this function got an unexpected keyword argument 'dtype'",
- r"ufunc '?floor_divide'? cannot use operands with types",
- ]
- )
---
-2.45.2
-
diff --git a/dev-python/pandas/pandas-2.2.2-r1.ebuild b/dev-python/pandas/pandas-2.2.2-r1.ebuild
deleted file mode 100644
index 620f461a3999..000000000000
--- a/dev-python/pandas/pandas-2.2.2-r1.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong ~riscv ~x86"
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-libs/apache-arrow[brotli,parquet,snappy]
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/pandas-dev/pandas/pull/59065
- "${FILESDIR}/${P}-py313.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO; unhappy about DISPLAY?
- tests/test_downstream.py::test_seaborn
-
- # OOMs
- tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # TODO: numexpr says "forbidden control characters"
- tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
- 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # TODO
- tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
-
- # deprecation warning
- tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
-
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
-
- # hdf / pytables have alignment problems: bug #911660
- # https://github.com/pandas-dev/pandas/issues/54396
- tests/io/pytables/test_append.py::test_append_frame_column_oriented
- tests/io/pytables/test_store.py::test_select_filter_corner
-
- # blosc2 version
- tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
-
- # requires -Werror
- tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
- tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
-
- # assumes that it will fail due to -mfpmath=387 on 32-bit arches,
- # so it XPASS-es in every other scenario
- tests/tools/test_to_timedelta.py::TestTimedeltas::test_to_timedelta_float
-
- # newer matplotlib?
- tests/plotting/frame/test_frame.py::TestDataFramePlots::test_group_subplot_invalid_column_name
- )
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- if has_version ">=dev-python/numexpr-2.10[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-python-left_right0-float64-/]'
- 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-python-left_right1-float64-/]'
- 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-pandas-left_right0-float64-/]'
- 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-pandas-left_right1-float64-/]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-python]'
- 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-pandas]'
- )
- fi
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest pandas/tests \
- --no-strict-data-files -o xfail_strict=false \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml test_stata.dta || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.2.2.ebuild b/dev-python/pandas/pandas-2.2.2.ebuild
deleted file mode 100644
index d0d02c061221..000000000000
--- a/dev-python/pandas/pandas-2.2.2.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 optfeature pypi virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ~riscv x86"
-IUSE="big-endian full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja2-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !arm? ( !hppa? ( !ppc? ( !x86? (
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ) ) ) )
- !big-endian? (
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-build/meson-1.2.1
- >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- !!dev-python/pyarrow
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO; unhappy about DISPLAY?
- tests/test_downstream.py::test_seaborn
-
- # OOMs
- tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # TODO: numexpr says "forbidden control characters"
- tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
- 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # TODO
- tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
-
- # deprecation warning
- tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
- 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
-
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
-
- # hdf / pytables have alignment problems: bug #911660
- # https://github.com/pandas-dev/pandas/issues/54396
- tests/io/pytables/test_append.py::test_append_frame_column_oriented
- tests/io/pytables/test_store.py::test_select_filter_corner
-
- # blosc2 version
- tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
-
- # requires -Werror
- tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
- tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
-
- # requires pyarrow
- tests/io/formats/style/test_bar.py::test_style_bar_with_pyarrow_NA_values
- tests/series/test_api.py::TestSeriesMisc::test_inspect_getmembers
-
- # assumes that it will fail due to -mfpmath=387 on 32-bit arches,
- # so it XPASS-es in every other scenario
- tests/tools/test_to_timedelta.py::TestTimedeltas::test_to_timedelta_float
- )
-
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/plotting/test_misc.py::test_savefig
- )
- fi
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest pandas/tests \
- --no-strict-data-files \
- -m "not single_cpu and not slow and not network and not db" ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml test_stata.dta || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja2
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/patsy/Manifest b/dev-python/patsy/Manifest
index a53e0f32064c..d01639db93e8 100644
--- a/dev-python/patsy/Manifest
+++ b/dev-python/patsy/Manifest
@@ -1 +1,2 @@
DIST patsy-0.5.6.tar.gz 398011 BLAKE2B c5fb15c57e270e3545cfdc8c13f8e745c94822be6684aa6703bdbc1da15ea63eb7a21d1e0bd1aaed2a4d919f4848fd9089dbcd3c304676e0a9512d13f94302bb SHA512 df73ddfa0e66088cb50133240e2d67e2a833d8f691e17b443cdc0661adf580eb8908b1e1082e8debd91439bbe7b990a9a455f16bd6773173c7e86273f2c1051b
+DIST patsy-1.0.1.tar.gz 396010 BLAKE2B 2982331bebbc09ef33f2650ea07f46eeba9e5fef05f63ca253b3efa7785284eea2ac14df6e9cd6498a0c5b5ba8cdcc094cb8edaa8bda61c80e656d336525cd03 SHA512 94d0d6462eb78fbd9ae07809e5124d5f9f2416d152759dafbb1774bb9644d59d415f7b4121233826b4629b07e9d25254274873916364c366c1723a4f2e195e7e
diff --git a/dev-python/patsy/patsy-1.0.1.ebuild b/dev-python/patsy/patsy-1.0.1.ebuild
new file mode 100644
index 000000000000..4d61e76e5d96
--- /dev/null
+++ b/dev-python/patsy/patsy-1.0.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 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="Python module to describe statistical models and design matrices"
+HOMEPAGE="
+ https://patsy.readthedocs.io/en/latest/index.html
+ https://github.com/pydata/patsy/
+ https://pypi.org/project/patsy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ !hppa? (
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
index c833853fb697..610dcf6bbeca 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1 +1,2 @@
DIST peewee-3.17.7.gh.tar.gz 929522 BLAKE2B ebbde16c53b7fbc4295adb14e54d2df5b46f11e2aa00248fa753af30b1b029679641f0981c5b71070ea503c61c0658af0341970aa8a74f25f6155d1f94c2d1a0 SHA512 5952b7928432599ec2ec6d78023c762d9852e15bdc2e3411d5ea7f9618de107b2d9400d8e921047842a688b4f409d5ea4996651a74983e1ce92380e9f259151d
+DIST peewee-3.17.8.gh.tar.gz 930646 BLAKE2B d0822ad93dbee6c2566d0d4a9bad7c39ba30e1205192449f0483725277325c295c869edca70301dd8a15115a1153ccef08360c6600ec064caf0b386aaf05c8e6 SHA512 47101679b3624c167c82240b2d9fcd60db362e6960cc1852bc5042022fb1250cf4e58050b39ca309cd0a66019cbcf1c8a8e8b8619e0958f8ec37d7222bfe243f
diff --git a/dev-python/peewee/peewee-3.17.8.ebuild b/dev-python/peewee/peewee-3.17.8.ebuild
new file mode 100644
index 000000000000..396df9d63023
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.8.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ # disable test failing on postgres 16
+ sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die
+
+ default
+}
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+ psql -h "${T}" peewee_test -c 'create extension hstore;' || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/precis-i18n/Manifest b/dev-python/precis-i18n/Manifest
index ddb3a58b779a..10d06afecb40 100644
--- a/dev-python/precis-i18n/Manifest
+++ b/dev-python/precis-i18n/Manifest
@@ -1 +1,2 @@
DIST precis_i18n-1.1.0.tar.gz 69488 BLAKE2B 2484e8b9d8df7393b1e61030da45ff22a864cb4d97c0e1b1bff319035810ef65f3686510c16335be678c32503333e667fa4555365976ace2a93ae80a532ede86 SHA512 95eb40aa063a808885e9a405f8331621e74b669d4602de617f0e6e78e4d9b7f57665d194b826bbdfc6305c71eaecd2e6388f79b2381d85abc606fe7515510b45
+DIST precis_i18n-1.1.1.tar.gz 69511 BLAKE2B 7e0a61169308afafb2ff7cade4dde5fb3fede0a47a126f80784f0fb35ae1b0e741f2fccb524d817a7eba8cb59895c0dd71bfe8e194c3aaffff6582249fdac194 SHA512 f77c99945a3a1795a5d2f623b354f98bb4de757faad029b04e6e6bea432f6ddea1887f62bad3bb070c5e0ff9a30fafa34a3499d224b357a7da3190613cbaa526
diff --git a/dev-python/precis-i18n/precis-i18n-1.1.1.ebuild b/dev-python/precis-i18n/precis-i18n-1.1.1.ebuild
new file mode 100644
index 000000000000..4a361094dcaa
--- /dev/null
+++ b/dev-python/precis-i18n/precis-i18n-1.1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 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="Internationalized Usernames and Passwords"
+HOMEPAGE="
+ https://github.com/byllyfish/precis_i18n/
+ https://pypi.org/project/precis-i18n/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s test
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 05742f69c9fc..143a555657ae 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -32,6 +32,7 @@ DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd3
DIST jiter-0.5.0.crate 141152 BLAKE2B 5ab42f40c3a1fa5717447085cc289d89c649570022dde6c628f24f7dcce1c40cbdc5e4f6dc92afeabc3645683636fe7762ccf70665a1139bb39e2bdf481074da SHA512 79e1aaf52bbfccf010124325f7010839a9d5c4ce89cf0a6f68f8d6107af3e95dc4ed21ef341f92e71cf2e88119c911289af0cbea3aafdb5f5d49a45f103f26d7
DIST jiter-0.6.1.crate 142818 BLAKE2B b0c281cc32ef6adac09cc38b7c0fcd9118b2e0abb860a9020f2d30ec23ef6a8e4b579cfbd89de949f446dd6f9215240ceda7876f25cd010a6cd0a4e0091c65ad SHA512 7d70e9985b4cfc72f15b2307a1522d8937f702a816f3f0e99f305bb66fa5965e181809ce795506472301f221e583a4d9a0844c8218898787c47962c01f6b8fda
DIST jiter-0.7.0.crate 143599 BLAKE2B c0537ccab324a624195adbad8238cc238134a77fd4fc004072ac4704d10b3037dee2b7404ef9724baf29bcc1e1d191e3259149fb27ccc6a91e41e5f1a5e8b4fa SHA512 c3f3bc39c87a59bd017b60791b5f40534ed2e9995be9da43ca2c031f55b8505cfb3f01b7c595c2b34aa337f75566a55fdd8b4c5486f30de2ae1031966d4e2edf
+DIST jiter-0.7.1.crate 143767 BLAKE2B 314bca16d68483e90cae65138c2e1cb6066acc024cc2cd0fa7e838247b559b4372b63d17d23b7b14e031ffd4318f28c6b810890bd00718def7262c5c0ffd98da SHA512 b5377a8e6ca9e948fafd8c257bdd5bdceed3b76b7a6492065c7feb0deaac7b24851c2aa0440b23707cc86ba485065677bd563ee43819cf0f385362782c4afd69
DIST lexical-parse-float-0.8.5.crate 180161 BLAKE2B 881e4db32a21c26a1919fd1373aef1ea16a6fca3d799edb18ff0c9e4a79d481f8ade7a93f9ded2a660ad10cf815eb757f6eec7887945f8203c467e700af7a9a3 SHA512 ef012cbf18f2e306724dd700ac259aaa73b44f6c4531377deb9979c80d31ae66fc1a8b2671bd677e0ebfad8f77e9a5cf25707c67a1c5b1f554953c036cb39d46
DIST lexical-parse-integer-0.8.6.crate 33647 BLAKE2B a0ebd7a51c271a163796b0f55bb85e16830bf06e26e3f10d9b13dc5b65af590c77f47fb64360a8738c5ad4be6e6932d58e83e1594a80c067859645c35b907c53 SHA512 e9a814d2928bf5bb2d9dce53e26c65356191c9e21c3aa0e674d58ed879aa52293272f3897f64372d996a3f8c471b0f59348ad48f15a21c2f35ed15f522ac2daa
DIST lexical-util-0.8.5.crate 85152 BLAKE2B 42a968c6f9d20cb4cb10906399d37d6581b425eadb31439fec4a71395819133249c4fb75b1d962100e77ba35b6f6b4cd428d5b5c161b405b22333ee390e671a6 SHA512 449c7f2a22c109cd179937c36e14d91c742e1a837a85fcf4fb58c21f05317511d1281b564d216a34760ae54a0df2d0ff5caf49da4aa9d43a8d87fcec0033cc39
@@ -50,6 +51,7 @@ DIST pydantic_core-2.23.4.tar.gz 402156 BLAKE2B af899e149693907542296b5b4fa5f982
DIST pydantic_core-2.25.0.tar.gz 407498 BLAKE2B 2f729013d1da81bdedc61ae67c2c11c31edec97c6de141255cd642255c3447523e13c25d2dff034e8229f86067388109237358c76dfafea2bf938a34668d9938 SHA512 2c3bf8818ba8b7cea4eb580709b38860465c774381170c6a52a771a97a5b9f9accf86bcf3d1131b5cb40fcf805f2cdc7bdf54541da50d9bf5b02644e674ae8a9
DIST pydantic_core-2.25.1.tar.gz 408040 BLAKE2B a64beeb9b8cb2d71aa4d30000361f863c3bb5d3964c0fe657bea60f370eca6a289279a8685983cfc5a0623f2f2609659b5ba9274cdf002b18431b2a0d965025c SHA512 9b7cfb297295f0d64147b2b4bcdc07c10f8aca03c8c7223bd2302319384b6ebfebe6196bd15673c69c961e2b8096199b5741d9e1bf77a72004e471823bbd514c
DIST pydantic_core-2.26.0.tar.gz 411154 BLAKE2B 98206a7dad82d8908102b787cf4c0366a4abdb36bdd6129dc684b810aa22372cef681b49b42453df0b535361bf5232b2d6e1fea583090b2b282a915ca8d2e87d SHA512 08d38844f216994af6842038ada324fb4bddd63e07bc79ce44ac44acf12981aaf8400dd1da53be74cd9d748d8562ba9cc7814a3df79be5995302256bd9d0793c
+DIST pydantic_core-2.27.0.tar.gz 412675 BLAKE2B ee50fa4bc04033f5bca04b92acaf0542e22af73fabe522377cc9e76837945e55045700d6fbe1df8e63dda331e85db8b414cacd5dcfced2ade807ce877294f925 SHA512 55f3eb1b243800dd9d932643c1be5d4b09a86305b1f30fc21b9b73ea073f046fbc28c41158cba9f03ccbd396cb2ee0fc5eb87c19783b7db62785b50f4b95ac6b
DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
DIST pyo3-0.22.5.crate 546700 BLAKE2B 8ee81360b205bcfc763dbd3d313e2d2f31bde4577bdc77a2ebc3084aa06e30bcc1f7efb97349d781b27882af5b8e82c6476498c86039b9c39286721ed1c08504 SHA512 48b9ada19bb12c6e5f1d41982c3b607f206d88dc078517c45106b631e0ad973145b0b60af06e58013a5189ca8b50e1cfa326c6904bba5aadb791933272ffb277
DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
diff --git a/dev-python/pydantic-core/pydantic-core-2.27.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.27.0.ebuild
new file mode 100644
index 000000000000..d1c20ac1fb3b
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.27.0.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2023-2024 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="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ autocfg@1.3.0
+ base64@0.22.1
+ bitvec@1.0.1
+ cc@1.0.101
+ cfg-if@1.0.0
+ displaydoc@0.2.5
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.15
+ hashbrown@0.14.5
+ heck@0.5.0
+ hex@0.4.3
+ icu_collections@1.5.0
+ icu_locid@1.5.0
+ icu_locid_transform@1.5.0
+ icu_locid_transform_data@1.5.0
+ icu_normalizer@1.5.0
+ icu_normalizer_data@1.5.0
+ icu_properties@1.5.1
+ icu_properties_data@1.5.0
+ icu_provider@1.5.0
+ icu_provider_macros@1.5.0
+ idna@0.5.0
+ idna@1.0.2
+ indexmap@2.2.6
+ indoc@2.0.5
+ itoa@1.0.11
+ jiter@0.7.1
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.155
+ litemap@0.7.3
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-bigint@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.19.0
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.5
+ pyo3-ffi@0.22.5
+ pyo3-macros-backend@0.22.5
+ pyo3-macros@0.22.5
+ pyo3@0.22.5
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ radium@0.7.0
+ regex-automata@0.4.8
+ regex-syntax@0.8.5
+ regex@1.11.1
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.214
+ serde_derive@1.0.214
+ serde_json@1.0.132
+ smallvec@1.13.2
+ speedate@0.15.0
+ stable_deref_trait@1.2.0
+ static_assertions@1.1.0
+ strum@0.26.3
+ strum_macros@0.26.4
+ syn@2.0.82
+ synstructure@0.13.1
+ tap@1.0.1
+ target-lexicon@0.12.14
+ tinystr@0.7.6
+ tinyvec@1.6.1
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.2
+ utf16_iter@1.0.5
+ utf8_iter@1.0.4
+ uuid@1.11.0
+ version_check@0.9.5
+ wasi@0.11.0+wasi-snapshot-preview1
+ write16@1.0.0
+ writeable@0.5.5
+ wyz@0.5.1
+ yoke-derive@0.7.4
+ yoke@0.7.4
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+ zerofrom-derive@0.1.4
+ zerofrom@0.1.4
+ zerovec-derive@0.10.3
+ zerovec@0.10.4
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout -o xfail_strict=False
+}
diff --git a/dev-python/pyftdi/Manifest b/dev-python/pyftdi/Manifest
new file mode 100644
index 000000000000..0b4047c313f6
--- /dev/null
+++ b/dev-python/pyftdi/Manifest
@@ -0,0 +1 @@
+DIST pyftdi-0.55.4.gh.tar.gz 186949 BLAKE2B 4d680ff38bbb3b1abb320398fa7543f9524e52511ea3fbfcf08d00d1e69c345ad71341c3de5204c69c1023d6974fdefd763bf61d693e88a3154f2c710f5ab070 SHA512 3998572f1af781327678d99ab89ee33bda42bea6320cf62ed4e65a3c6a891754f8f17763482e0d852bff9c73ab80af8c2df8c71ed70af9079512680064b24ede
diff --git a/dev-python/pyftdi/metadata.xml b/dev-python/pyftdi/metadata.xml
new file mode 100644
index 000000000000..47199b0279f5
--- /dev/null
+++ b/dev-python/pyftdi/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vowstar@gmail.com</email>
+ <name>Huang Rui</name>
+ </maintainer>
+ <longdescription lang="en">
+ PyFtdi aims at providing a user-space driver for popular FTDI devices,
+ implemented in pure Python language.
+ PyFtdi supports various features, including UART/Serial USB conversion with
+ speeds up to 12Mbps, depending on the FTDI device. It also offers
+ GPIO/Bitbang functionality, supporting 8-bit asynchronous,
+ 8-bit synchronous, and 8-/16-bit MPSSE modes. For SPI and I2C, PyFtdi
+ provides master capabilities with simultaneous GPIO support, managing up to
+ 12 pins per port for SPI and up to 14 pins for I2C. Additionally, it
+ includes basic JTAG master functions, EEPROM access (though some parameters
+ are read-only), and experimental CBUS support on selected devices with
+ 4 pins per port.
+ </longdescription>
+ <upstream>
+ <maintainer>
+ <email>emmanuel.blot@free.fr</email>
+ <name>Emmanuel Blot</name>
+ </maintainer>
+ <bugs-to>https://github.com/eblot/pyftdi/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyftdi/pyftdi-0.55.4.ebuild b/dev-python/pyftdi/pyftdi-0.55.4.ebuild
new file mode 100644
index 000000000000..ac36989d0229
--- /dev/null
+++ b/dev-python/pyftdi/pyftdi-0.55.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 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 pypi
+
+DESCRIPTION="PyFtdi provides a user-space driver for FTDI devices"
+HOMEPAGE="https://github.com/eblot/pyftdi"
+SRC_URI="https://github.com/eblot/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/pyusb[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ test? (
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ FTDI_LOGLEVEL=WARNING
+ FTDI_DEBUG=on
+ FTDI_VIRTUAL=off "${EPYTHON}" pyftdi/tests/mockusb.py || die
+ FTDI_VIRTUAL=on "${EPYTHON}" pyftdi/tests/gpio.py || die
+ FTDI_VIRTUAL=on "${EPYTHON}" pyftdi/tests/eeprom_mock.py || die
+}
diff --git a/dev-python/python-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
index 34005df163cd..ed0402418b61 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1 +1,2 @@
DIST python-ironicclient-5.8.0.tar.gz 235768 BLAKE2B 254e70bf1a007bcc1fbd5c13f8a650c473f294ab218c01b8b69b66a4518fdbd35b4dd1cdda808342efde92ebebbe25e7221b0e97492b0c2d6095d0107f05d0d7 SHA512 fa96807bb17907f9ae9a761c9dcd4e87e5fed5d73a978da0e0e8536574277032c52fd96675bf7738271616e3f2897b67dba4d8ac3731ff0785ed2b8a91acb900
+DIST python-ironicclient-5.9.0.tar.gz 220842 BLAKE2B 737f9fa46ec96d1b7b5332284c7f3b8989f3b48c032bc5c6fb26d195366c0834cc737b60051da118544b54bb620fc316cf7940357f1e710179f3b1dc1778991f SHA512 ead6ad9ed3c8e5575bb7b7297dc74d804cd16732a706b4fbbfa5000509b7939a06e74b70ac0e4cb91d0d6e845cb49030e178fde1151cfadf945049e2108715e0
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.9.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.9.0.ebuild
new file mode 100644
index 000000000000..2b7179a4fa71
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.9.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-ironicclient/
+ https://github.com/openstack/python-ironicclient/
+ https://pypi.org/project/python-ironicclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 689679864fb3..4abe191e8135 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,3 +1,4 @@
DIST pytools-2024.1.13.tar.gz 82559 BLAKE2B c9b2d43a9538eb4a0daaf623345961e839cd227de22dc141923129418315947dc813b67d78c39d84062ef712842dfad63ef7d519d672960f25594e7f8bd5b0e5 SHA512 dc5d8e9ef291afc9cfab39450ecd886c3ca5776cb9f29b675ae7459a5ef2bdf29cc9978fe3991ef86b11516902d04c7de861947ea9f2d261735d52db2bfefc5c
DIST pytools-2024.1.14.tar.gz 83715 BLAKE2B 7670a6876f908097b07322fcce1acbebce9d4cbb9a955425544fe9f456895606629b84df894eb156eced9990f2f033301b48ebd511ee7dcbc06d1558dba4847a SHA512 07a4b2066553e0f2db5227e7f55db749e38c77afd566dcb45c65665a444451e8209ef028b7fdd3f855447bbac712e290211f3908b72335099057ff11371efe4a
+DIST pytools-2024.1.15.tar.gz 77565 BLAKE2B 3f17e86ff07d52b7f749846a9da7ed176aed63402b22a8c2c7ad96f49a5a62f22463f2db111e2d01139212e2c489a22f2ea16d2e67840bd3d077a2d87fd75b88 SHA512 112832d9a826243c76600c80e6464aba9ad0ad11017befa04e8104ce84431f3da993c768cef441786c6458adee6c4bd067e235dc369918367c5acb9aebd903ec
DIST pytools-2024.1.6.tar.gz 81344 BLAKE2B ff68e2606170bf54e3f609ee7f4cfe58e063f43dcfb2706d5ed7659ea2fde863e6315d0d81dff2e62a3378f195413561a927b0c1e7bedc06388cf4893c07b873 SHA512 a9e934f1cbaf0ace32420f9b74224a06ce8421ee291b837292133969c6788c4cc8bea01446cd4d1505aca9fa81e8ae0d3eacf60d3285186e66d67d5abe10ce3e
diff --git a/dev-python/pytools/pytools-2024.1.15.ebuild b/dev-python/pytools/pytools-2024.1.15.ebuild
new file mode 100644
index 000000000000..1a8ec2950cfb
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.15.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 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} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# NB: numpy & siphash24 are an "extra" (optional) deps
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index e13ae5564ea9..3baf46d72a72 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1,6 +1 @@
-DIST pyzmq-25.1.2.gh.tar.gz 391272 BLAKE2B 80814704e7ea08d407859c1d71338f6ea283efcd1f3994155334aa5b60c4b6cd89167de8c78d19f8efdbeb5f4071f7b5954ea911eb6e7fbb48a0087b86579cab SHA512 b146a6dbce7cbbe2eb1da7ebd64e463067354f1566cdb4ff634b59bbb6d65e16263b6acb2d101a4ea53f870be5c753c9a12f9cc37bc5a81236681ea4fda6c56b
-DIST pyzmq-26.0.2.gh.tar.gz 267895 BLAKE2B c71a0149cb6c596dfcbc760376aa14afa69bd927fcc739698f7d2ea44579dc8437ae605745b383a9b317ff66c092a4f963671e7933cf19f3f73acac16ac06daa SHA512 5772743e71810f9a0c332dcf16f04237eeb0a34ef2efdd22b63258ebe93e6b493a79845090e677a33582a9a80e7bee773160ec7ecfdaf240b655f3819e5b67a5
-DIST pyzmq-26.0.3.gh.tar.gz 268927 BLAKE2B 7504a45776e8c618833702563b50f672a3ecabb3353551ea61d2d2343dd9e955d1d2938046c2f90d115255482b9b6b2c0f1817b238e591b9319ac92a4341c04a SHA512 f4a32164daf9d9521be83008a94089406078779b9e0e56812a826df1fb295cc03781566825697313aa0c2b36b85b0bb760b8fb90959a856a0542b9072cde78c9
-DIST pyzmq-26.1.0.gh.tar.gz 272153 BLAKE2B d99bbdabfb93641361daadbe1ee8d4e5c578ef9faabf4c0457078082bb77d094040da43396e34d48cb2341491460ff39ebc8e5f3a19be2172e73df9fe6655e5c SHA512 288b6799cdc2b77f2972e928558ae74871054809075b534f33af876983da3b1cea35d6fd0fbfcb7caa8f3a458ae00da10935e31791c5c650c5589bfd5db577b0
-DIST pyzmq-26.1.1.gh.tar.gz 272236 BLAKE2B 49ec3c97b3d1b3e943522891ef067c6e4fdd1f5a2fd46f8c2927ba529f97ee8d177253f1a76fc1dd45813832827c8b35a1fc8fba42cf53eac37b59ec40a39251 SHA512 6e9ff9c021696935cb0513edc5eef8a130c56f3c95156a9805acfc174438fab5aaa356779308791b53dc01a166d41e094102ff445959515739102258c8d4e0de
DIST pyzmq-26.2.0.gh.tar.gz 272883 BLAKE2B a43365afdc49ae845f1e6611bd463e90dbd133867d82c2bfdd3d9431238f68d80bb8073a4406110a91bf6f72cc6d66987a477673277c2b099d74c78f24b49d81 SHA512 ef069f5e71ad1cd39fdf4d5c2ede411752685af2d69ea8ad477c70e51ab011ece492ab25d06feefa7b7c7daefc5fc822d0f87199df2216865ece254c5724c423
diff --git a/dev-python/pyzmq/files/pyzmq-23.2.0-libdir.patch b/dev-python/pyzmq/files/pyzmq-23.2.0-libdir.patch
deleted file mode 100644
index 66d16f24ad73..000000000000
--- a/dev-python/pyzmq/files/pyzmq-23.2.0-libdir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-https://bugs.gentoo.org/854627
---- a/setup.py
-+++ b/setup.py
-@@ -275,7 +275,6 @@ def settings_from_prefix(prefix=None):
- and platform.architecture()[0] == '64bit'
- ):
- settings['library_dirs'] += [pjoin(prefix, 'lib/amd64')]
-- settings['library_dirs'] += [pjoin(prefix, 'lib')]
- else:
- # If prefix is not explicitly set, pull it from pkg-config by default.
- # this is probably applicable across platforms, but i don't have
diff --git a/dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch b/dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch
deleted file mode 100644
index 8d87af8b7289..000000000000
--- a/dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From bc5e214e957eb96c7e23b2c46a075e3850805ff1 Mon Sep 17 00:00:00 2001
-From: Min RK <benjaminrk@gmail.com>
-Date: Thu, 16 May 2024 08:34:51 +0200
-Subject: [PATCH 1/2] cffi: fix type of hint mutex pointer
-
----
- zmq/backend/cffi/_cdefs.h | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/zmq/backend/cffi/_cdefs.h b/zmq/backend/cffi/_cdefs.h
-index 6c9a06558..cf27f5b4e 100644
---- a/zmq/backend/cffi/_cdefs.h
-+++ b/zmq/backend/cffi/_cdefs.h
-@@ -75,13 +75,14 @@ void * malloc(size_t sz);
- void free(void *p);
- int get_ipc_path_max_len(void);
-
-+typedef ... mutex_t;
-+
- typedef struct _zhint {
- void *sock;
-- void *mutex;
-+ mutex_t *mutex;
- size_t id;
- } zhint;
-
--typedef ... mutex_t;
- mutex_t* mutex_allocate();
-
- int zmq_wrap_msg_init_data(zmq_msg_t *msg,
-
-From b180ebc07fc04b0576fef50c3969fd48fa58694d Mon Sep 17 00:00:00 2001
-From: Min RK <benjaminrk@gmail.com>
-Date: Sun, 26 May 2024 00:29:06 +0200
-Subject: [PATCH 2/2] maybe it needs to specify struct
-
----
- zmq/backend/cffi/_cdefs.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/zmq/backend/cffi/_cdefs.h b/zmq/backend/cffi/_cdefs.h
-index cf27f5b4e..7833b9b26 100644
---- a/zmq/backend/cffi/_cdefs.h
-+++ b/zmq/backend/cffi/_cdefs.h
-@@ -75,7 +75,7 @@ void * malloc(size_t sz);
- void free(void *p);
- int get_ipc_path_max_len(void);
-
--typedef ... mutex_t;
-+typedef struct { ...; } mutex_t;
-
- typedef struct _zhint {
- void *sock;
diff --git a/dev-python/pyzmq/pyzmq-25.1.2.ebuild b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
deleted file mode 100644
index 3847db99a672..000000000000
--- a/dev-python/pyzmq/pyzmq-25.1.2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 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 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
-HOMEPAGE="
- https://zeromq.org/languages/python/
- https://pypi.org/project/pyzmq/
- https://github.com/zeromq/pyzmq/
-"
-SRC_URI="
- https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="drafts"
-
-# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
-DEPEND="
- >=net-libs/zeromq-4.2.2-r2:=[drafts=]
-"
-# It uses cffi backend for pypy, cython backend for cpython
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.2.0-libdir.patch
-)
-
-distutils_enable_tests pytest
-# TODO: Package enum_tools
-# distutils_enable_sphinx docs/source \
-# dev-python/numpydoc \
-# dev-python/sphinx-rtd-theme \
-# dev-python/myst-parser
-
-python_prepare_all() {
- export ZMQ_DRAFT_API=$(usex drafts '1' '0')
- export ZMQ_PREFIX="${EPREFIX}/usr"
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- zmq/tests/test_auth.py
- zmq/tests/test_cython.py
- zmq/tests/test_zmqstream.py
-
- # swap thrashing on low-mem hosts, per Debian:
- # https://salsa.debian.org/python-team/packages/pyzmq/-/blob/master/debian/patches/skip_large_send
- zmq/tests/test_socket.py::TestSocket::test_large_send
- )
- local EPYTEST_IGNORE=(
- # Avoid dependency on mypy
- zmq/tests/test_mypy.py
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # not implemented in cffi variant?
- zmq/tests/test_draft.py::TestDraftSockets
- )
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest -p asyncio -p rerunfailures
-}
diff --git a/dev-python/pyzmq/pyzmq-26.0.2.ebuild b/dev-python/pyzmq/pyzmq-26.0.2.ebuild
deleted file mode 100644
index 86ee81d1715c..000000000000
--- a/dev-python/pyzmq/pyzmq-26.0.2.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
-HOMEPAGE="
- https://zeromq.org/languages/python/
- https://pypi.org/project/pyzmq/
- https://github.com/zeromq/pyzmq/
-"
-SRC_URI="
- https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="drafts"
-
-# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
-DEPEND="
- >=net-libs/zeromq-4.2.2-r2:=[drafts=]
-"
-# It uses cffi backend for pypy, cython backend for cpython
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# TODO: Package enum_tools
-# distutils_enable_sphinx docs/source \
-# dev-python/numpydoc \
-# dev-python/sphinx-rtd-theme \
-# dev-python/myst-parser
-
-src_configure() {
- DISTUTILS_ARGS=(
- -DZMQ_DRAFT_API="$(usex drafts)"
- )
-}
-
-src_test() {
- # need to move them around to make EPYTEST_IGNORE work cleanly
- # with tests-in-package and extension modules
- mv zmq/tests . || die
- rm -r zmq || die
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Avoid dependency on mypy
- tests/test_mypy.py
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # not implemented in cffi variant?
- tests/test_draft.py::TestDraftSockets
- )
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # avoid large to reduce memory consumption
- epytest -p asyncio -p rerunfailures tests -m "not large"
-}
diff --git a/dev-python/pyzmq/pyzmq-26.0.3.ebuild b/dev-python/pyzmq/pyzmq-26.0.3.ebuild
deleted file mode 100644
index a388dd8839d1..000000000000
--- a/dev-python/pyzmq/pyzmq-26.0.3.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
-HOMEPAGE="
- https://zeromq.org/languages/python/
- https://pypi.org/project/pyzmq/
- https://github.com/zeromq/pyzmq/
-"
-SRC_URI="
- https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="drafts"
-
-# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
-DEPEND="
- >=net-libs/zeromq-4.2.2-r2:=[drafts=]
-"
-# It uses cffi backend for pypy, cython backend for cpython
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# TODO: Package enum_tools
-# distutils_enable_sphinx docs/source \
-# dev-python/numpydoc \
-# dev-python/sphinx-rtd-theme \
-# dev-python/myst-parser
-
-PATCHES=(
- # https://github.com/zeromq/pyzmq/pull/1990
- "${FILESDIR}/${P}-gcc14.patch"
-)
-
-src_configure() {
- DISTUTILS_ARGS=(
- -DZMQ_DRAFT_API="$(usex drafts)"
- )
-}
-
-src_test() {
- # need to move them around to make EPYTEST_IGNORE work cleanly
- # with tests-in-package and extension modules
- mv zmq/tests . || die
- rm -r zmq || die
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Avoid dependency on mypy
- tests/test_mypy.py
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # not implemented in cffi variant?
- tests/test_draft.py::TestDraftSockets
- )
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # avoid large to reduce memory consumption
- epytest -p asyncio -p rerunfailures tests -m "not large"
-}
diff --git a/dev-python/pyzmq/pyzmq-26.1.0.ebuild b/dev-python/pyzmq/pyzmq-26.1.0.ebuild
deleted file mode 100644
index 018fff9e276e..000000000000
--- a/dev-python/pyzmq/pyzmq-26.1.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
-HOMEPAGE="
- https://zeromq.org/languages/python/
- https://pypi.org/project/pyzmq/
- https://github.com/zeromq/pyzmq/
-"
-SRC_URI="
- https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="drafts"
-
-# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
-DEPEND="
- >=net-libs/zeromq-4.2.2-r2:=[drafts=]
-"
-# It uses cffi backend for pypy, cython backend for cpython
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# TODO: Package enum_tools
-# distutils_enable_sphinx docs/source \
-# dev-python/numpydoc \
-# dev-python/sphinx-rtd-theme \
-# dev-python/myst-parser
-
-src_configure() {
- DISTUTILS_ARGS=(
- -DZMQ_DRAFT_API="$(usex drafts)"
- )
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Avoid dependency on mypy
- tests/test_mypy.py
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # not implemented in cffi variant?
- tests/test_draft.py::TestDraftSockets
- )
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf zmq || die
- # avoid large to reduce memory consumption
- epytest -p asyncio -p rerunfailures tests -m "not large"
-}
diff --git a/dev-python/pyzmq/pyzmq-26.1.1.ebuild b/dev-python/pyzmq/pyzmq-26.1.1.ebuild
deleted file mode 100644
index 018fff9e276e..000000000000
--- a/dev-python/pyzmq/pyzmq-26.1.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
-HOMEPAGE="
- https://zeromq.org/languages/python/
- https://pypi.org/project/pyzmq/
- https://github.com/zeromq/pyzmq/
-"
-SRC_URI="
- https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="drafts"
-
-# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
-DEPEND="
- >=net-libs/zeromq-4.2.2-r2:=[drafts=]
-"
-# It uses cffi backend for pypy, cython backend for cpython
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# TODO: Package enum_tools
-# distutils_enable_sphinx docs/source \
-# dev-python/numpydoc \
-# dev-python/sphinx-rtd-theme \
-# dev-python/myst-parser
-
-src_configure() {
- DISTUTILS_ARGS=(
- -DZMQ_DRAFT_API="$(usex drafts)"
- )
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Avoid dependency on mypy
- tests/test_mypy.py
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # not implemented in cffi variant?
- tests/test_draft.py::TestDraftSockets
- )
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf zmq || die
- # avoid large to reduce memory consumption
- epytest -p asyncio -p rerunfailures tests -m "not large"
-}
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index 06daa6718ff3..9d4225cbb311 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1,5 +1,3 @@
DIST SimSIMD-5.9.11.gh.tar.gz 204255 BLAKE2B 6c67f47bf2beb41b8f6e091874c808a9be0da307d6bc7af5d6cca62435d1a4199cff7444b8b9f0ce04dbdd779641d635b8e7545512cfeb782ca81ef0f6e74e2e SHA512 eae6b0a509198de09a6d47c207554cc330ad1242b3a1d98d74d0fcb0c960052de1765e05d2bbe4bbb295224266dc393890a159b7fa933c6d7725685a5e50d1ec
-DIST SimSIMD-6.0.0.gh.tar.gz 206367 BLAKE2B a79d19ffd4fb9fb518ec4b05523aa316e99e1729884decfe560be419ab7dd5d8395835ebcd593dc7ec92aa8524ce2a6f1a3693e363c638d60d1d417b636f1fbe SHA512 0edc66409d6616066205b6f976220a86f180f3e1d32c2a25e9173ae49314ed72362949bcc91b288e791b65569654573e7b3b9a5f1c79609ab58ada12abe8a458
-DIST SimSIMD-6.0.1.gh.tar.gz 206464 BLAKE2B db6806c21920531c8e108b6a7b393a79a7ed90fdda0bae7e59254298b93b3aa2fcedaf39eab1c1ea81a2c4e9cd813def898e9313220518f6e1c4586b41fa6fc2 SHA512 889fd41365f978c236d8ddc33600f02839f7169cca26f18bc45322c167e56ae21a15a7ff1e8d51b47f70066a8b2611ae23c5be2f9897a6287690613d3e6e33dc
-DIST SimSIMD-6.0.2.gh.tar.gz 206774 BLAKE2B 659cd0e5c3a097fa614b8d82fdbdf6d955dee52370351c6b68af5931b0be45773caf77fe1a092d28edaa8490d23a352303801e85e85d46a1bbbdcf8d33955683 SHA512 bbb005845bce900beca5e9f76ba7a16e7dec134c1bb7eaccba07602143aae7f84bb0de5c0a09ef7c6b79ca3d50b8a505ca072af7dd47096c56e80943c6723e23
DIST SimSIMD-6.0.3.gh.tar.gz 207321 BLAKE2B 4675a3af60e460f4af79b33cdff1d780f657ec7b2cda443ef906606034472c7f76e5c75e6abc0fa125b3ed5039f7686332148bb15a9864ca7f440d5f1bf29dc2 SHA512 cc12d00527792cf3e1c3d3cce955f6549eff72db1b7861275448292887c33a09c64963f5befb3de829ccbcb38f072afe105ca39599fd69dbfef0e9bb92b5411a
+DIST SimSIMD-6.0.5.gh.tar.gz 207462 BLAKE2B 743ede471c88ccc62349eb3c460761ff1d73940f9d455bffa0823529cf1d40d1d2d1f872e880eb3513949a893e80d01e4d402ff5a4749df2e48620ed599263d5 SHA512 c2f9fc10c8d8a7bb1c052eaad4645e85ce8d8d885b279d455e63b7b10b99feaf9c02b6d90e678166a7dde8d2fbc97e9a0afba61d781b301c1f8ab691a3996674
diff --git a/dev-python/simsimd/simsimd-6.0.1.ebuild b/dev-python/simsimd/simsimd-6.0.1.ebuild
deleted file mode 100644
index 61d7aca0a9fa..000000000000
--- a/dev-python/simsimd/simsimd-6.0.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2024 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 toolchain-funcs
-
-MY_P=SimSIMD-${PV}
-DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
-HOMEPAGE="
- https://github.com/ashvardanian/SimSIMD/
- https://pypi.org/project/simsimd/
-"
-# no sdist, as of 4.3.1
-# https://github.com/ashvardanian/SimSIMD/issues/113
-SRC_URI="
- https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="openmp"
-
-BDEPEND="
- test? (
- dev-python/pytest-repeat[${PYTHON_USEDEP}]
- dev-python/tabulate[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-src_prepare() {
- sed -i -e '/-O3/d' setup.py || die
- if ! use openmp; then
- sed -i -e '/-fopenmp/d' setup.py || die
- fi
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p repeat scripts/test.py
-}
diff --git a/dev-python/simsimd/simsimd-6.0.2.ebuild b/dev-python/simsimd/simsimd-6.0.2.ebuild
deleted file mode 100644
index 61d7aca0a9fa..000000000000
--- a/dev-python/simsimd/simsimd-6.0.2.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2024 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 toolchain-funcs
-
-MY_P=SimSIMD-${PV}
-DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
-HOMEPAGE="
- https://github.com/ashvardanian/SimSIMD/
- https://pypi.org/project/simsimd/
-"
-# no sdist, as of 4.3.1
-# https://github.com/ashvardanian/SimSIMD/issues/113
-SRC_URI="
- https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="openmp"
-
-BDEPEND="
- test? (
- dev-python/pytest-repeat[${PYTHON_USEDEP}]
- dev-python/tabulate[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-src_prepare() {
- sed -i -e '/-O3/d' setup.py || die
- if ! use openmp; then
- sed -i -e '/-fopenmp/d' setup.py || die
- fi
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p repeat scripts/test.py
-}
diff --git a/dev-python/simsimd/simsimd-6.0.0.ebuild b/dev-python/simsimd/simsimd-6.0.5.ebuild
index 61d7aca0a9fa..61d7aca0a9fa 100644
--- a/dev-python/simsimd/simsimd-6.0.0.ebuild
+++ b/dev-python/simsimd/simsimd-6.0.5.ebuild
diff --git a/dev-python/sybil/Manifest b/dev-python/sybil/Manifest
index deec8d4ec70f..c991c541e688 100644
--- a/dev-python/sybil/Manifest
+++ b/dev-python/sybil/Manifest
@@ -1,2 +1,3 @@
DIST sybil-8.0.0.gh.tar.gz 75118 BLAKE2B f62f15dab48af23423d8ce9e8a49f3b772fad7d029360d0a98f36a8d2386fc2fc76a2510550ada6b2256848364fa0c998ba939f625c00f1628b8d1a07ad298b5 SHA512 00a02c786e29596fadc3f016c97bc492723fdd956b430ddca2a5e66d38cab424410cf3c74b46f5fff84d3bf3d39ba397068562c5bdca3cff142ce42ad0048487
DIST sybil-8.0.1.gh.tar.gz 75321 BLAKE2B dc3b4dcafd7d10549d75767a86a32d6509c1fc6683617d533b64bedb9499dfa1405656eed049622d32d9aef13f74e20ba2a46bf5eb57bd8306e086a31353b2cb SHA512 06f0012198e575c0a90274c970880c5fbbcf0738ea57a4cc9692999ea3ad9e40be217e741b3b6ddcfd947f1787c3d60e68ee4d52d547f9929cf3fd2c89880bcc
+DIST sybil-9.0.0.gh.tar.gz 75154 BLAKE2B adc04da47539cb17001538776f1b73c2a27eae07fcc63ace38925fb46e2679f21133354b78da02299d9f87d047d68ee4ba623fc555c9efd17e965a067e8c8646 SHA512 098efe001c17606cbf3ab4095ca9b85e784a13af67d48d898a2622c18c6a506507ba7dddd43a232bb8c270734b9fadb24aeff356833a854a45285521a06c3ed8
diff --git a/dev-python/sybil/sybil-9.0.0.ebuild b/dev-python/sybil/sybil-9.0.0.ebuild
new file mode 100644
index 000000000000..37eecb4c858b
--- /dev/null
+++ b/dev-python/sybil/sybil-9.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2019-2024 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="Automated testing for the examples in your documentation"
+HOMEPAGE="
+ https://github.com/simplistix/sybil/
+ https://pypi.org/project/sybil/
+"
+# tests are missing in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/simplistix/sybil/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/seedir[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/yappi/Manifest b/dev-python/yappi/Manifest
index a4f8daf9d486..bed6f955789c 100644
--- a/dev-python/yappi/Manifest
+++ b/dev-python/yappi/Manifest
@@ -1,2 +1,3 @@
DIST yappi-1.6.0.gh.tar.gz 938098 BLAKE2B 7d5ad3066647419502ce43a2577509dbfc2ba898a8a68187a0e2efa2868764139c5a0bde873eb270f4acbb98749ee770e0cd00d24079318ab291dd5becc7a00e SHA512 d6b9e30129d83ab24ac80732e6a31e7dcc9e7e0f8bedc39cd578b73b12007c38db6c5b101e4364d3d129ba24bb0adaae71bc48827ac577c8ef96c9a557a9d80f
+DIST yappi-1.6.10.tar.gz 59379 BLAKE2B 683077b7aa070d2f2e34c983bbd7d653d07dbe0aba958962af370c124a947923587c6b3facd015c22f4176e48ad9e6b8f3e9908f042e727973cfb1196ab55535 SHA512 c484066ed6ccd667aa8e0d1890d9da5681c811f02c763128101d99848bc762114d77660c6351c6b163a8b4ffceb2678951acbcd45f2fff9349a62f37be2d0c43
DIST yappi-1.6.9.gh.tar.gz 938153 BLAKE2B a14f7cc20a53b7e8b03544cad81c2d35e8874e15b6a4ef69b3fbaf06343e12a89513f768e62a2e91869175eaff4636caa4e60663caea56e1ca68cc85bdd36deb SHA512 c75e8911772473adb534b5b9afcde7053d73398b30938b8a64aa2d5af12c26618aca90d871f4fdd30f06ec58966931ae5088d4946cf0779e24e5be9f68e1ac22
diff --git a/dev-python/yappi/yappi-1.6.10.ebuild b/dev-python/yappi/yappi-1.6.10.ebuild
new file mode 100644
index 000000000000..0b436a469fde
--- /dev/null
+++ b/dev-python/yappi/yappi-1.6.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 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 pypi
+
+DESCRIPTION="Yet Another Python Profiler"
+HOMEPAGE="
+ https://pypi.org/project/yappi/
+ https://github.com/sumerc/yappi/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ "${FILESDIR}/yappi-1.2.5-warnings.patch"
+)
+
+python_test() {
+ local -x PYTHONPATH=tests
+ eunittest
+}
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index 6695a3c886fc..5d0d76955610 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1,3 +1 @@
-DIST zope.interface-6.4.post2.tar.gz 294539 BLAKE2B c6d892357e2ead04841cc5dde924b560e0cd968d84c607e3d1d2ebd804c2d1fbc764a721e8182ffd373a6339967b5230153e3e4934359028e98a0ad4e26c92a9 SHA512 da53c2136a6057de49374a428e855ad731288e45f27787d255073adb188680cb46a7b493258da01d6bbce5d7c7181306b64eb90609520aab361ac07dfba00d4b
-DIST zope.interface-7.0.3.tar.gz 252504 BLAKE2B 958605f010f7d282c8850160322bcc8ae4343508ff56d4ae2547815ac5dee76b39d9f7296402d1ccb9d410c64eabf5001be3df59d3768f9a400eaf0f4c94f1ad SHA512 fd086290943b6748b451ea0d375cd9d11a94a1d13c734cbd2834b062600400b5f7381e2b00fcdf6abbaaabf1abf687d15d44e81dd6967c39cbd19f9833b6c4dc
DIST zope.interface-7.1.1.tar.gz 253129 BLAKE2B 643092ca4497cf1854be7010aa412f009fa0108e8015a7df0c0d1c00ca0cc66e44863c3e5b24ac950d87f1dbea9d7840b21e0ba9552f7b119779990e18c1d091 SHA512 92809dd7744d5d90c773a85e17b4fdad646690e4f55023ee97541553ef41419dcf733d2944ebb5be911d9b962920c7e1f9660eea1273dfe30751b7c875291fad
diff --git a/dev-python/zope-interface/zope-interface-6.4_p2.ebuild b/dev-python/zope-interface/zope-interface-6.4_p2.ebuild
deleted file mode 100644
index 6ab454de4c4f..000000000000
--- a/dev-python/zope-interface/zope-interface-6.4_p2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Interfaces for Python"
-HOMEPAGE="
- https://github.com/zopefoundation/zope.interface/
- https://pypi.org/project/zope.interface/
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -e "/'setuptools'/d" -i setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
-}
diff --git a/dev-python/zope-interface/zope-interface-7.0.3.ebuild b/dev-python/zope-interface/zope-interface-7.0.3.ebuild
deleted file mode 100644
index 28a1bdeff9f4..000000000000
--- a/dev-python/zope-interface/zope-interface-7.0.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Interfaces for Python"
-HOMEPAGE="
- https://github.com/zopefoundation/zope.interface/
- https://pypi.org/project/zope.interface/
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- test? (
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -e "/'setuptools'/d" -i setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
-}