summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-11-15 06:24:23 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-11-15 06:24:23 +0000
commitbded20c123a549b248f6fd88e45db59d6bc1199d (patch)
treea3878b11e1be7034c25fcdf05606b8b02cf67fc2 /dev-python
parent4299339622f298f46f0e8120da4569b0f9192ddb (diff)
downloadbaldeagleos-repo-bded20c123a549b248f6fd88e45db59d6bc1199d.tar.gz
baldeagleos-repo-bded20c123a549b248f6fd88e45db59d6bc1199d.tar.xz
baldeagleos-repo-bded20c123a549b248f6fd88e45db59d6bc1199d.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Faker/Faker-20.0.3.ebuild40
-rw-r--r--dev-python/Faker/Manifest1
-rw-r--r--dev-python/cliff/Manifest1
-rw-r--r--dev-python/cliff/cliff-4.4.0.ebuild40
-rw-r--r--dev-python/deepdiff/Manifest1
-rw-r--r--dev-python/deepdiff/deepdiff-6.7.1.ebuild39
-rw-r--r--dev-python/dirty-equals/Manifest1
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.7.1.ebuild47
-rw-r--r--dev-python/django-cors-headers/Manifest1
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild35
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.44.1.ebuild73
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild49
-rw-r--r--dev-python/lrcalc/lrcalc-2.1-r1.ebuild2
-rw-r--r--dev-python/mkdocstrings/Manifest1
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild62
-rw-r--r--dev-python/osc-lib/Manifest1
-rw-r--r--dev-python/osc-lib/osc-lib-2.9.0.ebuild51
-rw-r--r--dev-python/oslo-context/Manifest1
-rw-r--r--dev-python/oslo-context/oslo-context-5.3.0.ebuild38
-rw-r--r--dev-python/oslo-log/Manifest1
-rw-r--r--dev-python/oslo-log/oslo-log-5.4.0.ebuild69
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.25.ebuild39
-rw-r--r--dev-python/prompt-toolkit/Manifest1
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild25
-rw-r--r--dev-python/pycryptodome/Manifest1
-rw-r--r--dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch120
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.19.0.ebuild61
-rw-r--r--dev-python/pydantic-core/Manifest1
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.14.3.ebuild150
-rw-r--r--dev-python/pypdf/Manifest2
-rw-r--r--dev-python/pypdf/pypdf-3.17.1.ebuild59
-rw-r--r--dev-python/referencing/Manifest1
-rw-r--r--dev-python/referencing/referencing-0.31.0.ebuild33
-rw-r--r--dev-python/trove-classifiers/Manifest1
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild31
38 files changed, 1081 insertions, 1 deletions
diff --git a/dev-python/Faker/Faker-20.0.3.ebuild b/dev-python/Faker/Faker-20.0.3.ebuild
new file mode 100644
index 000000000000..603aa3e616fe
--- /dev/null
+++ b/dev-python/Faker/Faker-20.0.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index 9c194b22d702..17d8ff55214e 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -2,3 +2,4 @@ DIST Faker-19.11.0.tar.gz 1694359 BLAKE2B 7e24dfa58136626e7dc82f458388749cb7d506
DIST Faker-19.12.1.tar.gz 1697827 BLAKE2B 64398d85fa5492811c9a5319a88f17ecdda5707cd898d123b67c35fbd543ea3cd2c8063b5e1117a2764480d0974f59160e7deba393a1988ea91104aecbbe918e SHA512 2950a5f576733275a783e2b3243c92c2dab3c67939353b9436c8218bed8b1c1b20dbb7e62f20d06210d2c7051c2030a931a93faa6f49e74d10e7a2dc751d60d3
DIST Faker-19.13.0.tar.gz 1699872 BLAKE2B a53236812e17b1b8d5329e97b29f137b980b7069c02e558bfd7f118726203116ef99699f6fcf3d60f247507c82d9b159dbcb02d9b40dd8116ba1f4bbb5cdd26e SHA512 ce9e2b854027169697834f7dc081e601d13878315c39ef955378860b6d8d6671f3e6d525c45a843c76073348c6e87abf942daadae69f7aae55b3692432d949b7
DIST Faker-20.0.0.tar.gz 1700246 BLAKE2B dbb37b4f5256493b8d8eeb493c22d4b6698a316288aa73055061f3cc7bd36ebda460df185d38c7578a9c372a7d2cdc30304ddf43728aaec6e6a5f35304de9799 SHA512 56f2fee8dc184e0826fc3d30331830d03ed93974b2815931a0e6aa4df173efc621158dbda9e38af771cfe22a8f5a9ceac042edca14b30220ec303cf5d3bbf42e
+DIST Faker-20.0.3.tar.gz 1700384 BLAKE2B 95d2070b05694219d66d6a62f22ce7aa4d4b72f0b3bce762b900f66972627fbb8bf0e5a41f33bf7d5831f3c9ed7fde2dd7f42a54e3207026ce3f3e860090a299 SHA512 44080c6c28d2033fe81b8bb5306983176fbed797c626329ae84d6971521306c13cf020a34d2edf14fc17c0ea932dcca8d3886e9bd7faa5fe5651d670f1acff01
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
index 77a2f158083f..ca6d981e6d50 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1 +1,2 @@
DIST cliff-4.3.0.tar.gz 82652 BLAKE2B 8d4977e3541fd9de21fb637069abcb92cf38b07f47f0d61d329397ab9d42335f18faa6d7d13862b7f188632af39d46118d0f3ebfcf2475b67c258388aa4bbcc2 SHA512 b4ed6fcec05017c999d54188459aa93c9a35660b0ceb505525f22a6bb7632e3548e91d8dc00db381c314a3818be2a457b7aee3307da35915ea7519c1e13091a3
+DIST cliff-4.4.0.tar.gz 83609 BLAKE2B dd17574bd91e501e664075e3e2f5fb0b37d64b8a6e0bbbc48b98eda0340d1f52340503f7ba85642c613672da41162e21cd248471ff6b028fbfc4142a491f482b SHA512 c1e292cd337036f3b276581022dd69cb7e353f1067be06db4611e1afb1fd613f70e8b67bbcd39eaf74e9c459af03f0f6e9613f9a1424941cc35b41ef1f62ae00
diff --git a/dev-python/cliff/cliff-4.4.0.ebuild b/dev-python/cliff/cliff-4.4.0.ebuild
new file mode 100644
index 000000000000..6f38700a60ae
--- /dev/null
+++ b/dev-python/cliff/cliff-4.4.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 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="Command Line Interface Formulation Framework"
+HOMEPAGE="
+ https://opendev.org/openstack/cliff/
+ https://github.com/openstack/cliff/
+ https://pypi.org/project/cliff/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/importlib-metadata-4.11.1[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest
index 373a033c6268..384d32d0bb8f 100644
--- a/dev-python/deepdiff/Manifest
+++ b/dev-python/deepdiff/Manifest
@@ -1,2 +1,3 @@
DIST deepdiff-6.6.1.tar.gz 402840 BLAKE2B 78fa059644d068fb0e6f16a81ba91d0e776f91eda6f049f73d57bd176a9bbca5fc60f301e8ac652ba1339be2474c9eb6912ce532d720328d2b017bfcc52196dc SHA512 5a18bdb5d5dbc7b6de39d90fc3a740ddeeddd0742953f8618eefafbd0c086138219dbb3a515ead40b315c28590b642721b9350d2b9cc9e4a1e9ea8a8dbb25712
DIST deepdiff-6.7.0.tar.gz 406189 BLAKE2B 8425e96f7a427a6476ef3ec1ba3082c9f139658046e920cb90316e26951524d88e956bfc4cf85bb3a273349312cf96a91885cbef602ec07c494c1319babd1ede SHA512 36f554839b5de5d9a75d39a53b214e50d10e6a0f9932dc7ec222f4f911c0d424359d4df3bae083b3766dc68ed9f62e3b6bd4e8eb981fb7fa537fc4298f5c682d
+DIST deepdiff-6.7.1.tar.gz 409107 BLAKE2B b52b95f166eb564a5357a5f8f2d8759f9931333b857f5cfc62ac99ffb67d8be9cc3972c76e16d9a28b752983db2903089e2bcc0702e768e07d49b5c7fada4bc7 SHA512 89cf198aeaa392e9609641a9bbc1331c8badf3d4b7cafb1afef00f6f6237524dec72467abf9a9afeba5dc08b8f7e8321827faec5b9a8c27ffff97bfc3fdb0db0
diff --git a/dev-python/deepdiff/deepdiff-6.7.1.ebuild b/dev-python/deepdiff/deepdiff-6.7.1.ebuild
new file mode 100644
index 000000000000..f25cbf63a388
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-6.7.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023 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="A library for comparing dictionaries, iterables, strings and other objects"
+HOMEPAGE="
+ https://github.com/seperman/deepdiff/
+ https://pypi.org/project/deepdiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dirty-equals/Manifest b/dev-python/dirty-equals/Manifest
index 1f897fcaf030..ae0e06993e5a 100644
--- a/dev-python/dirty-equals/Manifest
+++ b/dev-python/dirty-equals/Manifest
@@ -1 +1,2 @@
DIST dirty-equals-0.6.0.gh.tar.gz 47114 BLAKE2B 910f09e5f5b2ec62d3b4d50ac23a17ee481875b9ae7303faf9bb610282113941b8a121d39e14e1a63cae0433055e639b1bc2da5c1fc3a9ece4915e34c172f40b SHA512 aff41b31c255294c2d6c3a3170daea56d98da4875f9ffdef96b522db24fbed92edf4618646b3e1b50680ce03fca1b9c2bb591730c397b85143ace846c513ac01
+DIST dirty-equals-0.7.1.gh.tar.gz 49000 BLAKE2B 06c9a7522f1dda95ff682dc9c28207b29754d11b4afe7eeacd5439a9ae9f34ce0a2f5724703129aa90b5577f36646deafa5428120e823502aae616d57b3d8f0d SHA512 c50a15e4cee77b3db1b07ef9f7d1eb5b3ab6bed6d914ac5c9e2982f8cf9432beaecb5fd7997d46a94f405e0c932ea5a8d72f1c1d4b6dda86161c22cc772ab4d7
diff --git a/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild b/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
new file mode 100644
index 000000000000..6e6450e914cb
--- /dev/null
+++ b/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2023 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
+
+DESCRIPTION="Doing dirty (but extremely useful) things with equals"
+HOMEPAGE="
+ https://dirty-equals.helpmanual.io/
+ https://github.com/samuelcolvin/dirty-equals/
+ https://pypi.org/project/dirty-equals/
+"
+SRC_URI="
+ https://github.com/samuelcolvin/dirty-equals/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytz-2021.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.4.2[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require unpackaged pytest-examples
+ tests/test_docs.py
+ )
+
+ local -x TZ=UTC
+ epytest "${args[@]}"
+}
diff --git a/dev-python/django-cors-headers/Manifest b/dev-python/django-cors-headers/Manifest
index 9c15678971d6..72c6c3776c75 100644
--- a/dev-python/django-cors-headers/Manifest
+++ b/dev-python/django-cors-headers/Manifest
@@ -1,2 +1,3 @@
DIST django-cors-headers-4.2.0.gh.tar.gz 30543 BLAKE2B d17ec23b4579a84c67ec4edb369dda24db9bc64e2b399436e60f610b64b7de4b2a3583d9aa9e2693ebfd89f9d28c25def116b36f76bd4e2c3362ae36b50bb7ac SHA512 e3b0c73a738f487bc360834395b1bd6348c9d0a05fb743464ff0e5915f3d2263dbcabeaa893aa3d4be246504623964fb9378a780b83aa2487a92b2ada4a11c04
DIST django-cors-headers-4.3.0.gh.tar.gz 30571 BLAKE2B 9d1b07b26badc6357b526440fcbfe56be291d572ba3df4236a0963b6e05eabcb18d7719420c625d2d388fc630c27db3dc5eb3324e735a1600748ce7cf936d394 SHA512 5bc29154276833a0432863c5f96289595003fc47735aa2af4fa4154e239acb15366fa98cdcc9276ec9089c0d4d878466706bd2d65d5b55fb302ab4b4a93be683
+DIST django-cors-headers-4.3.1.gh.tar.gz 30478 BLAKE2B b07b08df239350fa1f2036130e434c1e543122c5a8867887819e5632a40e28c8ea3b18db87ad447b54c6b6ad87904504edf2bcb7de8bf619247d6ab9f703102d SHA512 cfabc3631774337fcb634e36e43af23dfd3e3c0316ff6e367b07a05d7f96dff77e3c0d0a5539f916e9169132b44944bbb79ba92705e36f54284cc1c9eb3c30d8
diff --git a/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild b/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild
new file mode 100644
index 000000000000..4df3399aa9e6
--- /dev/null
+++ b/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 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="Django App that adds CORS (Cross-Origin Resource Sharing) headers to responses"
+HOMEPAGE="
+ https://github.com/adamchainz/django-cors-headers/
+ https://pypi.org/project/django-cors-headers/
+"
+SRC_URI="
+ https://github.com/adamchainz/django-cors-headers/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/asgiref-3.6[${PYTHON_USEDEP}]
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index c65462cecdd7..03084acbcc0c 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,2 +1,3 @@
DIST fonttools-4.43.1.gh.tar.gz 3770153 BLAKE2B d5abb086605126bbb814f4631e1da412f0f98f678274097340516bc0c9e8572039778ef3acd1fee1943e9bf431b1120de1a6809d64e64a77d81af63f61a49755 SHA512 5c505098c2f82421ef5daa0c3bad03910e978dc2dba17a80c9dcd27d5692822ae3579f1d6bc2184e80dcded0dcf61f4a859cc1b5951f07f3467197c21954ac38
DIST fonttools-4.44.0.gh.tar.gz 3771969 BLAKE2B 26a9bef8e6f5595bca8a27ca1b46cfa16c2bb5741d82fdf203be163510f1380b76307e3fb4921200b49d422ef602134f399a502087dd4dc6ff959871deb92ef6 SHA512 c665e0cae9b486f5373eb775d3a38a2b5a794ce64a112cf83f1e86d1433481944c8db1b30a5c6ed047f3639ebe63ddcad800a871a9289d186be67c9c8c0afa0a
+DIST fonttools-4.44.1.gh.tar.gz 3772404 BLAKE2B 75ea507c234846e26d3e1693c3ae8c23ac45c1ed0496958cf9589928e2918b496038f8729c7418080adf64e94a1ae0cb156e2b5925b69885660225daa8596359 SHA512 574dc1661c5b6cd63d70f4195f06e2dc6fe75bf84912720390314c2b3ed5edaaf05cc8879520b356857aef4cfd23ef2ae4c42c5cf5048359be63f757644d95b2
diff --git a/dev-python/fonttools/fonttools-4.44.1.ebuild b/dev-python/fonttools/fonttools-4.44.1.ebuild
new file mode 100644
index 000000000000..56ada0cab190
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.44.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 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} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ app-arch/zopfli
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ export FONTTOOLS_WITH_CYTHON=1
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest Tests fontTools \
+ -p rerunfailures --reruns=5 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 22804fd4a3f5..4541175d1f4b 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.105.0.tar.gz 12113230 BLAKE2B d2401ca4ee47f7017e5644479644894cf704bbba6fa97fbe225577c3c10afcb374a52444b32fc5ecb2ea5a38d6f7cdb71055c2ef0873e39d277738d33a778873 SHA512 d610579b1fc5be6b47b9add52e1d39ef7f007869e17fb7f6dbdcdd78f01e1d7f8a8de208499f9c718b1ce567b8723a44a6a93ad22b94cebd33c47cf584e03118
DIST google-api-python-client-2.106.0.tar.gz 12128677 BLAKE2B 8bbd135199e0408bb1d614257b5ee31abaa86090fec4ecee16359f0c34421d928e4ff2da3c9c8a08d4b3f1634db61006fe12e0136149a5ff7a232c3b68741704 SHA512 631a26d15eb58186231031093d8c766c06a2dccb822d74d58be7f77de6b2631d90210b67122edaf54f925eadf7c989b06b8e806b1bedc58d46fdfe24af3e4ec4
DIST google-api-python-client-2.107.0.tar.gz 12177116 BLAKE2B 0e19a5f3048b3068a4f90fef93a81dcb875b62aae80957cf68c344b87057efcca369b721bc07c1fc5521fff30511d1666c51f85a593f4c94351e5734abf13bd1 SHA512 5c13c37b733ce9db9f705e9520c99f173936989e546b5e96e12097b59a0436538c7df0aaad1e1f8f7be10e04c4e80a9b70d899cefedecdd6e6642d5d8e8a220f
+DIST google-api-python-client-2.108.0.tar.gz 12227437 BLAKE2B 7b8023f0e940730539bbfed2c213f6ec007b4e838eb87d8c7bd037c5f6dd73cbf97cdb6cec869d10f4c0135ff2989e1fa0b6a4b51cc118e7be2e45e2488d3b76 SHA512 baff038d8161de7150ac877dcca3af8a7f38fc9cfcdae9e70bdaf877f11fa35f572102ec1b6eda47a24f26386638285fc0ff31fbeb185d9174a40ca90cf20ba3
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild
new file mode 100644
index 000000000000..f004eac09849
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 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="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 ~arm ~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
+ )
+
+ epytest tests
+}
diff --git a/dev-python/lrcalc/lrcalc-2.1-r1.ebuild b/dev-python/lrcalc/lrcalc-2.1-r1.ebuild
index b70c9f338c3a..9258a1c66763 100644
--- a/dev-python/lrcalc/lrcalc-2.1-r1.ebuild
+++ b/dev-python/lrcalc/lrcalc-2.1-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="$(pypi_sdist_url) -> ${PN}_python-${PV}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE=""
BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
diff --git a/dev-python/mkdocstrings/Manifest b/dev-python/mkdocstrings/Manifest
index f3a522f3f31f..78ccd3a06a7f 100644
--- a/dev-python/mkdocstrings/Manifest
+++ b/dev-python/mkdocstrings/Manifest
@@ -1,2 +1,3 @@
DIST mkdocstrings-0.22.0.gh.tar.gz 81345 BLAKE2B ee2bcc0084c5d17368bc1a04db2f097f997872b38fd6b3d32f7daaefe78a496bb0a23d6588458a65b827954382e11c6b6d81baa2117af4b3341e9e727c616ca0 SHA512 c6226d50aaf029a139f51bb1f7101446e11a3e1337f7cd1c9324a2e258753cf25911b2da7042a08a64ae4cf51987b0b2a6ab752af408cdb54d436bcc908d66ff
DIST mkdocstrings-0.23.0.gh.tar.gz 80975 BLAKE2B fb561b46f98372093846d28890b3d7e1a65f89007a6d321c08535eeefc82ee9c06d447c594a53ef2109ed58286d8e1a8202e1678f77328c3ec5a3150bfc129ea SHA512 e1d9be20691f2272d64d746dd6af8c152f7d6eabef1e6c03f7e0b36af4e04591a8d878d036c0bb448483759311abc652db09e5b705569ddb83f81ad785ad5005
+DIST mkdocstrings-0.24.0.gh.tar.gz 85474 BLAKE2B f43c0842bd5c8f52700e572964948f362112c073992c8aa7d6df8ecc0a266b22122988c944e36d5edf6d227a2cf9e2a9a95222146139d8577001833c729ad7ca SHA512 0cc03cb68679958d77a5f1d10e96411271de2db2c89b1c27d151d7d6673a94c967024c377cb22a612a8079a0ea736b921384518869e1475797ed94c8c92d4dbb
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild
new file mode 100644
index 000000000000..b474bfc41da9
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# py3.12 blocked by mkdocs-material
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatic documentation from sources, for MkDocs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/
+ https://github.com/mkdocstrings/mkdocstrings/
+ https://pypi.org/project/mkdocstrings/
+"
+# Tests require files absent from PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/mkdocstrings/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/markdown-exec[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+"
+
+# mkdocstrings documentation generation requires several currently
+# unpackaged mkdocs extensions and plug-ins, and this test
+# makes use of mkdocs configuration
+EPYTEST_DESELECT=(
+ tests/test_plugin.py::test_disabling_plugin
+ # WTF, it tries to unlink installed files from installed package?!
+ tests/test_handlers.py::test_extended_templates
+ # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more
+ tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
+ # Internet
+ tests/test_inventory.py::test_load_inventory
+)
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/osc-lib/Manifest b/dev-python/osc-lib/Manifest
index db94c11b2fff..ba1b0eaeb03e 100644
--- a/dev-python/osc-lib/Manifest
+++ b/dev-python/osc-lib/Manifest
@@ -1 +1,2 @@
DIST osc-lib-2.8.1.tar.gz 98929 BLAKE2B 95cc3b0a7c51fc9a58b41fca1b363bc03e05715d9776620e45c94356965cce51437116a78594ddf4b1733722d9d8a6809acdc260e04ba6850083e5aeb689a688 SHA512 03c4a54ec2cd4a1cd36d4908ce30652ac34296b7e4f297277a1735ef625b54c13fda121b831567ba53b36f7e0db3b152526205a75bfb668122a361864daac87b
+DIST osc-lib-2.9.0.tar.gz 99122 BLAKE2B 1b92c5dae95612373f8c204ad6f115b8a6728e8d193098388cad5be6514c117001f9a222c40eaa22939a53d16b02b8dee68e79ff6292e296bfbe8252ad1fa755 SHA512 253cffd491843acaa728a4361b52d9738d2eabfc82e49bb5bca0a8da583809b494161d91f243dbe92e3b0855a5b74e178fd1a5ad46c5ac69b235ad88265b0ece
diff --git a/dev-python/osc-lib/osc-lib-2.9.0.ebuild b/dev-python/osc-lib/osc-lib-2.9.0.ebuild
new file mode 100644
index 000000000000..5b6ae8994dd8
--- /dev/null
+++ b/dev-python/osc-lib/osc-lib-2.9.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 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 package of common support modules for writing OSC plugins"
+HOMEPAGE="
+ https://opendev.org/openstack/osc-lib/
+ https://github.com/openstack/osc-lib/
+ https://pypi.org/project/osc-lib/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/cliff-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${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/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # need to skip all tests under TestTagHelps class
+ # checks exact help message, based on another unittest runner
+ sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/oslo-context/Manifest b/dev-python/oslo-context/Manifest
index 60eef0b94c70..ed35340cd370 100644
--- a/dev-python/oslo-context/Manifest
+++ b/dev-python/oslo-context/Manifest
@@ -1 +1,2 @@
DIST oslo.context-5.2.0.tar.gz 33729 BLAKE2B 3ad22132b4951d00e5e884e77fc3e5acc122c43a09176886a7ef1f7aba3ed8bd0df562295fd2107edc8178b791101ef45bf1b44681dfbc6de49a06661a44ebd4 SHA512 d79c34a5f30a2e8ef2d44678f2e8200ab96aa5ceca501152461ea0d9e9eedcfccc563a075bbc7b85a5deba9165890d29e8e604f278a374b0f90c973ee4265c3e
+DIST oslo.context-5.3.0.tar.gz 34831 BLAKE2B 6fcc6667562967cc77f7e6a0e3c1cc97d44690686e58c00eb2cde2593b48272abc1661b173e6bde1fec8d0eff2deb9484042fbac737fa0bd162cd2bc6d0ac7d2 SHA512 862039386c44ff55ddcea0d5a6de5caa9441382e2e7750bd60f24a33c4e3963f0788b3c79d86c61a20ff097d4d3a8ee381f9ee81e9b8a5a44356595b26d319e8
diff --git a/dev-python/oslo-context/oslo-context-5.3.0.ebuild b/dev-python/oslo-context/oslo-context-5.3.0.ebuild
new file mode 100644
index 000000000000..e19a7d74b5af
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-5.3.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.context/
+ https://github.com/openstack/oslo.context/
+ https://pypi.org/project/oslo.context/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${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}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme
diff --git a/dev-python/oslo-log/Manifest b/dev-python/oslo-log/Manifest
index 9e62338349f8..b3089a47196c 100644
--- a/dev-python/oslo-log/Manifest
+++ b/dev-python/oslo-log/Manifest
@@ -1 +1,2 @@
DIST oslo.log-5.3.0.tar.gz 96999 BLAKE2B de8e6173bbea2bf30eb0da056144b25f7da74cfcaf2f6ce70619da86ec3babeda5c5c4784c055950bbfef724a807db6e25cb9792eecdf242ae2bcca00e3810fb SHA512 7db802c9c753562351c34feb63ebdff1306911ef392e4742fb08cfda08d8b09a81cb0e3ff85162ecd54a164a9c38a3a6f5a4d7cfc26bbd9ee84fefd172ca2fbd
+DIST oslo.log-5.4.0.tar.gz 97318 BLAKE2B 48b93893ebc64c6d070504937e463f21b6089c3d44ef97e3c22e16a67c51e1f3af77621f728dca2aa9e842770727f5c10a367d47115d26f8b55822dfe617a02b SHA512 95ffd69543c069eda2962941e95a5951d4a952bd71f40fa3a25b8db33d79909f2d0f78a4810a714dda4096eed7cb208dac330dc2edd0e0a4b0748c2f3a5e33e8
diff --git a/dev-python/oslo-log/oslo-log-5.4.0.ebuild b/dev-python/oslo-log/oslo-log-5.4.0.ebuild
new file mode 100644
index 000000000000..bd5c1362b033
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-5.4.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenStack logging config library, configuration for all openstack projects"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.log/
+ https://github.com/openstack/oslo.log/
+ https://pypi.org/project/oslo.log/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
+ >=dev-python/pyinotify-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme \
+ dev-python/oslo-config
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_IGNORE=(
+ # requires eventlet
+ oslo_log/tests/unit/test_pipe_mutex.py
+ )
+ local EPYTEST_DESELECT=(
+ # messed up with pytest
+ oslo_log/tests/unit/fixture/test_logging_error.py::TestLoggingFixture::test_logging_handle_error
+ )
+
+ case ${EPYTHON} in
+ python3.1[12])
+ # upstream is... *sigh*
+ EPYTEST_DESELECT+=(
+ oslo_log/tests/unit/test_log.py::LogConfigTestCase::test_log_config_append_invalid
+ )
+ esac
+
+ epytest
+}
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 713393d2ee41..bc7157b210c5 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1 +1,2 @@
DIST python-phonenumbers-8.13.24.gh.tar.gz 4916204 BLAKE2B e283c7eb8e3936f6affc82f4e884e74f8f29b1ea43f9a5f3ab200b882d0a153cac9d199b0e44a6ca54098591f7044a92b82eb5cd254ca6d29439d18f3d2d6a7f SHA512 de11794c3e1ea8823a1e4fa0e998fd9657f4ebf4d187bd59e361bb0cb24cb771595ceb99e9ae4fb14e2ea0bb4058bacc13abce6dc6837911abbf7db5ceec0db2
+DIST python-phonenumbers-8.13.25.gh.tar.gz 4915568 BLAKE2B 2c547c41f6d7544dd243ae5149e8b90d4a7fa6e29c2e809bd682fb31027d863878ef9a5c7331f967c2f7da824b0dde9447527b8f15a4517533ce8dfb9f7b4285 SHA512 416363cfcbdf1eb0f32cac1141720208fc198f810190e1b79403121ff1f77bf66570ca0b5ea3e2197994dc5408af040a045dbfcc241fec70c63146f05b24474b
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.25.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.25.ebuild
new file mode 100644
index 000000000000..295c873ac3ed
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.25.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 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=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/prompt-toolkit/Manifest b/dev-python/prompt-toolkit/Manifest
index 3479c4194466..fb9c0216b8b7 100644
--- a/dev-python/prompt-toolkit/Manifest
+++ b/dev-python/prompt-toolkit/Manifest
@@ -1,2 +1,3 @@
DIST prompt_toolkit-3.0.39.tar.gz 423068 BLAKE2B d8673b3a9f4eb57c503e85471c13cefdb4f53fad58145d4198cd0f678d3f2d9d72d22d651b239386d8ade29c1fd155a98e80e4002b00ccbbbeff577636b9aa27 SHA512 6aaa80d515cd9731be1cc0de97f679b9dc22701dfb3e23b5434240aae0cac5eaede08437171a710492ff4041a9d46956cf8ed02750e9a78319eb61223033ba90
DIST prompt_toolkit-3.0.40.tar.gz 423978 BLAKE2B f48be10f9629c384d1903c0600cb976b89c68039ffc1fdd1eeb0d0846463850197f20d7ab7c5cf834b538b717acf506b53fa502e31d907a20197f94f246c469a SHA512 55e5ad252a8ae51ba6d985dc69a57f1364643d7fcd8c51ca5a928cc6a0ca424a1d4c9afcc5e8988951d03ed32afbc9a93eb1105c2931b0428b1ac8ec22ad53e8
+DIST prompt_toolkit-3.0.41.tar.gz 424620 BLAKE2B 03224acf95a5937996bfdb9692b719752fab693923e5dab7f3aa1c960a9bcf2bc135c0deee25982a16937d5c12f55be9d3b70c4d0d400ba9f6ccb0070a66bf7a SHA512 ac8782b06275df01b32ccfaf6055b3b1bf4ff4aecfa76599b143025d79a7459f2722c659363d288361953105ef617337de1c5a71b693f7c28716d0c3df0e2c75
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild
new file mode 100644
index 000000000000..c8bf0a238247
--- /dev/null
+++ b/dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 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="Building powerful interactive command lines in Python"
+HOMEPAGE="
+ https://pypi.org/project/prompt-toolkit/
+ https://github.com/prompt-toolkit/python-prompt-toolkit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest
index 52265221b4a2..7d8268b41a31 100644
--- a/dev-python/pycryptodome/Manifest
+++ b/dev-python/pycryptodome/Manifest
@@ -1 +1,2 @@
DIST pycryptodome-3.18.0.gh.tar.gz 16720227 BLAKE2B dfdc3a7cc0b1aea1e7b7d8f6e8bcf651ca92f0020e2c51849512d00e716283537feb884cacdc655d99a6b992305db9b899172d022bc9ff65d6349ee40b40c4d5 SHA512 a30a6b406bfd1d4288169924924636246c36999ca1e14c5cb70bd2f71ce25739dae04726ca97bdaebf7a8b36927cc6f617fbe2599fad48512a2c5e016a528247
+DIST pycryptodome-3.19.0.gh.tar.gz 17153954 BLAKE2B 5ecaacce490e5eec052d632b1427a4e36ba19a863c28934f53f247b945bb32a1367aeaf1b8669018978bd19d53c28a00f711158c6be014779c47c48f263b2e8c SHA512 1afa71336da38efb32f79d87b442a1d50537a6908ec153be7a087027a8540cebabab12922557c92e501f2d6da5c2f35466d3bbe6a3de44540de7278069691290
diff --git a/dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch b/dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch
new file mode 100644
index 000000000000..7d54e5e4c2a7
--- /dev/null
+++ b/dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch
@@ -0,0 +1,120 @@
+https://github.com/Legrandin/pycryptodome/issues/765
+https://github.com/Legrandin/pycryptodome/commit/87ff66373a5b80cddc9b0dd76e9bb8c15f6a8e50
+
+From 87ff66373a5b80cddc9b0dd76e9bb8c15f6a8e50 Mon Sep 17 00:00:00 2001
+From: Helder Eijs <helderijs@gmail.com>
+Date: Sun, 17 Sep 2023 23:32:02 +0200
+Subject: [PATCH] Fix verbosity problem in tests
+
+--- a/lib/Crypto/SelfTest/Protocol/test_ecdh.py
++++ b/lib/Crypto/SelfTest/Protocol/test_ecdh.py
+@@ -72,6 +72,8 @@ def ecdh_test_rev(self,
+
+ class TestVectorsECDHWycheproof(unittest.TestCase):
+
++ desc = "Wycheproof ECDH tests"
++
+ def add_tests(self, filename):
+
+ def curve(g):
+@@ -107,7 +109,6 @@ def shortDescription(self):
+ return self.desc
+
+ def test_verify(self, tv):
+- self._id = "Wycheproof ECDH Verify Test #%d (%s, %s)" % (tv.id, tv.comment, tv.filename)
+
+ if len(tv.public) == 0:
+ return
+@@ -138,7 +139,7 @@ def test_verify(self, tv):
+
+ def runTest(self):
+ for tv in self.tv:
+- self.desc = "Test #%d (%s) - %s" % (tv.id, tv.filename, tv.comment)
++ self.desc = "Wycheproof ECDH Verify Test #%d (%s, %s)" % (tv.id, tv.comment, tv.filename)
+ self.test_verify(tv)
+
+
+--- a/lib/Crypto/SelfTest/__init__.py
++++ b/lib/Crypto/SelfTest/__init__.py
+@@ -28,18 +28,19 @@
+ application runs.
+ """
+
+-__revision__ = "$Id$"
+-
+ import sys
+ import unittest
++from importlib import import_module
+ from Crypto.Util.py3compat import StringIO
+
++
+ class SelfTestError(Exception):
+ def __init__(self, message, result):
+ Exception.__init__(self, message, result)
+ self.message = message
+ self.result = result
+
++
+ def run(module=None, verbosity=0, stream=None, tests=None, config=None, **kwargs):
+ """Execute self-tests.
+
+@@ -77,21 +78,25 @@ def run(module=None, verbosity=0, stream=None, tests=None, config=None, **kwargs
+ raise SelfTestError("Self-test failed", result)
+ return result
+
++
+ def get_tests(config={}):
+ tests = []
+- from Crypto.SelfTest import Cipher; tests += Cipher.get_tests(config=config)
+- from Crypto.SelfTest import Hash; tests += Hash.get_tests(config=config)
+- from Crypto.SelfTest import Protocol; tests += Protocol.get_tests(config=config)
+- from Crypto.SelfTest import PublicKey; tests += PublicKey.get_tests(config=config)
+- from Crypto.SelfTest import Random; tests += Random.get_tests(config=config)
+- from Crypto.SelfTest import Util; tests += Util.get_tests(config=config)
+- from Crypto.SelfTest import Signature; tests += Signature.get_tests(config=config)
+- from Crypto.SelfTest import IO; tests += IO.get_tests(config=config)
+- from Crypto.SelfTest import Math; tests += Math.get_tests(config=config)
++
++ module_names = [
++ "Cipher", "Hash", "Protocol", "PublicKey", "Random",
++ "Util", "Signature", "IO", "Math",
++ ]
++
++ for name in module_names:
++ module = import_module("Crypto.SelfTest." + name)
++ tests += module.get_tests(config=config)
++
+ return tests
+
++
+ if __name__ == '__main__':
+- suite = lambda: unittest.TestSuite(get_tests())
++ def suite():
++ return unittest.TestSuite(get_tests())
+ unittest.main(defaultTest='suite')
+
+ # vim:set ts=4 sw=4 sts=4 expandtab:
+--- a/lib/Crypto/SelfTest/__main__.py
++++ b/lib/Crypto/SelfTest/__main__.py
+@@ -26,7 +26,7 @@
+
+ from Crypto import SelfTest
+
+-slow_tests = not "--skip-slow-tests" in sys.argv
++slow_tests = not ("--skip-slow-tests" in sys.argv)
+ if not slow_tests:
+ print("Skipping slow tests")
+
+@@ -34,5 +34,10 @@
+ if wycheproof_warnings:
+ print("Printing Wycheproof warnings")
+
+-config = {'slow_tests' : slow_tests, 'wycheproof_warnings' : wycheproof_warnings }
+-SelfTest.run(stream=sys.stdout, verbosity=1, config=config)
++if "-v" in sys.argv:
++ verbosity=2
++else:
++ verbosity=1
++
++config = {'slow_tests': slow_tests, 'wycheproof_warnings': wycheproof_warnings}
++SelfTest.run(stream=sys.stdout, verbosity=verbosity, config=config)
diff --git a/dev-python/pycryptodome/pycryptodome-3.19.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.19.0.ebuild
new file mode 100644
index 000000000000..50d23fb2aac8
--- /dev/null
+++ b/dev-python/pycryptodome/pycryptodome-3.19.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="A self-contained cryptographic library for Python"
+HOMEPAGE="
+ https://www.pycryptodome.org/
+ https://github.com/Legrandin/pycryptodome/
+ https://pypi.org/project/pycryptodome/
+"
+SRC_URI="
+ https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2 Unlicense"
+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"
+
+DEPEND="
+ dev-libs/gmp:=
+ >=dev-libs/libtomcrypt-1.18.2-r1:=
+"
+BDEPEND="
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/pycryptodome-3.10.1-system-libtomcrypt.patch"
+ "${FILESDIR}/pycryptodome-3.19.0-fix-verbosity-in-tests.patch"
+)
+
+python_prepare_all() {
+ # make sure we're unbundling it correctly
+ rm -r src/libtom || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH}
+ "${EPYTHON}" - <<-EOF || die
+ import sys
+ from Crypto import SelfTest
+ SelfTest.run(verbosity=2, stream=sys.stdout)
+ EOF
+
+ # TODO: run cmake tests from src/test?
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 5920282a31fd..02f401c6bbfa 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -47,6 +47,7 @@ DIST pydantic_core-2.11.0.tar.gz 351430 BLAKE2B 6471e17df66f7e6134724bfe6d697869
DIST pydantic_core-2.12.0.tar.gz 357459 BLAKE2B bbe40de673aa4da4ab0fe935dc6c9cab447ab079cdd251d1e5998451d42b96b40ddc5d34028a64acad9a35a9609b6e2e7a268f210c00c9414a9ffdb36e790d74 SHA512 6c75b1881d032e02dba93012e10390a861be449f8b6b65479eb782517defac82c3a56f94755560506c359cacb66be0f7054c546aa81e6c698023f5dbd1a9bbee
DIST pydantic_core-2.13.0.tar.gz 357396 BLAKE2B a07b37097c886718a4912870affc3401e55c7d7ce921186f3fccff9be30cc8cf4fcf241e3646a4e87983ca249421b3e9eab0408797af1c8755daa02359de3fac SHA512 18dd1c0b9affbaf1050b53a09083fc2e4cabe278ef71fb48b5cbc72d91c6f7fc4bfb7c8737cfc2aa329773e98a4eeeeaaef4da9ad6b40d25840dd4baa1ee280c
DIST pydantic_core-2.14.1.tar.gz 359077 BLAKE2B 61d58100898f2b1d05b2827fff4ae190f61ad7268aa3d5490f356e7eadaa5a921ff6260baf10ea1e5013272547b7090f985b6ac30aed29847d1aee53a4f1ef7c SHA512 e3c6926d691f6f62d8c4376c39e216c7e8c72aa7bb193869f5e454cc6648f1403e5e138fb09bd99f6c540cf9980a806020860cbae77e1aa481acb296ccfa844a
+DIST pydantic_core-2.14.3.tar.gz 359117 BLAKE2B 59a91a28009e8bbd5f58c37ed6b498c440bb2a5dce3a70841674d34f14b10b35c55b589f3aa137200f7a6c9ea6dbf229c65143d1d708358f25974c730744dbaf SHA512 e0327b1b48fb15f5695075da72ea229be93c9b7c7c59197638089e737d5941e11ad7e59678d5baf6ace3de3809d71eaa38e75849aad2fba2dae62ef153672a3d
DIST pydantic_core-2.6.3.tar.gz 337231 BLAKE2B 942a12228ad46d4b5365c781f8f7be28266c54e29bf5ab21e49ef31d25319d065c2f5f0bdc2ccca77888d38cfdea90fb2b415a0c203d8ae62825fb3ef618e1fb SHA512 5123fb55b002bc857ec03239163a5517709ea84430ac7b92d2027bdfbdba278d37caaa0d017d89af8e5306296667d7eb500bfc536a769d99c662b3fbb3835b63
DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
diff --git a/dev-python/pydantic-core/pydantic-core-2.14.3.ebuild b/dev-python/pydantic-core/pydantic-core-2.14.3.ebuild
new file mode 100644
index 000000000000..a359e90faec0
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.14.3.ebuild
@@ -0,0 +1,150 @@
+# Copyright 2023 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.6
+ aho-corasick@1.0.2
+ autocfg@1.1.0
+ base64@0.21.5
+ bitflags@1.3.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.12
+ equivalent@1.0.1
+ form_urlencoded@1.2.0
+ getrandom@0.2.10
+ hashbrown@0.14.0
+ heck@0.4.1
+ idna@0.4.0
+ indexmap@2.0.0
+ indoc@2.0.4
+ itoa@1.0.8
+ jiter@0.0.4
+ lexical-core@0.8.5
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ lexical-write-float@0.8.5
+ lexical-write-integer@0.8.5
+ libc@0.2.147
+ lock_api@0.4.10
+ memchr@2.6.3
+ memoffset@0.9.0
+ num-bigint@0.4.4
+ num-integer@0.1.45
+ num-traits@0.2.16
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ percent-encoding@2.3.0
+ proc-macro2@1.0.69
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ python3-dll-a@0.2.9
+ quote@1.0.29
+ redox_syscall@0.3.5
+ regex-automata@0.4.3
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.190
+ serde_derive@1.0.190
+ serde_json@1.0.108
+ smallvec@1.11.1
+ speedate@0.13.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ syn@2.0.38
+ target-lexicon@0.12.9
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-normalization@0.1.22
+ unindent@0.2.3
+ url@2.4.1
+ uuid@1.5.0
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+ zerocopy-derive@0.7.20
+ zerocopy@0.7.20
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index b472b6e1f8fa..ee6338d230b2 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,3 +1,5 @@
DIST pypdf-3.16.4.gh.tar.gz 7970008 BLAKE2B 86f622cf1ff6632a4645d564336fd8948970579f6bae241437701f333c2f336feab55f7e32a35b4f480577fe609958f492e73c1c9c5f1471af08e34c157f06b0 SHA512 7e7eb9759dfb3984b384a721e7d90ab5c666630bd3c56d936260e5ad93cfdc9a2d6fff8a7354764125923ab8f029ac5366a2750cc1151676fb40be1eba1bb2a4
DIST pypdf-3.17.0.gh.tar.gz 7974585 BLAKE2B e09840119845cf6b14887081f367b2a7ff9a88e4713cd1a940276ca0f83b6497ee07336ff02e7c43571cb39782e72f4f0b206fb3f692476e98d5c291b0193a25 SHA512 31b0298c26c117764494906ef940cb8f111d5b57b91849fbffb6a63682089e5bc0c59a4c068c90810f5d21ce67c8d71fb0c42d996f441bc287ad73e0c4710d97
+DIST pypdf-3.17.1.gh.tar.gz 7975263 BLAKE2B 27b413dd5f127e22cc0116baeee62115f4b02b2ff39f27b8a7884af2389423c332114cfa826a090683c2ab6583b1a549ee1de775869eaaa0a09237aa52a65ebd SHA512 c23294a67bee6ef4e673c02b045c9ec2d3471f93bfc8530959a02289f94b0aa47e79b24bddd0603731c39ddc5197fc6fc10e668bbd1077a32ecdfc1d33740397
+DIST pypdf-sample-files-964fb47b0fbfa89864680582640ae4eedf143890.gh.tar.gz 11668924 BLAKE2B 0c7d8e7cfb2f9d06d7633d57b691ba473d33cfcb58d2f1f83661cef9d755340d05db8767771a385d0ba88aa904f84b8bc7eafdb5d4f614b7a21a2d138572316f SHA512 28070b575273b6fee3173e797ed5bac618f8e8aca16d0122dcf3b4b16cedbcad69b84a9bc4be65037695597bcc1fa7898cdf766c37915c49f880a0c6ca057e68
DIST pypdf-sample-files-d87c33efc0f98225132dfe9c47980208b8130aa4.gh.tar.gz 11645535 BLAKE2B 3f96adaf4abc50a4390d9432878571a0ef9dd43dd34f307bb4bb6fd110d5ecdde988578860f110a6c8578cef96eac5410ded3204989fd20e6a6f1a84fac2fe83 SHA512 cb68a2eb06ef6738bef979f3b20c66fb925fbcb029cb22dfa5ea9b23b71ba07cb8e364e14eca34ebeb3b11e367c94738e32c9067b56b4da505bf77ab402abd06
diff --git a/dev-python/pypdf/pypdf-3.17.1.ebuild b/dev-python/pypdf/pypdf-3.17.1.ebuild
new file mode 100644
index 000000000000..5e613f48ddd5
--- /dev/null
+++ b/dev-python/pypdf/pypdf-3.17.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 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} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=964fb47b0fbfa89864680582640ae4eedf143890
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ # TODO: requires fpdf
+ tests/test_page.py::test_compression
+ tests/test_writer.py::test_merging_many_temporary_files
+)
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/referencing/Manifest b/dev-python/referencing/Manifest
index 50d8cdf48ec6..f55d622fad40 100644
--- a/dev-python/referencing/Manifest
+++ b/dev-python/referencing/Manifest
@@ -1 +1,2 @@
DIST referencing-0.30.2.tar.gz 53386 BLAKE2B 9122194461f7d8c0333ec37d9fe3540f46531215751632f11326850b476d7f78784ac8ca8f963dd31aa2a76337105f625fe6c693a65896af5731e80b2f444be2 SHA512 fd6de21a67f21f39bcf2c6b59b068888cb834710250c0d2ca7ef7dd05a27070c18717383d66824c400118afee6d3ef664e007ad16f9cdcbdcb5b2632152df25e
+DIST referencing-0.31.0.tar.gz 53776 BLAKE2B 9fe01f00ce8ea7d2daa5953939c255772d532ddf6405c5a8ea5c79785619f223f0aa5fa56156d29c2c126a02c7993178bcbf1844941e9d04bbdb9a3238b12724 SHA512 1d32abf9f7e88e3cee484dcf51804151a9a4de0743dded30dc71184f542147d274987b4c0948423aaf34a981133c2a9607c8b805e5a721282a6472c95a109aee
diff --git a/dev-python/referencing/referencing-0.31.0.ebuild b/dev-python/referencing/referencing-0.31.0.ebuild
new file mode 100644
index 000000000000..4977b27c8c3d
--- /dev/null
+++ b/dev-python/referencing/referencing-0.31.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023 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="Cross-specification JSON referencing (JSON Schema, OpenAPI...)"
+HOMEPAGE="
+ https://github.com/python-jsonschema/referencing/
+ https://pypi.org/project/referencing/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/trove-classifiers/Manifest b/dev-python/trove-classifiers/Manifest
index 60e2c5ae5ed4..4cc6d5a80712 100644
--- a/dev-python/trove-classifiers/Manifest
+++ b/dev-python/trove-classifiers/Manifest
@@ -1,4 +1,5 @@
DIST trove-classifiers-2023.10.18.tar.gz 15862 BLAKE2B 9d634e0b9674c1b9e249999c1722217fae5ca9d8aec348706859a73f599b62a003d5ff3344e361930b9182bcf4153bd5fb40ee93a53e50b1df0430b1fec4bb7c SHA512 6f8449411b8fc82ed798901701a72f3051bb46c189ee95276dcb77a2ee9b26a61c4304b03be20f7e2bc6dc5f8db1021bf02575cadd021fe43f96fd73540bae99
DIST trove-classifiers-2023.11.13.tar.gz 15895 BLAKE2B 2e1a615c2d39c89471427ee1a9dce95acdc9ee68a1299fca5603b710ed8867d00f72ea913c4b548962bb83eff9fda93871914bd02a1ff428e2aeafe8f060dd1f SHA512 4598a2163d0c9a4bcee1b10d7f285fe03b38efe19d279a346f18a12c4adf564a617492663d822658cb542293bffcd54270c05cfccc351509def2e0574c0aad90
+DIST trove-classifiers-2023.11.14.tar.gz 15895 BLAKE2B 559cfbf0a28da834130d4d6e74b63454a3c09ff198cd6f88392031f52609a54b6f58a3015bb29179ebead94b7b498a51a4f426f4e9fc9084d7cf11a0f9a9cc16 SHA512 f014eb404902a42b7ceac23b1f5cd1b256c05c2de2d1a630c067528826593cfb1a10d6de0851fa68715665e3165889eb39b61a518138fd81bf29c72489847146
DIST trove-classifiers-2023.11.7.tar.gz 15869 BLAKE2B 5c1229b7684699d560a12030cbd6be2de699d2c91902bde2f2144bd3a7718fd610596ea473a8a5a2be0f31296bb5b410a778455e3feccc5b11ac87b98f79ef38 SHA512 445a1e3482ff970a219b6323de8ab8547cb78adf5bc17db3c8cc242e5a12dc9ea93fa241da161139724f751b49f7ff80f579612d7b61a5868422e80db6c87d17
DIST trove-classifiers-2023.11.9.tar.gz 15893 BLAKE2B 10bdefc15abdb14e9dbfb2b8181b1f5478d1498c5168266cbaa0f4b6c7d9a7c42cf31f2c8cddfd3f9c63047f6c64b1429bc62c710b522acb05485f9ec8d8fcf7 SHA512 c7d3f7ebe06a1f8b0d7d7d7abe5d00f29fdab35e4577c726f2a3e279e0863c43cc0ceaa29b46bf2856becbead5a2468fc80f0200f199f9821e3336356425e693
diff --git a/dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild b/dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild
new file mode 100644
index 000000000000..729db4e896ab
--- /dev/null
+++ b/dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
+HOMEPAGE="
+ https://github.com/pypa/trove-classifiers/
+ https://pypi.org/project/trove-classifiers/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ dev-python/calver[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest
+ "${EPYTHON}" -m tests.lib || die
+}