summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-08-07 18:34:18 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-08-07 18:34:18 +0000
commitac448403b0b99947600681f5828e8456d5bbdfa5 (patch)
treed1731ba7706c9baf9b95240c72005cd0b4683471 /dev-python
parentce8004e4e9d484234994b9dacc3c09ea894812ea (diff)
downloadbaldeagleos-repo-ac448403b0b99947600681f5828e8456d5bbdfa5.tar.gz
baldeagleos-repo-ac448403b0b99947600681f5828e8456d5bbdfa5.tar.xz
baldeagleos-repo-ac448403b0b99947600681f5828e8456d5bbdfa5.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiohappyeyeballs/Manifest2
-rw-r--r--dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.5.ebuild (renamed from dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild)0
-rw-r--r--dev-python/astroid/Manifest1
-rw-r--r--dev-python/astroid/astroid-3.3.1.ebuild89
-rw-r--r--dev-python/attrs/Manifest1
-rw-r--r--dev-python/attrs/attrs-24.2.0.ebuild33
-rw-r--r--dev-python/cffi/Manifest1
-rw-r--r--dev-python/cffi/cffi-1.17.0.ebuild71
-rw-r--r--dev-python/django/Manifest4
-rw-r--r--dev-python/django/django-4.2.14.ebuild101
-rw-r--r--dev-python/django/django-4.2.15.ebuild2
-rw-r--r--dev-python/django/django-5.0.7.ebuild103
-rw-r--r--dev-python/django/django-5.0.8.ebuild2
-rw-r--r--dev-python/furo/Manifest1
-rw-r--r--dev-python/furo/furo-2024.8.6.ebuild42
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.140.0.ebuild50
-rw-r--r--dev-python/google-auth/Manifest1
-rw-r--r--dev-python/google-auth/google-auth-2.33.0.ebuild59
-rw-r--r--dev-python/hcloud/Manifest1
-rw-r--r--dev-python/hcloud/hcloud-2.2.0.ebuild49
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.109.0.ebuild103
-rw-r--r--dev-python/jaraco-vcs/Manifest1
-rw-r--r--dev-python/jaraco-vcs/jaraco-vcs-2.4.0.ebuild48
-rw-r--r--dev-python/kombu/Manifest1
-rw-r--r--dev-python/kombu/kombu-5.4.0.ebuild83
-rw-r--r--dev-python/pyglet/Manifest1
-rw-r--r--dev-python/pyglet/pyglet-2.0.17.ebuild79
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-7.0.0.ebuild61
-rw-r--r--dev-python/pytools/Manifest1
-rw-r--r--dev-python/pytools/pytools-2024.1.12.ebuild33
-rw-r--r--dev-python/pyyaml/Manifest1
-rw-r--r--dev-python/pyyaml/pyyaml-6.0.2.ebuild63
-rw-r--r--dev-python/regress/Manifest21
-rw-r--r--dev-python/regress/regress-2024.8.1.ebuild62
-rw-r--r--dev-python/sphinx-gallery/Manifest1
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.17.1.ebuild51
-rw-r--r--dev-python/time-machine/Manifest1
-rw-r--r--dev-python/time-machine/time-machine-2.15.0.ebuild30
-rw-r--r--dev-python/transitions/Manifest1
-rw-r--r--dev-python/transitions/transitions-0.9.2.ebuild52
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.13.3.ebuild119
-rw-r--r--dev-python/watchfiles/Manifest8
-rw-r--r--dev-python/watchfiles/watchfiles-0.23.0.ebuild127
-rw-r--r--dev-python/yattag/Manifest1
-rw-r--r--dev-python/yattag/yattag-1.16.0.ebuild27
49 files changed, 1382 insertions, 211 deletions
diff --git a/dev-python/aiohappyeyeballs/Manifest b/dev-python/aiohappyeyeballs/Manifest
index d5af98349517..48eca00674f6 100644
--- a/dev-python/aiohappyeyeballs/Manifest
+++ b/dev-python/aiohappyeyeballs/Manifest
@@ -1,2 +1,2 @@
-DIST aiohappyeyeballs-2.3.2.gh.tar.gz 46204 BLAKE2B 85a050910181e7acd6520ae8126e6e1656b5d5e7d869bca481af5fe65b52bf1d4dc0502d2e0cce702c60dc9420757fc892a91a600a73925adce6990fc224bb1a SHA512 5638dabb06c9d0182e21371470d612ec78a1a8981a0720318b0f4fc0569b7c556adfba6297b5bec75726e106f5a6335acfb19bd5322e43e5ebc4f71d4457424c
DIST aiohappyeyeballs-2.3.4.gh.tar.gz 54416 BLAKE2B ca3f34af2d20528c229b6beba0896a7a2e6dc86a83310c36163c2213232d3222e8ba9eafc23461c5d79fae7af6a06127691ddfb582e12c3d402ee452c42803a0 SHA512 75adf8164e287113fb176f5f814f929dac57834941ba83eeec4c2e9aa28585c4659bc18fe7d7b010e9f53ee81d3a5b3727175ed981d4ec846e6209428a2516eb
+DIST aiohappyeyeballs-2.3.5.gh.tar.gz 55133 BLAKE2B 09560b2616ecb6f2b496269f6d9589965b46f3be577fb8f3385a7f05d8af41c411d74320bbe6090e95bcea520167474b54866f56e16fce897062f11a58f26d03 SHA512 bd322bb62d9fe5e82e8b7380a9b769f670fb0cb2a653d31ccfd3c25e5dc58dde814291deecfc3d159ca13282fa149e654d8e4b16bc8a042d31f40318b6aadd2b
diff --git a/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild b/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.5.ebuild
index 52823476f368..52823476f368 100644
--- a/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild
+++ b/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.5.ebuild
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index ac2f210aa402..07ae03288fec 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,3 +1,4 @@
DIST astroid-3.2.3.gh.tar.gz 465447 BLAKE2B d41d206e3b362316ba71f109729fb26ff6b4f63719a0337f78545ce58fabaaa73a3ee62ff6bffa9c4a2f10e6e10718bdc17a38ecc319bce443695a60628ac315 SHA512 d9e8b85401598c0ffd3a27c37c4133bc9bba8436cdeb3dadc9a2337ebbf731c062451cdc5c9cf72a768ecf98253051ac012cfdb08084009a9c4a9043acfeabbc
DIST astroid-3.2.4.gh.tar.gz 465788 BLAKE2B 745a860b7bacb45cb86e9b232fe3a37cdac40cb471b00832a7dd7da4c3374760749cebe8c8688748e750cc3639554515a7a9e24f5f4d2ebac10af2c906fa04a9 SHA512 e48289794f67cf53bb8a2dcf357c1e892140a0a625c2e19601cf5ad579aaa33a94f0e052915fa6e854bc0a2e626f41b2d13773aa2b2af2412efeb33d030ed2b6
DIST astroid-3.3.0.gh.tar.gz 463962 BLAKE2B 64f80499e6a435326ef822e4e9baae3ae8cea1f0c2762e79bb6fa4a7158897b8399deb17e7416ce4cbc243dbd38701729e9083c3c92ee9577a216b5e9d7e624c SHA512 c8e494704b9cd769eb4175556f160e5596a7058fe73a020e3b6f261626d9cc7ce7fabeea517e8e172467524126a4950d4280f830a9f49c1607382f9ceb8aed84
+DIST astroid-3.3.1.gh.tar.gz 464132 BLAKE2B 011b61777ce4f3900ed1c23a664b7ae0c16e364f61cd664078d78bf6a90097f423afe03579e151439a9b02874e2fa12844f0587632e1bf1f40b428d2d99cc6da SHA512 992f80c30fdb02d283e73d1329a58ddd10a4f800e74b4697086b194a329ff6ae7ae026c907317e9604371a60cb814f243f2506d921d196214f11741f098485c1
diff --git a/dev-python/astroid/astroid-3.3.1.ebuild b/dev-python/astroid/astroid-3.3.1.ebuild
new file mode 100644
index 000000000000..3ae97f5efa59
--- /dev/null
+++ b/dev-python/astroid/astroid-3.3.1.ebuild
@@ -0,0 +1,89 @@
+# 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="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ # pydantic-2?
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ # requires urllib3 with bundled six (skipped with urllib3>=2)
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changes in py3.13.0b4
+ # https://github.com/pylint-dev/astroid/issues/2478
+ tests/test_nodes.py::AsStringTest::test_f_strings
+ tests/test_nodes_lineno.py::TestLinenoColOffset::test_end_lineno_string
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/attrs/Manifest b/dev-python/attrs/Manifest
index ffea536033ba..b2a3940b7a81 100644
--- a/dev-python/attrs/Manifest
+++ b/dev-python/attrs/Manifest
@@ -1,2 +1,3 @@
DIST attrs-23.2.0.tar.gz 780820 BLAKE2B a06f4f17a81fc173c37661bcf518367a1cdc9a333d2783bd2cd1ac5f0a72bd20ec1afdd964e10255624bcfa027e3a152375cd21472c177428d29bd06b29984a1 SHA512 d8b178072a028b95d8424cd3ce0c8b4e6da8558fbcbcaaef91fbd03cf51e6190aa248aa0bff853e6f7c9595bbd5a8eef9d6f68ae2830cc1cc6d826ab0dda2378
DIST attrs-24.1.0.tar.gz 792572 BLAKE2B ece012327c6fd5de771376dd70a5a739a282c22cf7fe536d943072193dc45cc5efcf492fe40c46e837bd036109ca01073dd10aec6e116efa668af0872cc51a3a SHA512 dd84da9b06f5da2724d834c1b8b3ffb5d745d49c8a168e0503ca7572561b2021562b5bbfeea133a7d097fc9423a05494f372e72a9fcc25ada2f745c34a80fdab
+DIST attrs-24.2.0.tar.gz 792678 BLAKE2B f5110f5bf4b848a929a3766985fc49ee8da346398c26d0f786a12d89e7596ec7165bdefaae4b2716003c4b3ad7fcc619ec2f5e0d184df899318a7bb02c9919a4 SHA512 fcd14ff79a09a0b2b56734c460b5c43836999b6ed27665038ff7a146f53891b31ab3da07df05f1686474507f342bfce09bc0a6a60865c241e58f7ce8423dc968
diff --git a/dev-python/attrs/attrs-24.2.0.ebuild b/dev-python/attrs/attrs-24.2.0.ebuild
new file mode 100644
index 000000000000..fb4588967623
--- /dev/null
+++ b/dev-python/attrs/attrs-24.2.0.ebuild
@@ -0,0 +1,33 @@
+# 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_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Attributes without boilerplate"
+HOMEPAGE="
+ https://github.com/python-attrs/attrs/
+ https://attrs.readthedocs.io/
+ https://pypi.org/project/attrs/
+"
+
+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"
+
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-23.2.0[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
index 0bc5cf6a8a61..efae992cee86 100644
--- a/dev-python/cffi/Manifest
+++ b/dev-python/cffi/Manifest
@@ -1,3 +1,4 @@
DIST cffi-1.16.0.tar.gz 512873 BLAKE2B 9e8d107b3124a072e559c4a536b54a172e90f9fe51d8184dacc2914a8ffa84f2682eee9c90401325dfb0f36f3f8ea0456afc93e2b85a4fef5f07ae4475e0a76b SHA512 fd2588115092202aa9289c9d4e0a0b3e264b5e9ec1dc192950f31aeb412fd9f9d4e5c96a3f9c6762987b58ccc1e229f2012ddda89211797104df672d8ed51152
+DIST cffi-1.17.0.tar.gz 516073 BLAKE2B e050689b58b4a34e3f605f84b3b6a59ec44359bfb042796f82e1acb6349b65ca37f9fb7a0d4ffc7fe40b85416288dcc1f3496968c4fb3f36cdd2c0042658f7b1 SHA512 8516abe177c2acfc31ede401287956cc4dc486b26ed9c4752811be71dc6bc94af3adf1f1f685a94e7242f052b74768bfbbb30ce41a3c23b9259c91449347566e
DIST cffi-1.17.0rc1.tar.gz 516063 BLAKE2B 02f25fde28a070c314deb5870d2285a0cfd2fd10d0136b3c5459d4bb11454722d61dfe0e5f27a7268a4aca8cadb2a9df045340094bcf98f1692f54ddea6df714 SHA512 757ccaf09a745cd04a31d0b2fcc46f438269b79b88c4a89aa7dd2f0dd1bc1b64fb9f9fde2461407e1c0482c1c64e837283e21d0b46dbcb0c4ccd5e54a8319a0e
DIST cffi-d7f750b1b1c5ea4da5aa537b9baba0e01b0ce843.gh.tar.gz 523050 BLAKE2B 498085e9bc497eb1abf2d2e26e2cdb9d7544509b2c1686b306930c2da8a39a5ef133b77302761b44d5231c5255ef30cbd22579c79921dc2dc71e723ff5624939 SHA512 a0d1eb7bf8df12331d3493d86894ba062f7a15f4e7421863d44e264d4ca40ef864c7574d42cb7a4f2ea44ab80242942d6f4c8772c64b8dd0789aeb9f1908fc89
diff --git a/dev-python/cffi/cffi-1.17.0.ebuild b/dev-python/cffi/cffi-1.17.0.ebuild
new file mode 100644
index 000000000000..0cdd64a2145d
--- /dev/null
+++ b/dev-python/cffi/cffi-1.17.0.ebuild
@@ -0,0 +1,71 @@
+# 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
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# DO NOT ADD pypy to PYTHON_COMPAT
+# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="
+ https://cffi.readthedocs.io/
+ https://pypi.org/project/cffi/
+"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+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"
+
+# Needs recent libffi for HPPA fixes
+DEPEND="
+ >=dev-libs/libffi-3.4.4-r1:=
+"
+# setuptools as a modern distutils provider
+RDEPEND="
+ ${DEPEND}
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc/source
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch
+)
+
+src_prepare() {
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # Don't obsessively try to find libffi
+ sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these tests call pip
+ testing/cffi0/test_zintegration.py
+ )
+
+ "${EPYTHON}" -c "import _cffi_backend as backend" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest src/c testing
+}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index ab391baedcdf..15e8bd1f8c46 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,9 +1,5 @@
-DIST Django-4.2.14.checksum.txt 2579 BLAKE2B 9cf59d23c8fa0ad9b86f30a492d981a3084c31fd0c7e8ea212c62377385bcb45369ee3f29573c8e129f8d248ca4e94d4c1a4172048b9a9b2f66cc3291e972367 SHA512 c36efc19f8cc90db89dfe3ffaedff724f4b5a049f6def7acb194f8114a2ae519c5c07dea5452c09618629c9d585867de4b028bcef382f43d24f753f4a100c1c6
-DIST Django-4.2.14.tar.gz 10432993 BLAKE2B 0139669111f834bcb79fea5fa2bc43386d62a65790fda9d762f8ac4e2a32f2a3740629e31c863b2643fa13b893938c33b066c21f27857f391715b7cec88dfad7 SHA512 2663454c48f57a441d1620faad30ac25750d1e71bf34eddbdef3e6d8dd208913752ab657447ffea5e9d3a0676a4a4d501fa88a40a0ca0fd361df0782a6b3306b
DIST Django-4.2.15.checksum.txt 2418 BLAKE2B 06338f990952736d1368c11bc0a14df4fcb756c7e33b0a843d692c1ca23a9bf5073c552513cf2846c16da24da475ff122f59122f90da528c2cb8875072fa7748 SHA512 b4e8eb163a889c2aa556217b2ba6280916c891b2f8af862d66e09b5ec643dee9281e58e2382fdfdee1d0e1a9a80267c93993374ae3e0f33f3ec5051bae69f145
DIST Django-4.2.15.tar.gz 10418066 BLAKE2B 4abf7205995fbc8dd90ca43aadfdd6737c5f731fea4054f987ae851e0b6f0a5f0f799441f94ca322e31c07c2a810903a00b4432b71a7517b2a261c4844ddba90 SHA512 8f334dcaa36b3bce5184ddf1a1508bf42614be6ab486c9e0d87e9bfd212511c43081ad5fb02d2dd7b54f8236fc1f7ee9cd7b7f6f94ac8edc1cb52d1c0c698880
-DIST Django-5.0.7.checksum.txt 2569 BLAKE2B 0d4cecf064da9313058606569fcb014c5f3d5ec3c60a5a056cd8242ed9a8349b6d273c38010ba3d41fac85e5551a21748a7739772ad310f8c64224243745eac5 SHA512 9ec2e5e3ac0cb99be9349373c2cf47c6055e0bb729e5bb7e476350cd39595c4c82e7eab9a7eb286a9199834bed65d7f3d31ba59509d6e2e827b0f9c743aa9fcd
-DIST Django-5.0.7.tar.gz 10642686 BLAKE2B 559c3e3dd3971081e8572a707f59054ec84d9922493caddec9e008c5e850e8beb7bfbca291e4e7157e94d4fcd655983e3444f1c8f078342c8b66b3e8ce122ab7 SHA512 29aa4cd7bfdc5c00479c9d60d988653bab76dcfd8cd553ab446f6c274f99677ccaef0571b0afdf1579215918f500d87a0b098a98452c7526e89b1ab64f00b037
DIST Django-5.0.8.checksum.txt 2408 BLAKE2B 18751733d7abaa4e98039bf0cfa3773a999df4351371939803ec77850c25d75392abc7e4136e8c4a79620017c224bafcd8552c2446ee0817249abebcc3b0e1bb SHA512 c05027bdec0928dd51239ba5c72b97b737ad73dbbdbdc1c4bef2b9faf8afc188cd854e1dcd3b5ffbdc9c3a30dea5a27e4b899f9d257bcee6f80fbfdfd30e7a20
DIST Django-5.0.8.tar.gz 10630791 BLAKE2B 0a5408b46b69b701f3ff88717b41b22cd4abd776a0b46f46025febd423e4b9c5f395da50a5be9e479bc0047405330231da400f3f2324bbb69ca5ab07966bc168 SHA512 b835d01f76f0e0082f299c2b15483aa3a8aef79f873b09dac546d3b4ecfa8a6fb84d9377e06e18a858bd24bcdd2db89c4cf05811b3af133b7da6609f6c2d917c
DIST Django-5.1rc1.tar.gz 10747906 BLAKE2B a254c19d3e1713962e42736a99f2775c79ed7ad9b337280688402e7f564bc21c4b190f4887eb8aefee8ed17ab11cc51b490eb99bad967f2ad2e1321f70de9e80 SHA512 52d07fbfa031962a12109aa79ff44e93de3cba40c410be0707b46d1c47e352f066e5b58495f3aec5e60bd0b3844c667014b959965a248c4b6d997b8ced953622
diff --git a/dev-python/django/django-4.2.14.ebuild b/dev-python/django/django-4.2.14.ebuild
deleted file mode 100644
index c52b042721a5..000000000000
--- a/dev-python/django/django-4.2.14.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# 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 )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://github.com/django/django/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/python/django-4.2.8-pypy3.patch.xz
- verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/selenium[${PYTHON_USEDEP}]
- dev-python/tblib[${PYTHON_USEDEP}]
- sys-devel/gettext
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
-"
-
-PATCHES=(
- "${FILESDIR}"/django-4.0-bashcomp.patch
- "${WORKDIR}"/django-4.2.8-pypy3.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
- if use verify-sig; then
- cd "${DISTDIR}" || die
- verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
- cd "${WORKDIR}" || die
- fi
-
- default
-}
-
-python_test() {
- # Tests have non-standard assumptions about PYTHONPATH,
- # and don't work with ${BUILD_DIR}/lib.
- PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
- -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp extras/django_bash_completion ${PN}-admin
- bashcomp_alias ${PN}-admin django-admin.py
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature_header "Additional Backend support can be enabled via:"
- optfeature "MySQL backend support" dev-python/mysqlclient
- optfeature "PostgreSQL backend support" dev-python/psycopg:0
- optfeature_header
- optfeature "GEO Django" "sci-libs/gdal[geos]"
- optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
- optfeature "ImageField Support" dev-python/pillow
- optfeature "Password encryption" dev-python/bcrypt
-}
diff --git a/dev-python/django/django-4.2.15.ebuild b/dev-python/django/django-4.2.15.ebuild
index 7df9240f65e9..72f9686776a6 100644
--- a/dev-python/django/django-4.2.15.ebuild
+++ b/dev-python/django/django-4.2.15.ebuild
@@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/django/django-5.0.7.ebuild b/dev-python/django/django-5.0.7.ebuild
deleted file mode 100644
index 35d6e6723339..000000000000
--- a/dev-python/django/django-5.0.7.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# 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 )
-PYTHON_REQ_USE='sqlite?,threads(+)'
-
-inherit bash-completion-r1 distutils-r1 multiprocessing optfeature verify-sig
-
-DESCRIPTION="High-level Python web framework"
-HOMEPAGE="
- https://www.djangoproject.com/
- https://github.com/django/django/
- https://pypi.org/project/Django/
-"
-SRC_URI="
- https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
- https://dev.gentoo.org/~mgorny/dist/python/django-5.0-pypy3.patch.xz
- verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
-"
-S="${WORKDIR}/${P^}"
-
-LICENSE="BSD"
-# admin fonts: Roboto (media-fonts/roboto)
-LICENSE+=" Apache-2.0"
-# admin icons, jquery, xregexp.js
-LICENSE+=" MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
-IUSE="doc sqlite test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.7.0[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.11.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[webp,${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/selenium-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/tblib-1.5.0[${PYTHON_USEDEP}]
- sys-devel/gettext
- )
- verify-sig? ( >=sec-keys/openpgp-keys-django-20230606 )
-"
-
-PATCHES=(
- "${FILESDIR}"/django-4.0-bashcomp.patch
- "${WORKDIR}"/django-5.0-pypy3.patch
- # https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
- "${FILESDIR}"/django-5.0.6-py313.patch
-)
-
-distutils_enable_sphinx docs --no-autodoc
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
-
-src_unpack() {
- if use verify-sig; then
- cd "${DISTDIR}" || die
- verify-sig_verify_signed_checksums \
- "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
- cd "${WORKDIR}" || die
- fi
-
- default
-}
-
-python_test() {
- # Tests have non-standard assumptions about PYTHONPATH,
- # and don't work with ${BUILD_DIR}/lib.
- PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite \
- -v2 --parallel="${EPYTEST_JOBS:-$(makeopts_jobs)}" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- newbashcomp extras/django_bash_completion ${PN}-admin
- bashcomp_alias ${PN}-admin django-admin.py
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature_header "Additional Backend support can be enabled via:"
- optfeature "MySQL backend support" dev-python/mysqlclient
- optfeature "PostgreSQL backend support" dev-python/psycopg:0
- optfeature_header
- optfeature "GEO Django" "sci-libs/gdal[geos]"
- optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
- optfeature "ImageField Support" dev-python/pillow
- optfeature "Password encryption" dev-python/bcrypt
-}
diff --git a/dev-python/django/django-5.0.8.ebuild b/dev-python/django/django-5.0.8.ebuild
index 03ae7b1257b8..b983c77cd40d 100644
--- a/dev-python/django/django-5.0.8.ebuild
+++ b/dev-python/django/django-5.0.8.ebuild
@@ -28,7 +28,7 @@ LICENSE+=" Apache-2.0"
# admin icons, jquery, xregexp.js
LICENSE+=" MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x64-macos"
IUSE="doc sqlite test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/furo/Manifest b/dev-python/furo/Manifest
index fce510de5fb0..56a23a10e154 100644
--- a/dev-python/furo/Manifest
+++ b/dev-python/furo/Manifest
@@ -1 +1,2 @@
DIST furo-2024.7.18-py3-none-any.whl 340824 BLAKE2B 619e7183541921ec31f5a7e7ebcbc86f0507e04bf7e5c9e308a3b6a6b580cf734fe46b641b3bcaaeeaba39516ca27b49ef8faadd0d9d5864343aafc15a05037d SHA512 62c047742a0a851e5faf56013751d05a411920ca7659ef42fc06bcce6766a6605734b370a636f4b1c2805def42881c273a2b5eb6704484571d76a44145b0a346
+DIST furo-2024.8.6-py3-none-any.whl 341333 BLAKE2B e0cf87a69b35a0a48eb54eb9530ec92f5fa06882b4c4a9bf306a3b1eee7af8510e37dfd1b612fe747856e48eada1eed05ae8e5e270616bf9b5fd5a70705a9c53 SHA512 e9e32eb26659b710836c86bd881c07625d14a10000674d488da2dc71e5cbb7ba6ce4494892f731dbcf288af11bcf6870f9f97f70364425cca4a00f7edda01d48
diff --git a/dev-python/furo/furo-2024.8.6.ebuild b/dev-python/furo/furo-2024.8.6.ebuild
new file mode 100644
index 000000000000..f1087bcdfd0f
--- /dev/null
+++ b/dev-python/furo/furo-2024.8.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sphinx-theme-builder is completely unusable, as it requires pinning
+# to a very-specific nodejs version number, and ofc loves fetching
+# everything from the Internet
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Clean customisable Sphinx documentation theme"
+HOMEPAGE="
+ https://pypi.org/project/furo/
+ https://github.com/pradyunsg/furo/
+"
+SRC_URI="$(pypi_wheel_url)"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
+"
+
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/${P}-py3-none-any.whl"
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 442d7d2512c4..3e3f59516d2b 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,3 +1,4 @@
DIST google_api_python_client-2.137.0.tar.gz 11477114 BLAKE2B e0d7e64bfdd86bd882c8762b8d78fcd390152e569ca32df16fcbe91290508565086e4ca7e958d8d48ecaa6d5d23a0b1188b85f6a53004af54139977602c4f72c SHA512 442c08033fb12dbdcab3e45b911a9d43d93a4841369cd14344c9201a40b453d88ce602c3f45d965713ca826bec1f3e333f9425008d1cf1f59b6441283eb09807
DIST google_api_python_client-2.138.0.tar.gz 11595036 BLAKE2B 554abf4e58264d60a5a09174b7199f31ac6cf31bd024add66ff73a71992e9da077c8046abfd8d9400d1b17fa0ccd27ca484ae62dca8b6900bbad42e2a26af9ee SHA512 f9e7501a289e96aebe8db78e32dc30771a860af34808d1bc6d6192c4511ecbbf871cbbf8cdf50daeeb865908a86236400d651e159d913b415b1f2fdf8eb045ab
DIST google_api_python_client-2.139.0.tar.gz 11606939 BLAKE2B 9ad0cd36a913235e8c7b5afe2f4334399deb662d2d6287a64d98b02d890368839b345dba5e64aad3c852d655e99a04f8eb6902498664c4efa3a693ae2a2c6aeb SHA512 b6235f866a402ebde20fc8cfce41ad5bd0b8034311ab5b4f1b4cc88cea03f52021ee23264a32e9577ee1fa5bcbbb07af1c4e6d5e3f85bc53c0e6760654543b34
+DIST google_api_python_client-2.140.0.tar.gz 11618875 BLAKE2B 0d156fa072b302c0410f8e70681556ee146d8d8951576b1890e429b40363661d263554ad61157256feebee9a45afdf3dcdbb287b7c1dc367a6b6940ec488a645 SHA512 168e75ea734edbf0182078fad27d30f8dd56b07a8c7056973c7df99fb7faff83034901b6742aab8e03c833b73a5fd31a92455105ccc6f0f5b741fadb66715f30
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.140.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.140.0.ebuild
new file mode 100644
index 000000000000..10fa88d021bb
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.140.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_{8,9,10,11,12} )
+
+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/google-auth/Manifest b/dev-python/google-auth/Manifest
index 9e86b08aa51a..afc5431730ba 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1 +1,2 @@
DIST google_auth-2.32.0.tar.gz 254614 BLAKE2B fc419f1d751cf99497fb00c4cc5b8ff25380a3341970aa31bebadc5f0a84efd8b9d806f939c9137fd872063d6b3cd06eff0629beab8194e0bf6f7323124f8f90 SHA512 d72d9c367a47b3496dcaae9deec29315c65e43ddf9b3ee2838232ed2ac8aabdf5c91978a6d66700b5e9e77a0de8820ecf12b798fb65383600e08d47b732d1981
+DIST google_auth-2.33.0.tar.gz 257157 BLAKE2B c0071ba0fe5710b9bad3c0fc256b1709478635f2e8123a2bd6cb985cde7c38604b6fa0fcab24a694884d37eef8a15b2d72a6e0f3994bb39aa1d46b1e3e279ce9 SHA512 18d05525147d0da8815213d9f2d19595abaa79daff373ddfb59373e493a6a324dd55e766afa50cc03bccb4a5daf5f93b6fa168ed628f490f0d33b1b050cdb7f7
diff --git a/dev-python/google-auth/google-auth-2.33.0.ebuild b/dev-python/google-auth/google-auth-2.33.0.ebuild
new file mode 100644
index 000000000000..b6af43c347e2
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.33.0.ebuild
@@ -0,0 +1,59 @@
+# 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 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index 806dec255b60..b9580b3fdaf0 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1,3 +1,4 @@
DIST hcloud-python-2.0.1.gh.tar.gz 117015 BLAKE2B e795ea4a114c8e2c71554f84646b574e94030c6e724456786a437cc58d3dd96118c274111bc3787d8e7074b81f0c2493b3c6c5b824f6a8acb6d3a70b4dd75d29 SHA512 2507687324579240d2ff89287a6bd8e90dd33bb1290514c925e7e786330032187fdf133af196a6c0529ecb7018003356e299fc00cbf5bf2819d1f8e229702a04
DIST hcloud-python-2.1.0.gh.tar.gz 118173 BLAKE2B f350db9a552507e4770df180f7df82cbd3943aea64d827d7c9b05eae63dee5a92e410ad2d68766920f5b65b85788b4762313190b53ebbdba07bd64c7d62a8565 SHA512 80d2aec96c1b4303ba4827e938f33191fb3c150c15e7809e4f5b99b3c0b2af40ce04c1737207568acf9b20b38f0bd47dd223fe18eb093129ccdfe84992969caf
DIST hcloud-python-2.1.1.gh.tar.gz 118633 BLAKE2B 0072f8a6615ea917336429ef2b56840f1be8906bed9bd0793b47c4faa557e10bda368f8c3edcbc1b8ede6c39b384062038f665ae3e6beb589c747f1238a94572 SHA512 b98b62c99ffa31537baad35d0de0bee99a90dce95ecabfec8500e2172d520a3d819b870f001924cebeee7475905452ec2d5cc0bad15f763d16a423ddbe0171f8
+DIST hcloud-python-2.2.0.gh.tar.gz 119610 BLAKE2B 2b2bdc7416bc08464a7d6456cd935002f43b84d3728fb54ca3b132ac50959151a5c9c4ed75e256ca1dfa40a225cd8e4b0d54a4885497925e5222b00e5ccd5e1f SHA512 88b3ac155d7ee64ba41c1dced6546061287f2cd576c1f4bd95f46d1337c25efb4e25d0856a0c92cec1e97a133aafda8c024a79ef04df90bd29a1cd1318319166
diff --git a/dev-python/hcloud/hcloud-2.2.0.ebuild b/dev-python/hcloud/hcloud-2.2.0.ebuild
new file mode 100644
index 000000000000..31e0f64be85a
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.2.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=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index cb879072fb01..c03130161f08 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -3,3 +3,4 @@ DIST hypothesis-6.108.4.gh.tar.gz 9472674 BLAKE2B 88983672fc7161ce44c88cd47cfb0f
DIST hypothesis-6.108.5.gh.tar.gz 9473125 BLAKE2B fa72dd3958970308bbd656643343d522f0f6f2df28131c97024f79f619ecf19c0e92f09b7611b8846fff802a658bd1b018f6237ccdbfa0c9c31f7e49d2356e3f SHA512 595e95e8f790a1d8148e9a626eb388dbe0c8d17359dae6f6aa182abf833b5e7af1ba113430bd18f0d4ec43be3a32a435f0abd4ca0e1a1e02afc2e19aeebdcdd5
DIST hypothesis-6.108.8.gh.tar.gz 9474435 BLAKE2B fd199019fdbc945c3fec0d9349f443ede307ee155cbb6f01e30f8ce888805b4f37754af9c675112b0f0ca30146d4a5dd45915be66194c677a72a7b2f71979605 SHA512 62090fc72e8f563c59a93b27a2febf0e68e30e2ef322f85ef6abca9a21d182105ea2210b47e4590a752a365d79328d758d0077d50f5857cbeb336ca6ce1e1c1b
DIST hypothesis-6.108.9.gh.tar.gz 9474517 BLAKE2B c5f10dcc096e7c410444bc609ef8d2c05177f38b4fba79205913db014839da44f25b0ad76758bb31a4ba3c6d6fed25ebb80d66d833842044644b0638feb19afa SHA512 ae0e4963d304cf41900c3ad23f4839d49cfb74edb4d27aae7317e3a8ecd23ca965bd002766228012407b8297828e1d1304719875b4ffd04c6a21d0249cdf2fe2
+DIST hypothesis-6.109.0.gh.tar.gz 9475581 BLAKE2B 2e523b35745b7d1062c17093cf8b80da746574b985653f8f3e83880e5e2f3a3671a7b264b071c8c45394ce190154cc6f6b5f8ae508a9eb6c5911a836753497a4 SHA512 da8ff55e3661bc7f4cb9e5378ae37284af8b246d9fc5162363ba67c8ab4147f3c6d0feff7afa9d7deaeab3ab4cde6ba972c6b1d6464602eb78dcd33f67094113
diff --git a/dev-python/hypothesis/hypothesis-6.109.0.ebuild b/dev-python/hypothesis/hypothesis-6.109.0.ebuild
new file mode 100644
index 000000000000..6ba8058fdf38
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.109.0.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_{8,9,10,11,12} )
+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 ~ia64 ~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/jaraco-vcs/Manifest b/dev-python/jaraco-vcs/Manifest
index f43c05ac9cad..61fe3999b5e7 100644
--- a/dev-python/jaraco-vcs/Manifest
+++ b/dev-python/jaraco-vcs/Manifest
@@ -1,3 +1,4 @@
DIST jaraco_vcs-2.2.0.tar.gz 16660 BLAKE2B 9d48f78839e0e13aa5a520a167144deadce0d607c0bb378370d930d0aa1d94fe5778206384f29a449499e73b3cafc716358417d41f3016115b347d686e557269 SHA512 a842db1dac4beca4273b4a3afaec804bfc89286ad6eba6f9f47cd2b4dab7e04d9d12136bf555108fdbfe133fe62c71935be990b79cb0801766cc565c21343339
DIST jaraco_vcs-2.3.0.tar.gz 16855 BLAKE2B 993acc379515d51932311ff2009f85195198f1dd11da14ed07de98263e993a93d791275ddf6a29722ece03513109ece3e8bc1f84f884872723aaf4950629811f SHA512 08ba6792efc78088b49bd40f013f08d5cb8632a4cc649d81f89fcf76b802a012d3d5e6fc315fcc0862e35510b79461e1887efeb4f9cdfa2369ffb360ca849673
DIST jaraco_vcs-2.3.1.tar.gz 16957 BLAKE2B eeabf6b99d85a708ef3e5b012ea793e5f1923e0630ce3072b0e47d07401b4f98927397037438a167535ad510b37e106dc3dd6c19a76bd20373e8ef4533289054 SHA512 b6591fd17b4323c10d1e762b8efce71e127396a4922c148458ac12214feff62219511b92723c822807f4344b169a88f814fe15e23dcf14bc85f88926554d5822
+DIST jaraco_vcs-2.4.0.tar.gz 17233 BLAKE2B 5e97b2fb83fa19936c1fd04dcf50b5ca3cb8d91424c65094c61e30491ff72920482aa51edf6402998284b2df1cc7804db90c35b80c83d12f8be80f69e1a4661c SHA512 8be749129a4c40882ac82ea017f1e616dd7995a1185e858229650c38d13833c75b2c60f854ad004797934b2f49a4264096f7eb2580630b2b6f3b2f7a9706070a
diff --git a/dev-python/jaraco-vcs/jaraco-vcs-2.4.0.ebuild b/dev-python/jaraco-vcs/jaraco-vcs-2.4.0.ebuild
new file mode 100644
index 000000000000..ff28ef47fa25
--- /dev/null
+++ b/dev-python/jaraco-vcs/jaraco-vcs-2.4.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilities for working with VCS repositories"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.vcs/
+ https://pypi.org/project/jaraco.vcs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ dev-python/jaraco-versioning[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tempora[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-home[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # assumes running inside the git repo
+ jaraco/vcs/__init__.py::jaraco.vcs
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p home -p jaraco.vcs.fixtures
+}
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
index 4a73fa39879a..049e1bcdbdc7 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1 +1,2 @@
DIST kombu-5.3.7.tar.gz 439344 BLAKE2B 9443cb7d9d03ca7ed49b1e2c5a413e5d5633ccaf8cb2b8545b4bd0a7a7699f7fc773f735e6b26abf582502f1dbf11b088c612d749f09cab99950e145e8ee82e0 SHA512 48104d61a7c38a211ec378f90aade09d682a99d4f8b3d18b4bce49b51c80be794ab4b012d2974893fbc630a37c52dad10fb57f8335238b3002a64e025a148ee2
+DIST kombu-5.4.0.tar.gz 442120 BLAKE2B 138fc4287f98179166973da019cb5d2536ec2daeb995e1ec94972c95dd3d42c33d97e4e0ed79eedda75e5668c789f463bc115638d8774bcee7018821de9ca3a5 SHA512 fd9b47018a6bb95067486858ee90c052dc497ae4625884521c37b0b18a226de52bee84599b7f7e4aa9ee956e1c648a2672e8c6dda4deaf493b20ffe30fca13bb
diff --git a/dev-python/kombu/kombu-5.4.0.ebuild b/dev-python/kombu/kombu-5.4.0.ebuild
new file mode 100644
index 000000000000..6f613f80e0b8
--- /dev/null
+++ b/dev-python/kombu/kombu-5.4.0.ebuild
@@ -0,0 +1,83 @@
+# 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 optfeature pypi
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="
+ https://github.com/celery/kombu/
+ https://pypi.org/project/kombu/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
+ <dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
+ dev-python/vine[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}]
+ dev-python/pytest-freezer[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2.2[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-celery
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported
+ )
+ local EPYTEST_IGNORE=(
+ # obsolete Pyro4
+ t/unit/transport/test_pyro.py
+ # unpackaged azure
+ t/unit/transport/test_azurestoragequeues.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl"
+ optfeature "Etcd backend" dev-python/python-etcd
+ optfeature "MongoDB backend" dev-python/pymongo
+ optfeature "Redis backend" dev-python/redis
+ optfeature "sqlalchemy backend" dev-python/sqlalchemy
+ optfeature "yaml backend" dev-python/pyyaml
+ optfeature "MessagePack (de)serializer for Python" dev-python/msgpack
+ optfeature "brotli compression" "app-arch/brotli[python]"
+ optfeature "zstd compression" dev-python/zstandard
+}
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
index 04f026139ce3..032242cac696 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1,3 +1,4 @@
DIST pyglet-2.0.14.gh.tar.gz 6420548 BLAKE2B af4d354f49b6d413c35eb9f455a580a0981156b597590a5430f2e380940e815b9a0e9067b0fe47965ad4e88ae7771158fca39d52fd83fea3539cb9252500a7fa SHA512 ffbe2ab0847cd2635970c919fca3c9c190949c8843d5c7e6b7b702e32cf6e09dd4a6f9e7f2ea55134abd7f0ec9ecff347a64aa5771e0e64e67c169d3c60944ec
DIST pyglet-2.0.15.gh.tar.gz 6426555 BLAKE2B 8066ac7c3acd613a6fe02403ec5c88822744d6f7ab5e0043ca01443ab94249be7e542bc97f5354286bd3f5675c1c2e4d108ab474d659efe2905b9892e44ece0c SHA512 8b85264a9f13505f86cef694ebdf1e1ff707980b6ec9d205a1c1ef639b2de0c837926476f8a26b33b7ad8a0cd7d9acfefdd0707bace1734db4185a48f01305d4
DIST pyglet-2.0.16.gh.tar.gz 6481259 BLAKE2B 3ba5ed0255cb68d15f6db16f086863acd4d64fb8041db568a5364013c755d0b289e39ceca06593bdd3d7b0a35376e27ba07875fd8551f27998a40c75ff8118e1 SHA512 5288a80ac9cfe52035df6b182561e41155564bbee6251b44e3b6708935011338bb162b478b335cc595fdcb137946f91f8b8c45ccb4e0002cd2715348f582cb68
+DIST pyglet-2.0.17.gh.tar.gz 6499366 BLAKE2B 2113cc99459a543f5ae9612b89d214e99961e30e26ca367b6054b255173375187316d706a13409a160f1f57b4b56029c82ebb74f8722897a8d73e0aa23c88793 SHA512 25657e337df995059bcb7de18c14d151ea5a675e98b6c4ac6524b4cdbee1f44f280d09d15c86bada9f7309de36eb5dcd91ef177d96cbbe8f06c8ef9856838ce3
diff --git a/dev-python/pyglet/pyglet-2.0.17.ebuild b/dev-python/pyglet/pyglet-2.0.17.ebuild
new file mode 100644
index 000000000000..b961d35c73c0
--- /dev/null
+++ b/dev-python/pyglet/pyglet-2.0.17.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="
+ https://pyglet.org/
+ https://github.com/pyglet/pyglet/
+ https://pypi.org/project/pyglet/
+"
+SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples image +sound"
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ image? (
+ || (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gtk+:2
+ )
+ )
+ sound? (
+ || (
+ media-libs/libpulse
+ media-libs/openal
+ )
+ )
+"
+# ffmpeg? ( media-libs/avbin-bin )
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ xdg_environment_reset
+
+ local EPYTEST_DESELECT=(
+ # lacking device/server permissions
+ tests/unit/media/test_listener.py::test_openal_listener
+ tests/unit/media/test_listener.py::test_pulse_listener
+ # fragile to system load
+ tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
+ tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
+ )
+
+ # Specify path to avoid running interactive tests
+ # We could add in integration tests, but they're slow
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index 4dafa14de1d4..825b7e9ed330 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,2 +1,3 @@
DIST python-openstackclient-6.6.0.tar.gz 917251 BLAKE2B 9f11b357bdeede556e106a21b2c7bbd86804251612cd676525a8817b693733dfe72388213cfa16517b3b75725702090fa3e728ec6986dcda196aa1e8aac9fd0a SHA512 7b073263fe9d905b3c10b2a4dcfa7156c9cd5ae453d792e1dcf3be278de0abc25c931388c8cabff6b11b61174acf79c87951028626af1e1b9f0dd09f38b7900a
DIST python-openstackclient-6.6.1.tar.gz 917516 BLAKE2B da771630628444d02b6937d6138e83416f982d70c57211c90d648bff000692de3acc1594268e9dd8b9521165508c063dbaba3e740c6fef874645af0b9fc89248 SHA512 e59d2fbf1bb5b4e9080aa7b81c110876c444052b3e57037a520995b273712b2a30f56f25937c524fe62889c49f72c5a3cc14e83ebc77886cae23c3e23a071158
+DIST python-openstackclient-7.0.0.tar.gz 946254 BLAKE2B 4120797686453671ae47a0ce57856ec8424da7a38df3f478b1fb455a4af9dbdee6365dc9efbe750e8062f87f9a8fa218ed04de75bdc97af5cee763e31338199f SHA512 9e541b33abf5b3fad6f05782f1c16377b497b099a227490d9405da5140f11a73abba75c9a7021df7d129a4653316b742e16b4c049ef1f26b961d35a281618ebc
diff --git a/dev-python/python-openstackclient/python-openstackclient-7.0.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-7.0.0.ebuild
new file mode 100644
index 000000000000..65a4efd0a2ba
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-7.0.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 1d37f463fa9c..088e9bf7d7e7 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1,3 +1,4 @@
DIST pytools-2024.1.10.tar.gz 81741 BLAKE2B 39d44636c82ce7f2cadd543e9e3f7a32def0e11b3df24f0ae43aa47da924a1c2d9258b3147187dc9b0a12a5485e74bb906a87655ee863390af61ec6ce03ec95e SHA512 2e8d401b9f26b9a60ef4f479c982ff2b8801b00ac35b7ec06e36980fb5071c709d574e2a841f826d7ceff8a1303591c46a269284b09730c30eaca6759ca88ad5
DIST pytools-2024.1.11.tar.gz 81917 BLAKE2B 197481c41ddf589c46e7f5470de6122f13aa1b69fab46342e20b30e51cc0f5a54cfc240522e16daaea941f4492eb9dd858de66255fba4ddbec8bd763a4f87069 SHA512 03521c3e6473e5e26c329ddeb596548c11a814c65a45b9d5a925346b7cdd9332ec0968cf80c350310955288e703c2e3d914a24253d34546a6ee814b07d373ae6
+DIST pytools-2024.1.12.tar.gz 82577 BLAKE2B 7463a8c8f5644cf2f3c0d1326cc353c111fe87230727149881a1f68a8fce046049c54ae3d414a8d60adec66cccefbd133ab446a65bf35cdb21f08a383f7571e2 SHA512 c234a55493e6dcb1b26a18f666a9e3892d2e6d3eb76cda24db97231c1a1b6fff796780ac0c6776a00a3e2d21fc6e56364879e3d39de3fcf5173c6cf7a183a3a2
DIST pytools-2024.1.6.tar.gz 81344 BLAKE2B ff68e2606170bf54e3f609ee7f4cfe58e063f43dcfb2706d5ed7659ea2fde863e6315d0d81dff2e62a3378f195413561a927b0c1e7bedc06388cf4893c07b873 SHA512 a9e934f1cbaf0ace32420f9b74224a06ce8421ee291b837292133969c6788c4cc8bea01446cd4d1505aca9fa81e8ae0d3eacf60d3285186e66d67d5abe10ce3e
diff --git a/dev-python/pytools/pytools-2024.1.12.ebuild b/dev-python/pytools/pytools-2024.1.12.ebuild
new file mode 100644
index 000000000000..fcd4323118fd
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.12.ebuild
@@ -0,0 +1,33 @@
+# 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} )
+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}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyyaml/Manifest b/dev-python/pyyaml/Manifest
index ce442a8e6667..0d1e7dff5af7 100644
--- a/dev-python/pyyaml/Manifest
+++ b/dev-python/pyyaml/Manifest
@@ -1,2 +1,3 @@
DIST pyyaml-6.0.1.gh.tar.gz 120376 BLAKE2B c34f2169f6eb6aa718aeb53dbfaf02590e11e504d16cc85a802e1a1191f296ef9aa2501db683e1a48173ce6adeaeca09f2ab989581dcf1c1ba4004831bb4cf47 SHA512 1c74a92a4ad7d47854dc7bcb2e89b3c8e0b14fa815c7dbfbc22b24480dbba6c81e971c77ee384c494a960914b95f06edf943d7431925a5ed674a0ba830d258e0
+DIST pyyaml-6.0.2.gh.tar.gz 123883 BLAKE2B 16ea7f376e45caccb461a18d4347fb06ffaf0dfd65b18e5bd7e74a14ffdce05c9c016c54bd6a501b444bd813f1bfc78999f212ca72cfabf3b125f5ab2f37167e SHA512 c72665131296762521d9ae4fc1c8619946f46ea16ad98b6b8e995828f2cdbd1ed61741fc2d646753f71d95a352b36562a1302f0cb646d5705652cd24b2f10b16
DIST pyyaml-6.0.2rc1.gh.tar.gz 123879 BLAKE2B 9d983338c4e61fa6f5056aa7733dadc854a859baffe3ad5a353d6fc0525b6c5788df7e85ab40514ad8bdeffbccf10417701fdaac4d0985e0a20b300867b89f4f SHA512 4eac37f3b367099e93c53f327f5f838d5f2f06fa636ea08f277a6cf4f570b7dc9870b35057a889d0895c2abd1bfc121d624f282610dcf90e68727973573267ef
diff --git a/dev-python/pyyaml/pyyaml-6.0.2.ebuild b/dev-python/pyyaml/pyyaml-6.0.2.ebuild
new file mode 100644
index 000000000000..ff997a19cef2
--- /dev/null
+++ b/dev-python/pyyaml/pyyaml-6.0.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="YAML parser and emitter for Python"
+HOMEPAGE="
+ https://pyyaml.org/wiki/PyYAML
+ https://pypi.org/project/PyYAML/
+ https://github.com/yaml/pyyaml/
+"
+SRC_URI="
+ https://github.com/yaml/pyyaml/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+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"
+
+DEPEND="
+ dev-libs/libyaml:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_configure() {
+ export PYYAML_FORCE_CYTHON=1
+}
+
+python_test() {
+ local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
+ local -x PYTHONPATH="tests/legacy_tests:${PYTHONPATH}"
+ # upstream indicates testing may pollute the package
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ "${BUILD_DIR}"/test/usr/bin/python <<-EOF || die "Tests failed on ${EPYTHON}"
+ import sys
+ import test_all
+ sys.exit(0 if test_all.main() else 1)
+ EOF
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}
+ fi
+}
diff --git a/dev-python/regress/Manifest b/dev-python/regress/Manifest
index 827b4da32e46..df713b46523f 100644
--- a/dev-python/regress/Manifest
+++ b/dev-python/regress/Manifest
@@ -1,30 +1,49 @@
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
+DIST allocator-api2-0.2.18.crate 62504 BLAKE2B 8152c5a611be91ba23b1e8647511e21f48e7d4f1a7b9a828083f5bb8747cdc92aee66f73251b19195bbdc1f65aad992632e820d86cbeff287d598257ae3628a6 SHA512 5e5b0e23e1f5b259e5d3746e3e05817af8dee95af7105ea775a5c1d69b4e537a4d6a25e2c1d46ab83e2385217b158f7940dc1315ae581c35ee23289647105e73
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cc-1.1.7.crate 81694 BLAKE2B 95f2a266cf4c42cd4212cd07c0fc436400affbacf66c4a089359fcef4ec5c51c727ac6f3876515ea3460076898a0e03da6647ed0d2e67bee5d151194dd47da19 SHA512 2c3b3d99b292ba44b4805f4a77daebeae054267755a08b1a2d5583f89ba1cf01b42e9393279c8f37f64998fd14c9648dcdb41fa5b2390c3c4442afb484f624ef
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
+DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
DIST libc-0.2.140.crate 669153 BLAKE2B f4269549f6b450a3da3196ecaae52afe178d5b6905666fae04e2879f975f0129788898ca2ccd214d721af42a8b2fa86b26355d6baa0a81c223b56c658ee66dd5 SHA512 f450fe619ea2f45e4ada2567981987f19d35a9f13f88a0ce3a53e1751c6fbff708ca69fa6a64d807cce5dfe18b08751f0695d8a01e68e269da1aafc831528b7b
DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.52.crate 42982 BLAKE2B c432e889c6d02e359863ca40d30e20b5c3567d065ea16e5963eb713ea9a02a9979ec996939efbb23aa37857ec37e6587b2519d8267a1a713d1b17fce014acca6 SHA512 76b24c82bfd37a7eed4dda59a56fa2101ec4e8d6ad726e3fdace9daa729090de2cb2bcfd4246dd691129645c613ae18c6fc448c940b459724681202f7a232f3f
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
+DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
+DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
+DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
+DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST python3-dll-a-0.2.10.crate 74573 BLAKE2B 770c5b070f4dd1b9639b8aff59bb733575eb1117ae8e510818b6e13bdc69b22bcad395bb5cf0d1931de3562775a56e1404bb7fca7384b62e5e782e6284fa1494 SHA512 c1171c29f6914ff809950a9f6c330638e72c58c7c691bf4d9e765dee47166915cc91131b494b65aeb3a812543690c5072f2f5ff32cdebb76ba588330f9c74cdb
DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST regress-0.10.0.crate 329828 BLAKE2B 1de91933e041737579edfbe9471fee10dd3cc95b0733e295b09c350d3bfc190709cf0d176b723658cac6312b2ef96702bcae438023056d0a9b292809b8a15f2b SHA512 627e80d2c7f7cc016d3940788fe9988915b7b23061b25410f5140e1304bb298f95aaf480b5943bcfd7e62c8e9355c3c5684d9f9bc1d69ea1696402dc7d423845
DIST regress-0.4.5.tar.gz 9134 BLAKE2B 4099041658e1bf8e419c6d8976823cd2c63264f44848db50a01f0c727794d994708889b45988414b1088830b34ff8fe8658d977fe8396d2dfe4b404ccdb0407a SHA512 db7539097a1a69f2dfc982880dc0120888b7f7e5f4c100a84b4d89928de2aa172297fd00294800d42ab8c00737d75dbb51fff310fe696ebaf3501db98b738602
DIST regress-0.7.1.crate 248686 BLAKE2B af9dfea481829ab1f9e32ebb982fdc3f109a31fc6fd30b390a0b2eed1cceba452b5a014f0b648f9771a69022536e519baa7e61567295480a243d4d1e8d872ae3 SHA512 b96b74f8ea412af045c1a506133e96a644134a0f78fad9d43649ee6952f09e8fa28fcd00cadebbb3138dee3796278ef2b70a82d25c2e3efb1b71caf9d98f3087
+DIST regress-2024.8.1.tar.gz 8830 BLAKE2B f5df7f712f3a1357a59c9760a98f36bbb658f303546f40639fdedf33a3f57880e6ae38de6f1c8e455d8dea17f6061bf9519c3f81cd112d373591f2b093eebbce SHA512 0f7ab40d83b1b7dcdc1df94bd6a910709b089d74a5a505ffb177469b79934ad1a8dd0213de2ac4af9f179805245d7e23ffe3931593aa4a4c9e2e785ae79bfa5f
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
DIST syn-2.0.12.crate 240123 BLAKE2B 3a7b58eb8bc7afc57c08add89ec4969db77aa8d8f9c30569a5194608e6894c98496f52ffe082b2a966d6fe120b39d3213a111c01d2a4bdaf39f04e2faa20d3f2 SHA512 170707bd4b6d815529a0066a875f097a25cd6fca03921314b9b909a69bbdb60860b0b3779d0bfac362062420355fe0cd4bd68b4aed188d4d8a790e278cdb5ce7
+DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89
+DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f
DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
@@ -38,3 +57,5 @@ DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a
DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST zerocopy-0.7.35.crate 152645 BLAKE2B 8f13123c9d9257ac5a5c6954d38c3510fa658624442f7e03cdcc6db5a0977d9f26bb4e277be172b7872ec365cf6e58ac742e5578636f7698f9f37093e9249d9a SHA512 17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c
+DIST zerocopy-derive-0.7.35.crate 37829 BLAKE2B badeb7fa5e0bfe93a6788d93fd297604ed31de526b121549300ead3c49d450f49265f499e2e7ce606dcce2b59dd01f7fa817b8fbb3f237475185c5b42f5299c4 SHA512 dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb
diff --git a/dev-python/regress/regress-2024.8.1.ebuild b/dev-python/regress/regress-2024.8.1.ebuild
new file mode 100644
index 000000000000..43b27e7928ba
--- /dev/null
+++ b/dev-python/regress/regress-2024.8.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 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_{8,9,10,11,12} pypy3 )
+
+CRATES="
+ ahash@0.8.11
+ allocator-api2@0.2.18
+ autocfg@1.1.0
+ cc@1.1.7
+ cfg-if@1.0.0
+ hashbrown@0.14.5
+ heck@0.5.0
+ indoc@2.0.4
+ libc@0.2.140
+ memchr@2.5.0
+ memoffset@0.9.0
+ once_cell@1.19.0
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ regress@0.10.0
+ syn@2.0.72
+ target-lexicon@0.12.16
+ unicode-ident@1.0.8
+ unindent@0.2.3
+ version_check@0.9.4
+ zerocopy-derive@0.7.35
+ zerocopy@0.7.35
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Python bindings to the Rust regress crate"
+HOMEPAGE="
+ https://pypi.org/project/regress/
+ https://github.com/crate-py/regress
+"
+SRC_URI="
+ https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so"
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 692043ce408f..e8adf338376c 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1,2 +1,3 @@
DIST sphinx_gallery-0.16.0.tar.gz 432247 BLAKE2B 130800616a29be2daedb77404f79ca8d1543ecd391f45f8f19cbcf46ce742d02725d9b087be337d11496021b5c486c6c24b35f22b2c7d4cb575cb2c217d328db SHA512 b45e9141d64b1e277d75f501f2cc40979942953cd8412716e5af64917a3b9adc0a746fbd6249c3636c3db222c1e438ee7f9a9ad93f57b2f05f9ec80a562796c3
DIST sphinx_gallery-0.17.0.tar.gz 461588 BLAKE2B 2f95724b184a2fe6359cf90c5200cebb80da8bd47160eb801069a396ddc6d889bd84a088899c2e0b461e81a6bf31ebbcebd4b555b83a3a5eebd11e48048ca2a3 SHA512 969bedefdb9231fd9fd92f1a8eb4488dbf6c8b68175e6869d0e893f1a6674bbf7b6e2b0281e54b929a3b2ca1d2928f75f00cb307100391656b6ebd62e8046b7a
+DIST sphinx_gallery-0.17.1.tar.gz 464013 BLAKE2B 42a0d6e9fca934bfaf234710acc800229ee2dfc4844d17a5c1774ee5e36f6e2f1fe2a0f636035a58b4f2ea5bf0643abf9f018026a1d3b552093f1814c7f7cbe3 SHA512 7d580e3e603f6778dbf47e3f46ade2e612596337e432ee0ca5b603c7e002f43b65e0258dda04d427613b2a3331466b7c852287937c4706fe0bdafa1e7804f9fa
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.17.1.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.17.1.ebuild
new file mode 100644
index 000000000000..754a5d4076c1
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.17.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_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
+HOMEPAGE="
+ https://github.com/sphinx-gallery/sphinx-gallery/
+ https://sphinx-gallery.github.io/
+ https://pypi.org/project/sphinx-gallery/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
+ sphinx_gallery/tests/test_full.py::test_run_sphinx
+ sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
+ # require jupyterlite_sphinx
+ sphinx_gallery/tests/test_full.py
+ sphinx_gallery/tests/test_full_noexec.py
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/time-machine/Manifest b/dev-python/time-machine/Manifest
index 25d87015bdf6..776f95588e59 100644
--- a/dev-python/time-machine/Manifest
+++ b/dev-python/time-machine/Manifest
@@ -1,2 +1,3 @@
DIST time-machine-2.14.1.gh.tar.gz 29600 BLAKE2B b118e3a2f08f75cc6cd89181a9e533c89bc6e5312a520b2a854fb8aa7ac59f1570e48a85788261f781ef83f9864380318074724f6eadab9cda7a3374b2322e7d SHA512 42a127e2dc5a86e33896010e6d141fc9248fe685d3477ec71ec8a72315914cea99ae4a4d6623a59fd69505d935d2feadcfd831a7fff5617c3f98a93d48652ecf
DIST time-machine-2.14.2.gh.tar.gz 29671 BLAKE2B a53804ab324fcef3d5a387de6451ecd031310eefa17f6d2279fe70f0af3ff8f001ea581ac392c9e72f259dba49ae03eb82279804874a49f6131e5c6cf0131aa0 SHA512 b1996f762aabd161d7f66720265d520ff419a08525da603d805e95e5035cef4576e57d87b6c71a98dddc7cfb33d27e11f7b3d7999ca1be25b81ec0ab502f7012
+DIST time-machine-2.15.0.gh.tar.gz 29696 BLAKE2B c1008957e1206d4297ff63f1146f7411e96aae5805a7217af0989b7c77adfe8f447c1c0a36d8b488fd5b25370aebc92a511eeaad85005b5b0c7410480497e229 SHA512 3221a131ffe042f2e222950ca3241050e3275ac209c0df806da290b63c5fc43efbfb202ae030096c29c6390a6467bc05d476d4a3cef9465ea63473e50e3629c7
diff --git a/dev-python/time-machine/time-machine-2.15.0.ebuild b/dev-python/time-machine/time-machine-2.15.0.ebuild
new file mode 100644
index 000000000000..60433b312a53
--- /dev/null
+++ b/dev-python/time-machine/time-machine-2.15.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Travel through time in your tests"
+HOMEPAGE="
+ https://github.com/adamchainz/time-machine/
+ https://pypi.org/project/time-machine/
+"
+SRC_URI="
+ https://github.com/adamchainz/time-machine/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/transitions/Manifest b/dev-python/transitions/Manifest
index 7c33d443a3df..5ed1bd757a9d 100644
--- a/dev-python/transitions/Manifest
+++ b/dev-python/transitions/Manifest
@@ -1 +1,2 @@
DIST transitions-0.9.1.gh.tar.gz 1124905 BLAKE2B 6d8700c9b2b2d200c8377e698f4057caa78908ee7156daa3fce1f49d86c6bc9afd45fe7af4122c2e124681c3c581e98f657e39444595f97ed7fb3c64f57d70fd SHA512 8e946ee9b8e3ed0629381514b4af4446625de0cea7cc8780326829ad987b4c0f9402484ed98ca66b12e95c8da79f77c62aba9f000dbe42779f158529cde3f279
+DIST transitions-0.9.2.gh.tar.gz 1133297 BLAKE2B 9acb83355236941d49bbdc1877e352e1f86d2b95302455fc5ea2e13d9014f8e6c9dc67e04b70c03c40e3d10b9bcae97900420bfb7549decd7c2186284d9f7389 SHA512 7fa392b185b001b0224b449d65b345f71afa27f80a88d862456f637e5876644f09ca861ce8bd2ff93f91a7846e337a996f256645140a0892b526cd6c1f58ce7f
diff --git a/dev-python/transitions/transitions-0.9.2.ebuild b/dev-python/transitions/transitions-0.9.2.ebuild
new file mode 100644
index 000000000000..4a485f3c5235
--- /dev/null
+++ b/dev-python/transitions/transitions-0.9.2.ebuild
@@ -0,0 +1,52 @@
+# 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="A lightweight, object-oriented state machine implementation in Python"
+HOMEPAGE="https://github.com/pytransitions/transitions"
+SRC_URI="
+ https://github.com/pytransitions/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ || (
+ dev-python/pygraphviz[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ )
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # pycodestyle, mypy, etc.
+ tests/test_codestyle.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+src_install() {
+ distutils-r1_src_install
+ use examples && dodoc examples/*.ipynb
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index 0cdc5267bfd9..7b1d3bdbcdd2 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -2,3 +2,4 @@ DIST translate-3.12.2.gh.tar.gz 1202828 BLAKE2B fdfc6ea91d0e0fe9f36e1352247463fe
DIST translate-3.13.0.gh.tar.gz 1171837 BLAKE2B 9c6212d26749eac652369e94d2b653f67b364afc9f9125c5125d19e3cabc1bb36bd27bc172ad93d28cb6cdf57ed2b245336664b6b4954db9bbbfb4a8ad92b3f9 SHA512 7c6f87ec32c81a14d1775dc24d43e49b79fdf8473a4380c93a2af1532bed32a9733ee755641ce26852b1bd63acffa2110598c5fc3010bbf9de40e8a0f32af308
DIST translate-3.13.1.gh.tar.gz 1172830 BLAKE2B 9ca2a3a30a6266a9f713fdb1e504a45263763bce2107196d2091d216db079e16eb03f4dab87627692253c64177e7c6ca9b70bc9a82b719c94fdea984adb66efb SHA512 afa0b98235cf1bc9fc5ffe50057851495e35f6acaa2ba0858fce7d01207929590112e5e5c06452b3ca2cb14a63fdaa2a66d8afe53e29112f5970680935378af7
DIST translate-3.13.2.gh.tar.gz 1172735 BLAKE2B b4109d16e367dc42a16d26542759aecce66c3eb6bae019e24cb64940cf864620fe6c59cdd03bab7f6ebb2386bfd46b1988c18bf0c73a400389521a1968ceb8d2 SHA512 ea9772a9d010a9097c1cadc91b9c33cee241d61a25210abe5442644cea648bd0940f42aab4327b4057df128ccc16a011fa00c180b60a5ecf4357774f97272cd6
+DIST translate-3.13.3.gh.tar.gz 1172858 BLAKE2B e7b2f711faec3876fdc082aae02716beaa45934f2ad308433c20020e69b72850e0a9d32c7cb57e32b4fdc8b39334a358b8f289c83744882728616122f07cf8f7 SHA512 f435306b34a2a200df5b648a1354444ac5fd76872f36062704b2c8abf52b8b1e1d570afbcf4b50cb1d815abfcf85b05630e8bc02f908a83f3fea90188c76c6f7
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.13.3.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.13.3.ebuild
new file mode 100644
index 000000000000..008062ca7d0b
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.13.3.ebuild
@@ -0,0 +1,119 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.2.10[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/watchfiles/Manifest b/dev-python/watchfiles/Manifest
index b0f7e98eb5a8..128cb149adad 100644
--- a/dev-python/watchfiles/Manifest
+++ b/dev-python/watchfiles/Manifest
@@ -8,6 +8,7 @@ DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c6
DIST filetime-0.2.23.crate 14942 BLAKE2B e4d2d9c11745dfa5592903f3c3c6a9871292a02f9862607b610ead7562b5d1fc3b64d37e779cad0630bde8012efda72d86af5e687cd2ef5d3627d8a89bca517c SHA512 8d5ac82482758577d1d0669abbe7b880efc44958687bba745c9ee4a5c16bddb44ec0fbe9c29cf424e7120905f3c3da607f3a7ca1e50287154c0475ddf2148bf3
DIST fsevent-sys-4.1.0.crate 4620 BLAKE2B c203c774d5038d4c4abdd7bb9407a6b5f2b203a609bd92a7fde38afaa71248f4610e89c73eaf982a5d76560f9503081b7b10573046b1a91f09de4b642709417a SHA512 e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST inotify-0.9.6.crate 22971 BLAKE2B 7a6cedd29b2503911fb42324fe3b4f4f20abb62a6b4370f8a7f634d9988f1b3053a70d69d6bbd7b850aae2590ded7548b73326a598d31e5b579e19ac3cc781d8 SHA512 39c3db1b6da620df9eaaa41cc20c2f22b9a372e181ed7d8ba0c7ad4e711ba4486bcec7ff86bb4d814d9c53e071cc4e43845567069e45b897c562cb677fc872b2
DIST inotify-sys-0.1.5.crate 6965 BLAKE2B d70124656ce3e6f5ea3f430e8e7100d0691003161234b40542ca86c407ecaac1785f3eca98e9fd2914dababbc3f47a0855c99c9f19245d1f2cd5312739c802af SHA512 dae749f32c533b0c9f99963d97a77dcbfcacf173ec8fd7a02f275804f9925e867b4dfdf6be52c3c3c3de136d64e6e7d6b30a3bf804a01608cf974b0cc2e346da
@@ -25,10 +26,16 @@ DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac002
DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST python3-dll-a-0.2.10.crate 74573 BLAKE2B 770c5b070f4dd1b9639b8aff59bb733575eb1117ae8e510818b6e13bdc69b22bcad395bb5cf0d1931de3562775a56e1404bb7fca7384b62e5e782e6284fa1494 SHA512 c1171c29f6914ff809950a9f6c330638e72c58c7c691bf4d9e765dee47166915cc91131b494b65aeb3a812543690c5072f2f5ff32cdebb76ba588330f9c74cdb
DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35
DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
@@ -43,6 +50,7 @@ DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4
DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST watchfiles-0.22.0.gh.tar.gz 46036 BLAKE2B 505d67974bab8a0a14f25f64ebbe1013b4966ebd5531701b5f0297703692603120a034b09a3f17754b4c5de04605432006437eaabd6ed43ddddc11bf28a422fc SHA512 6d3a4478ff90697323e84428fa16db4b8355c7c637e4faa00a025ff1e03fe8f44914fedb2943a6b6b6cad13bdf50bb6e5712de9caa34b66eb64193923eed6504
+DIST watchfiles-0.23.0.gh.tar.gz 45634 BLAKE2B c413955207007cd461e8bc420a00a624c132216ff13599d342f20c10e0ba60a45a723758d8669c216054cc7d7a4057750ad11b919026849f943cab67fcf93d96 SHA512 a36ff033e4493f262a7e0a0eca2d193548d21a647668379bbbfbcb30352d6498f86e9cb27743d852657d02d1cd8bc57bb28b1055f81a76e1c9995310375c3ccc
DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd
DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
diff --git a/dev-python/watchfiles/watchfiles-0.23.0.ebuild b/dev-python/watchfiles/watchfiles-0.23.0.ebuild
new file mode 100644
index 000000000000..1d65cdfbee41
--- /dev/null
+++ b/dev-python/watchfiles/watchfiles-0.23.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 2022-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_{8,9,10,11,12} pypy3 )
+
+CRATES="
+ autocfg@1.3.0
+ bitflags@1.3.2
+ bitflags@2.5.0
+ cc@1.0.96
+ cfg-if@1.0.0
+ crossbeam-channel@0.5.12
+ crossbeam-utils@0.8.19
+ filetime@0.2.23
+ fsevent-sys@4.1.0
+ heck@0.5.0
+ indoc@2.0.5
+ inotify-sys@0.1.5
+ inotify@0.9.6
+ kqueue-sys@1.0.4
+ kqueue@1.0.8
+ libc@0.2.154
+ log@0.4.21
+ memoffset@0.9.1
+ mio@0.8.11
+ notify@6.1.1
+ once_cell@1.19.0
+ portable-atomic@1.6.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ redox_syscall@0.4.1
+ same-file@1.0.6
+ syn@2.0.60
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ winapi-util@0.1.8
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.5
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Simple, modern file watching and code reload in Python"
+HOMEPAGE="
+ https://pypi.org/project/watchfiles/
+ https://github.com/samuelcolvin/watchfiles/
+"
+SRC_URI="
+ https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions CC0-1.0 ISC MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+# enjoy Rust
+QA_FLAGS_IGNORED=".*/_rust_notify.*"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # fix version number
+ sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die
+
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test broken with new anyio
+ # https://github.com/samuelcolvin/watchfiles/issues/254
+ tests/test_watch.py::test_awatch_interrupt_raise
+ )
+
+ rm -rf watchfiles || die
+ epytest
+}
diff --git a/dev-python/yattag/Manifest b/dev-python/yattag/Manifest
index 441d0bf62514..6b18dd3f42c6 100644
--- a/dev-python/yattag/Manifest
+++ b/dev-python/yattag/Manifest
@@ -1 +1,2 @@
DIST yattag-1.15.2.tar.gz 28653 BLAKE2B c567390d204e6edc9b90ffdc5b406f9e4bdcf568148ed44dd202176ba31943c32154c4560e8c421c341fcd5fc1fc223451e15edebd249c369b1d779270e00034 SHA512 224fa56f3604bb65513f589ad449b98e00ef19c8503e7f57484e12de1c916d44d56b057d093af899bcc1d9aa1c77ca3a64c4facd97adf4ef2b7e99a5ff19f910
+DIST yattag-1.16.0.tar.gz 29052 BLAKE2B 48c24c7f510e23ce153e9ebf544b023eff0da4938621977fe22c23950643777e9c8adad860c6f80a53001cf65a2932dfaa1963249691d23f2879982a2db1114a SHA512 1cc16a94f162bbef9874dad1adf2a048042379909996a06506494373317f36df247b17feb95693a27643d8bb0440a96892197113b043a12f5701ffb2722d3dad
diff --git a/dev-python/yattag/yattag-1.16.0.ebuild b/dev-python/yattag/yattag-1.16.0.ebuild
new file mode 100644
index 000000000000..63cc8edf0679
--- /dev/null
+++ b/dev-python/yattag/yattag-1.16.0.ebuild
@@ -0,0 +1,27 @@
+# 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 pypi
+
+DESCRIPTION="Python library to generate HTML or XML in a readable, concise and pythonic way"
+HOMEPAGE="
+ https://www.yattag.org/
+ https://github.com/leforestier/yattag/
+ https://pypi.org/project/yattag/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ eunittest
+}