summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-02-12 07:31:35 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-02-12 07:31:35 +0000
commitd7799ed06b560db981e193ca3d51a6eaef27ef96 (patch)
treeb9d37ad6c49966916b890b311559f0c3e6b7d6d6 /dev-python
parent47ca1767274b2c945d1622a63055541958e8ca62 (diff)
downloadbaldeagleos-repo-d7799ed06b560db981e193ca3d51a6eaef27ef96.tar.gz
baldeagleos-repo-d7799ed06b560db981e193ca3d51a6eaef27ef96.tar.xz
baldeagleos-repo-d7799ed06b560db981e193ca3d51a6eaef27ef96.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.25.0.ebuild48
-rw-r--r--dev-python/Levenshtein/Manifest1
-rw-r--r--dev-python/cachelib/Manifest1
-rw-r--r--dev-python/cachelib/cachelib-0.12.0.ebuild46
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.1.0.ebuild24
-rw-r--r--dev-python/httpx-socks/Manifest1
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.8.1.ebuild50
-rw-r--r--dev-python/imageio/Manifest1
-rw-r--r--dev-python/imageio/imageio-2.34.0.ebuild92
-rw-r--r--dev-python/pycairo/Manifest1
-rw-r--r--dev-python/pycairo/pycairo-1.26.0.ebuild73
-rw-r--r--dev-python/pytest-home/Manifest1
-rw-r--r--dev-python/pytest-home/metadata.xml10
-rw-r--r--dev-python/pytest-home/pytest-home-0.5.1.ebuild26
-rw-r--r--dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild4
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-69.1.0.ebuild123
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.26.ebuild111
-rw-r--r--dev-python/twine/Manifest1
-rw-r--r--dev-python/twine/twine-5.0.0.ebuild78
22 files changed, 693 insertions, 2 deletions
diff --git a/dev-python/Levenshtein/Levenshtein-0.25.0.ebuild b/dev-python/Levenshtein/Levenshtein-0.25.0.ebuild
new file mode 100644
index 000000000000..b136ae4de663
--- /dev/null
+++ b/dev-python/Levenshtein/Levenshtein-0.25.0.ebuild
@@ -0,0 +1,48 @@
+# 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_{8,9,10,11,12} )
+
+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 ~ia64 ~mips ~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.1.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 c48000bf8204..a7ab94403903 100644
--- a/dev-python/Levenshtein/Manifest
+++ b/dev-python/Levenshtein/Manifest
@@ -1,2 +1,3 @@
DIST Levenshtein-0.23.0.gh.tar.gz 36891 BLAKE2B 847772ee88a76881c0974a1a9c1ef252320308f17b30b227f8251b0a8b8454c2289e02a24b2a9cb225d34183c5b6e4dbf574b22a5d37a1b453596ff0cb6e0aa0 SHA512 137116f337f576534bf2c12dc49d35f81a3b267eb613e5e6cca6cb80e5701dd0adbfd97c1cec4ea8f1bb4dee2bc67deeb19553474348ea78af4e05b79ce01fdf
DIST Levenshtein-0.24.0.gh.tar.gz 37197 BLAKE2B 75dcce68255b3e14e0ff9cb8e67b0381c7463f8b52f5922fcefc860bc638dc42d070e7a3dec8a870f92981dbb2ac8ec0d238845b5a68561d57f10d1c1721c021 SHA512 b47b903eb5cee3c8dc38fe5a963f20af3bdf1a8df74c1d2ea6d94810ebd37c1fc0c2adbb4bc951245ea72a6196c509dcf18066f3746b94f5b6d5f4414f296a2a
+DIST Levenshtein-0.25.0.gh.tar.gz 39076 BLAKE2B cb3bb55b37b5bfa8dc95d78dc6898154b4d4240c27348c6e03b13cdaa2c8ff19d1e8f2bf3d6b4fcc5c77be917afaa391276e93dcac24c2c19e1b285653a45c72 SHA512 e07ea1cef83c19a2a24ae76647ae2c534213ac6044b50a78dd1f2007936eb46032db326728b420471b6cb63ba6ac80a11c575ab277ae77116c592d113daba74c
diff --git a/dev-python/cachelib/Manifest b/dev-python/cachelib/Manifest
index cfb4d02fc754..52ca3c3790dc 100644
--- a/dev-python/cachelib/Manifest
+++ b/dev-python/cachelib/Manifest
@@ -1,2 +1,3 @@
DIST cachelib-0.10.2.gh.tar.gz 29249 BLAKE2B 2f15e59f1f3ff2dfabed4076e0e47888d16421b7e94cbe13903a39641d903e044c6879aec3a7ad1673e0bb19d7b668d69316bee9b8f8bb4176125de93bc547df SHA512 7168703bdca228982216c65cd1a765d727813e47a0522d5e84258251b8aebde4d6d561850f97232b4e6c054fe09487e35a251b3992682145ef49c5ff1212488b
DIST cachelib-0.11.0.gh.tar.gz 29173 BLAKE2B f67a33b59d805997c89ee8ec1cbd268b2a12b459a56a3c7161a7fd660e72969c02cd94fd2048f54b256a25e050ce558b20f99d0b44a44dd51ed685894ce0123b SHA512 fd0d271866f09aa93b93579959b92e1d24e220bd3635fc0d16bee93119710afcaa8d7443c6dba5819c3b3ff841d8fe9eff1ebb69db496f9c56a74120644f8e52
+DIST cachelib-0.12.0.gh.tar.gz 30768 BLAKE2B 5d147e63d0be58c7134f851cea79a002aa89b5364aec5c0e0906bfb9573578b094d71f361265b15eb519da897eed069d4aaeae1a8599176a95c074186018a713 SHA512 a35bfa9dfb6db8ae0e6fcdad86e5221d82144d5c0fcdb046b951d193f70f706712800b27c27825f8020314c521eb568131257ce0e20dc820cb3f7f8ffbf2650f
diff --git a/dev-python/cachelib/cachelib-0.12.0.ebuild b/dev-python/cachelib/cachelib-0.12.0.ebuild
new file mode 100644
index 000000000000..710e37a05170
--- /dev/null
+++ b/dev-python/cachelib/cachelib-0.12.0.ebuild
@@ -0,0 +1,46 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of cache libraries in the same API interface. Extracted from werkzeug"
+HOMEPAGE="
+ https://pypi.org/project/cachelib/
+ https://github.com/pallets-eco/cachelib/
+"
+SRC_URI="
+ https://github.com/pallets-eco/cachelib/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pylibmc[${PYTHON_USEDEP}]
+ dev-python/pytest-xprocess[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ net-misc/memcached
+ www-servers/uwsgi[python,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # bug #818523
+ tests/test_redis_cache.py
+ # requires some test server running
+ # (these tests require dev-python/boto3)
+ tests/test_dynamodb_cache.py
+ # requires mongo test server
+ tests/test_mongodb_cache.py
+)
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 1fd46e152da1..fc967102b9e4 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1 +1,2 @@
DIST setuptools-69.0.3-py3-none-any.whl 819530 BLAKE2B 6ecef64755181255d935e234f77db3a4a9ce6426621d5d95196f55820a6bd62ff6bd3efcbf2e66221501b0c7c5296a35f80d275c59a8075392a0e802ee6713f1 SHA512 20c68e4f279a133f33ac85885b2c7e05b68c8c2faf15c9bb251229a6668c5c6b54c4065c54a0b711dae36d7fd161d3dc34218c579e739a2b2c573b85ccc79820
+DIST setuptools-69.1.0-py3-none-any.whl 819310 BLAKE2B 1aface76839a9e77de4b59a366f5aab927b08601f5343e243992b4bcf960d9456b827e296320469dee05ef0212561a25ec3bfad61970129117e86732e04c974a SHA512 40e7c427cb36255639b390b027cc0449006e1c676d8d832f924d2fbd900a433f1011078cb3734a89400deb645dbb4f6be574231597d8d32cf43fc10b3b9579e9
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.1.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.1.0.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest
index 99495a8dec0e..04bf6739b27a 100644
--- a/dev-python/httpx-socks/Manifest
+++ b/dev-python/httpx-socks/Manifest
@@ -1 +1,2 @@
DIST httpx-socks-0.8.0.gh.tar.gz 15285 BLAKE2B 1da3bffff2be273e62452d96c8e07f38cf3c488bb89704ab377565feecafc1f96e9b96b615dfca4c3721c295414005014f868982a440ed47f3454814545aa6c7 SHA512 f58555670bc689002633daf3cf373641cbab6417636d16e878d5f9fc796b8bf7111d7c6985909590ccaeedb95793f589676e7f36c217330cbf46b4778319a4b7
+DIST httpx-socks-0.8.1.gh.tar.gz 15289 BLAKE2B 08a8431c5818ea653ea27a0dbc3de6708cb81a7129cda779e8c8cbe3d497ccdad0ed646faf06c5138f6c136a74d4c1b06e6e3920fc5362d471aa03372721cd33 SHA512 804e609826eff4c9e321440b657f3c96d688bf27a4e9a1fdd6b07a410f7f7671fef840403d2231a48b53133a8a4db9522f6c46467e78dc2443270fea4116d66e
diff --git a/dev-python/httpx-socks/httpx-socks-0.8.1.ebuild b/dev-python/httpx-socks/httpx-socks-0.8.1.ebuild
new file mode 100644
index 000000000000..d190ff997121
--- /dev/null
+++ b/dev-python/httpx-socks/httpx-socks-0.8.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Proxy (HTTP, SOCKS) transports for httpx"
+HOMEPAGE="
+ https://github.com/romis2012/httpx-socks/
+ https://pypi.org/project/httpx-socks/
+"
+# no tests in sdist, as of 0.7.6
+SRC_URI="
+ https://github.com/romis2012/httpx-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-0.17.3[${PYTHON_USEDEP}]
+ >=dev-python/python-socks-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/hypercorn-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.19.1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.6.3[${PYTHON_USEDEP}]
+ dev-python/tiny-proxy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin dependencies
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index 74f9f2837ae9..d43fd6d7485d 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,3 +1,4 @@
DIST imageio-2.33.1.gh.tar.gz 413003 BLAKE2B 33afafcca605388e24920047d80b37e5a100c3a747d862a8fccece9ebd6d2ec53f564b1ce5d37fe7c97b2c4b7d4cf5258331b5824ecbdc4648809de7e763e4e0 SHA512 c7fb3ee6df72f4ef93be8a4b21beb15287a644113df2790f0049d6a8dcac6b7762186c4f2b9a07c2b579b3c0d4fbf3037c82889f1911c65fc615b7c8c98c80bb
+DIST imageio-2.34.0.gh.tar.gz 413125 BLAKE2B c6f9650265924f370634f5ab87bed94bdb501d078a154b93400d8c89847da3fef7196f18db0682bbfc99ac5c9f4156a113bb2d74f572c010842b9b9593d7c13e SHA512 d28b5b849a8d7fc90c4c4a82b2056431e5351ecce709cd48ccb9aaf58a50964a1b77faf4663d3fdeb4757951fb8a03b5bf632e57f78ddd59d5a9acdb62b78f48
DIST imageio-chelsea.png 221294 BLAKE2B 58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3 SHA512 48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
DIST imageio-cockatoo.mp4 728751 BLAKE2B 45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2 SHA512 e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
diff --git a/dev-python/imageio/imageio-2.34.0.ebuild b/dev-python/imageio/imageio-2.34.0.ebuild
new file mode 100644
index 000000000000..35d0682ac4e9
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.0.ebuild
@@ -0,0 +1,92 @@
+# 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_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+BIN_COMMIT=224074bca448815e421a59266864c23041531a42
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
+ -> ${PN}-chelsea.png
+ https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
+ -> ${PN}-cockatoo.mp4
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+# over 50% of tests rely on Internet
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+# requests for fsspec[github]
+BDEPEND="
+ test? (
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/imageio-ffmpeg[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}"/imageio-2.22.0-block-download.patch
+ )
+
+ if use test; then
+ mkdir -p "${HOME}"/.imageio/images || die
+ local i
+ for i in chelsea.png cockatoo.mp4; do
+ cp "${DISTDIR}/${PN}-${i}" "${HOME}/.imageio/images/${i}" || die
+ done
+ fi
+
+ distutils-r1_src_prepare
+}
+
+EPYTEST_DESELECT=(
+ # Fails because of system installed freeimage
+ tests/test_core.py::test_findlib2
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # known broken
+ # https://github.com/imageio/imageio/issues/890
+ tests/test_freeimage.py::test_exr_write
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # TODO: imageio-ffmpeg seems broken with current ffmpeg?
+ tests/test_ffmpeg.py::test_reader_more
+ tests/test_ffmpeg.py::test_reverse_read
+ tests/test_ffmpeg.py::test_write_audio_ac3
+ tests/test_ffmpeg.py::test_write_audio_default_codec
+ tests/test_ffmpeg.py::test_writer_pixelformat_size_verbose
+ tests/test_ffmpeg_info.py::test_overload_fps
+)
diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
index 7ef49d2916a7..c7bcb5e4215e 100644
--- a/dev-python/pycairo/Manifest
+++ b/dev-python/pycairo/Manifest
@@ -1 +1,2 @@
DIST pycairo-1.25.1.tar.gz 347088 BLAKE2B ba4eedaf47e514bd7c3ad5ea738d099428958988a708255f59df48372d112d0195fe746be03de56aa25ccce9c2366b8898fcdd568b427372d0340c5edd550a5c SHA512 f2b93a09cbe9cd7c2885794ff58a48df6cf59fbe2dbeabf7c6e9d99e68c71ac220abc866ac0d756c7ffb3f821ef63b65dbb8963f0bf7d5bd21ee0efb800e7b23
+DIST pycairo-1.26.0.tar.gz 346850 BLAKE2B da6c35c929d372764280e8963a8b66ba533ccb99be9ee2bfa10859c635dd16cc087d542607be9ec6a9ffb942feb892100d4b9017d832d478b35c434aa05b9bb9 SHA512 5313f0d408a6e6ce6e70ac92291be5dd8651e01fbf9411d0467061afa21849cde27db273f2a13b4c3c931183f63f75f31fc0f0d3283b8f339ba88e71eab432f1
diff --git a/dev-python/pycairo/pycairo-1.26.0.ebuild b/dev-python/pycairo/pycairo-1.26.0.ebuild
new file mode 100644
index 000000000000..f43689d4c2b4
--- /dev/null
+++ b/dev-python/pycairo/pycairo-1.26.0.ebuild
@@ -0,0 +1,73 @@
+# 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_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the cairo library"
+HOMEPAGE="
+ https://www.cairographics.org/pycairo/
+ https://github.com/pygobject/pycairo/
+ https://pypi.org/project/pycairo/
+"
+SRC_URI="
+ https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=x11-libs/cairo-1.15.10[svg(+)]
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ esetup.py build_tests
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # we need to pass --root via install command, sigh
+ cat > "${T}/distutils-extra.cfg" <<-EOF || die
+ [install]
+ root = ${D}
+ EOF
+ local -x DIST_EXTRA_CONFIG=${T}/distutils-extra.cfg
+ esetup.py \
+ install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+
+ insinto /usr/include/pycairo
+ doins cairo/py3cairo.h
+}
diff --git a/dev-python/pytest-home/Manifest b/dev-python/pytest-home/Manifest
new file mode 100644
index 000000000000..96f9ab0e2ae5
--- /dev/null
+++ b/dev-python/pytest-home/Manifest
@@ -0,0 +1 @@
+DIST pytest-home-0.5.1.tar.gz 7596 BLAKE2B 3e0ac21a35bff15e652d710bab0c59855c9beda9a1aa32ca5e3aa9e659dabb5a09bc0e93c56f280e859a1d50159f6e56aaf69ec64ee5268a1a93871bca3b3a23 SHA512 6b3ab71f48135d7fe3e0279de598e8067bfeb1f3295d4ab947ff703e8c8c6b61d827ce30f86da15b854a09b813105e459eed02af19da22debd25df20759759b8
diff --git a/dev-python/pytest-home/metadata.xml b/dev-python/pytest-home/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/pytest-home/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pytest-home/pytest-home-0.5.1.ebuild b/dev-python/pytest-home/pytest-home-0.5.1.ebuild
new file mode 100644
index 000000000000..77d3da75f4b8
--- /dev/null
+++ b/dev-python/pytest-home/pytest-home-0.5.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Home directory fixtures"
+HOMEPAGE="
+ https://github.com/jaraco/pytest-home/
+ https://pypi.org/project/pytest-home/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild b/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild
index 87cf0a00eee8..953301645930 100644
--- a/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild
+++ b/dev-python/sentence-splitter/sentence-splitter-1.4-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 534fff7d1b11..fb02d64bf077 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1 +1,2 @@
DIST setuptools-69.0.3.tar.gz 2219609 BLAKE2B 1a5e7896c7ea82d51b0aa4794435b9899cef871f6ae43d22ae5e08c57d87b70641f3f2abfcc29956a3de515f90b112fd61d3daf793474b4cf33f8567e3a38f4a SHA512 11df934931f4b73f7e07ea5713479593c6baa134d423556b2ae7aff0f1e5bdbdee1f5b516131adb169c838231ceb0293441fbf275ef7030dabecf74122565b6d
+DIST setuptools-69.1.0.tar.gz 2219972 BLAKE2B 82ba9df6e6234bcf234f6b6659704b208912d05749bd6f34ce456bd356bc65b8ee17f534dc8baaac71b331089d8ca8798101e0c2c91f3bd24e18d406db7ff0e5 SHA512 345aa208a446561e7a038cb5021eb6948940f95dde1291c0b1aa037098fcbe782dbc3f0db4bec17f18eca51f236365ddb396bb7441e01e2d2caa2a600360b756
diff --git a/dev-python/setuptools/setuptools-69.1.0.ebuild b/dev-python/setuptools/setuptools-69.1.0.ebuild
new file mode 100644
index 000000000000..7193d4a5d398
--- /dev/null
+++ b/dev-python/setuptools/setuptools-69.1.0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
+ )
+
+ distutils-r1_src_prepare
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # TODO
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ )
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest -o tmp_path_retention_policy=all setuptools
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index babf17b71f8a..6fd875bdb62f 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,2 +1,3 @@
DIST SQLAlchemy-1.4.51.tar.gz 8521574 BLAKE2B 216550225c11d5367e5a50ec321a09078b4677973cf33eee1874beb9f855cfeb629a6df4d05e8ecc5b22052628de5cae2e468d18d50502a4560bd4ca7d85ab7d SHA512 be27a41f442428cdb5cc6a20af2de9424384457475d16a7d7167b718256e208766e2ba8d53bef2b314aafe87b3d9b0c5f9af6e4c03f53fb194671cfaca6e50b5
DIST SQLAlchemy-2.0.25.tar.gz 9508797 BLAKE2B 88f8927af1a20bdc3697e90112d515a04c64879bc806ae655d326f22322210853c2995ad884cb510a15d14ae12eb7612d867f701ab8f938ec0227abaab642497 SHA512 60b31a167f46a623f76e349f6a3f5a1696e1a04aee8dec2750396c715831a242a96e281ee7fcbfa26f82e6318573ab58e97d21bd93d02bbe3ff962777d809146
+DIST SQLAlchemy-2.0.26.tar.gz 9526590 BLAKE2B b68db1bd26106d199559ab80381c33c2bc0fd767f7a25e90216ddb93e2207fae5b85f369536f3531cb2699f6ed815a18f60860f0003c36d74a3c61080faeb1f2 SHA512 62532253ba6dee0c8e5c89487459ce783eb3d00cdcaf645efa5b68a03b62cc92ab7b447c791ac05bd552910edd223a390ab930a16b6234afb5dbe6d9c05b997a
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.26.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.26.ebuild
new file mode 100644
index 000000000000..4cd69540a31d
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.26.ebuild
@@ -0,0 +1,111 @@
+# 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_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 multiprocessing optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/twine/Manifest b/dev-python/twine/Manifest
index 29b838b50621..108c298357f1 100644
--- a/dev-python/twine/Manifest
+++ b/dev-python/twine/Manifest
@@ -1 +1,2 @@
DIST twine-4.0.2.gh.tar.gz 214528 BLAKE2B c088329a86139eb01d325ec623504c0dfee1231ca8bbbf9ed73d46d4ed9dd79aaac6aaad225cacd64942eb7a3ead19bcb5e224ad9735d9760bd8c9c8e5e69043 SHA512 94dec0b08ea8f4cc5900d743b750f02a668c738d402632a80faef24220f87b4b14824966d6d902e9ddaab741e4091d6a370a7660d02ca27fd6fd0d251a473ab5
+DIST twine-5.0.0.gh.tar.gz 218873 BLAKE2B 0f4f92d3ee9ae0f154c68cbc165ce014cbd5c34d88f8067c5f9ab4b6cfd3fc9d435f9c1ada6911af2f711bef3c5607fdfd969ad454c06e3a9bbce4f23ebc2a07 SHA512 a1701844df03f0ca0e4b15eeae97e1a1a5788f13f04bbd5b084a9dc6637c2404aefc354705c974edd53b2f09517e088f5857cb211ed45ed7dbcedecb0f6392d5
diff --git a/dev-python/twine/twine-5.0.0.ebuild b/dev-python/twine/twine-5.0.0.ebuild
new file mode 100644
index 000000000000..4ed74c5319f4
--- /dev/null
+++ b/dev-python/twine/twine-5.0.0.ebuild
@@ -0,0 +1,78 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of utilities for publishing packages on PyPI"
+HOMEPAGE="
+ https://twine.readthedocs.io/
+ https://github.com/pypa/twine/
+ https://pypi.org/project/twine/
+"
+SRC_URI="
+ https://github.com/pypa/twine/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
+ >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
+ >=dev-python/keyring-15.1[${PYTHON_USEDEP}]
+ >=dev-python/pkginfo-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/readme-renderer-35.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-12.0.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/jaraco-envs[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ dev-python/munch[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pypiserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # pytest-socket dep relevant only to test_integration, and upstream
+ # disables it anyway
+ sed -i -e '/--disable-socket/d' pytest.ini || die
+ sed -i -e '/--cov/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Internet
+ tests/test_integration.py
+ )
+ local EPYTEST_DESELECT=(
+ # Regression due to deps?
+ tests/test_check.py::test_fails_rst_no_content
+ # Avoid needing heavy virtualx
+ tests/test_auth.py::test_warns_for_empty_password
+ )
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}