summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-06-20 13:18:16 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-06-20 13:18:16 +0000
commitadc7983da1cff7b3416429c4dc20a7a0076e9a43 (patch)
treedec8a7310a25ac2c619a08c34fb17f366f6dc7ea /dev-python
parent2c2102628c01d95b9a9a81a7d945bf791e1a5a33 (diff)
downloadbaldeagleos-repo-adc7983da1cff7b3416429c4dc20a7a0076e9a43.tar.gz
baldeagleos-repo-adc7983da1cff7b3416429c4dc20a7a0076e9a43.tar.xz
baldeagleos-repo-adc7983da1cff7b3416429c4dc20a7a0076e9a43.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/adblock/adblock-0.6.0.ebuild15
-rw-r--r--dev-python/betamax/betamax-0.8.1-r2.ebuild (renamed from dev-python/betamax/betamax-0.8.1-r1.ebuild)2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.26.156.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.29.156.ebuild79
-rw-r--r--dev-python/chameleon/Manifest1
-rw-r--r--dev-python/chameleon/chameleon-4.0.1.ebuild28
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.12.0.ebuild1
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild2
-rw-r--r--dev-python/ensurepip-setuptools/Manifest1
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-68.0.0.ebuild24
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.15.0.ebuild78
-rw-r--r--dev-python/flask-sqlalchemy/Manifest1
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.4.ebuild37
-rw-r--r--dev-python/griffe/Manifest1
-rw-r--r--dev-python/griffe/griffe-0.29.1.ebuild39
-rw-r--r--dev-python/hcloud-python/Manifest1
-rw-r--r--dev-python/hcloud-python/hcloud-python-1.21.0.ebuild48
-rw-r--r--dev-python/keyring/Manifest1
-rw-r--r--dev-python/keyring/keyring-24.0.0.ebuild46
-rw-r--r--dev-python/keystoneauth1/Manifest1
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.2.1.ebuild62
-rw-r--r--dev-python/micawber/Manifest1
-rw-r--r--dev-python/micawber/micawber-0.5.5.ebuild37
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.6.0.ebuild95
-rw-r--r--dev-python/numpy/numpy-1.25.0.ebuild1
-rw-r--r--dev-python/pluggy/Manifest1
-rw-r--r--dev-python/pluggy/pluggy-1.1.0.ebuild26
-rw-r--r--dev-python/pycairo/Manifest1
-rw-r--r--dev-python/pycairo/pycairo-1.24.0.ebuild61
-rw-r--r--dev-python/pydantic-core/Manifest7
-rw-r--r--dev-python/pydantic-core/pydantic-core-0.39.0.ebuild134
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.0_beta3.ebuild49
-rw-r--r--dev-python/readme-renderer/Manifest (renamed from dev-python/readme_renderer/Manifest)1
-rw-r--r--dev-python/readme-renderer/metadata.xml (renamed from dev-python/readme_renderer/metadata.xml)0
-rw-r--r--dev-python/readme-renderer/readme-renderer-37.3.ebuild (renamed from dev-python/readme_renderer/readme_renderer-37.3.ebuild)0
-rw-r--r--dev-python/readme-renderer/readme-renderer-40.0.ebuild34
-rw-r--r--dev-python/requests-futures/Manifest1
-rw-r--r--dev-python/requests-futures/requests-futures-1.0.1.ebuild29
-rw-r--r--dev-python/setuptools/Manifest1
-rw-r--r--dev-python/setuptools/setuptools-68.0.0.ebuild127
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.6.3.ebuild80
-rw-r--r--dev-python/twine/twine-4.0.2.ebuild2
-rw-r--r--dev-python/yapf/Manifest1
-rw-r--r--dev-python/yapf/yapf-0.40.0.ebuild36
-rw-r--r--dev-python/ypy-websocket/Manifest1
-rw-r--r--dev-python/ypy-websocket/ypy-websocket-0.11.1.ebuild46
52 files changed, 1300 insertions, 12 deletions
diff --git a/dev-python/adblock/adblock-0.6.0.ebuild b/dev-python/adblock/adblock-0.6.0.ebuild
index 6cce7d5fde51..ee74511bd834 100644
--- a/dev-python/adblock/adblock-0.6.0.ebuild
+++ b/dev-python/adblock/adblock-0.6.0.ebuild
@@ -67,29 +67,24 @@ CRATES="
windows_i686_gnu@0.36.1
windows_i686_msvc@0.36.1
windows_x86_64_gnu@0.36.1
- windows_x86_64_msvc@0.36.1
-"
-
+ windows_x86_64_msvc@0.36.1"
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
-
inherit cargo distutils-r1
DESCRIPTION="Python wrapper for Brave's adblocking library, which is written in Rust"
HOMEPAGE="https://github.com/ArniDagur/python-adblock"
SRC_URI="
- https://github.com/ArniDagur/python-adblock/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
+ https://github.com/ArniDagur/python-adblock/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}"
S="${WORKDIR}/python-${P}"
LICENSE="|| ( MIT Apache-2.0 )"
-# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0
- Unicode-DFS-2016
-"
+ Unicode-DFS-2016" # crates
SLOT="0"
KEYWORDS="amd64 ~arm64 ~x86"
diff --git a/dev-python/betamax/betamax-0.8.1-r1.ebuild b/dev-python/betamax/betamax-0.8.1-r2.ebuild
index 6efd3b299463..31dced6ea20f 100644
--- a/dev-python/betamax/betamax-0.8.1-r1.ebuild
+++ b/dev-python/betamax/betamax-0.8.1-r2.ebuild
@@ -18,8 +18,10 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+# urllib3-2 blocked by https://github.com/betamaxpy/betamax/issues/200
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index dbdc2a7dd50f..05e683850c37 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.26.152.gh.tar.gz 662874 BLAKE2B 31866c0c3244cdb868fadaf985410e5577d
DIST boto3-1.26.153.gh.tar.gz 663859 BLAKE2B 6c5a04fcaa6dde09a09552c2687a2ad1a780ce703cc60eda84c2fa6ad9061dd5f0a4aa0c8f7a7d15f73da2abd9f28d12f8f3d4f859a552cc355bde16f9b306aa SHA512 70117de2475d82f4bb94be2033b7ba18447290f767334d3ea11c60807619d76846003868439f1d025b396df12b91e126f4935f7438d649ca2ee7d629f0a499f4
DIST boto3-1.26.154.gh.tar.gz 664248 BLAKE2B d36363c3a1561392fe9217c694f263ed34d10fee42141efffbe9d0899e5472d765af717a148deb9b3ef2abe654dcbb5840557d24644763a43ebda61fb39d7b5a SHA512 3aa8b243f9a39921c48d7d63ffb0be64f3bf8dbb824df03e7aafea072a218973660deb52b80ec23367f2a94f8bb9b2ee284a5b4d41d0edd81a1ea063cf94f453
DIST boto3-1.26.155.gh.tar.gz 664838 BLAKE2B 35c78d4da5bcba6f218a854d67647b71b16915b380271ed03c79775c547ab69fadd750f58557460445d5a6448f927042cccb6cea6e14670dda7e59ccac3c5b5f SHA512 40197333b87c85119428faa35489207ffdc6c03cec03c6446e239d616bd19a40da1512e5ce43618fea9465f174564b533021ba95e26d105a00786dfe47ec7342
+DIST boto3-1.26.156.gh.tar.gz 665272 BLAKE2B 7926b1ec420872d68d47483539ab9174ef9d8697ec0829a3ed3293ed589e459eb1a16591e53283b0d3cf639cbdd0d34fe730f347d1a50a8e72ce7ee545d332db SHA512 49b1653ccb1380529dd9ca90d63975b0a4dc5f671016d905d684074f858e3825dc6420de80bd90512aff91e33792dfbac94cd853acb617859e46e74d5aabee47
diff --git a/dev-python/boto3/boto3-1.26.156.ebuild b/dev-python/boto3/boto3-1.26.156.ebuild
new file mode 100644
index 000000000000..03c610b184f7
--- /dev/null
+++ b/dev-python/boto3/boto3-1.26.156.ebuild
@@ -0,0 +1,66 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 9497e299a262..d502678cd963 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.29.152.gh.tar.gz 11624895 BLAKE2B f6b8596548ab8ff5cbf401d98ebf90
DIST botocore-1.29.153.gh.tar.gz 11665559 BLAKE2B 82a51ba87753e4f241776652f846db39e5d3748997c635af960dfa389786f3abe3b622f2415abba1aaef81d12aee8b7197f1dea9e71a34e6fc18e1712a79eed5 SHA512 84f774eae433b8efecbc4ccf4990435cfa2f9a5fa1a6d29d94bbc57a75b6f3fd4c0b8392672a7d06a00ad7b5f0f4c3fcf66aa893ad655e3a1409083d8731df78
DIST botocore-1.29.154.gh.tar.gz 11667747 BLAKE2B 0f5ad1bd37b977fcbf938bde18ddec0aab0ce71180e64b5f7318647843082cedead62215a99099a7b4f795228afa1093f22364fbe84b3ecd6c1d177a00f5ee8f SHA512 f66819a5b70ceb30b42bf448c9069d2ebfe68d25f33d4b489e1836b65a2233a3a62bd50d723c4b25531fa13fd49a4ba50cad9e67b6315954aa113428d8a87d4e
DIST botocore-1.29.155.gh.tar.gz 11673165 BLAKE2B 653cc8b368d34502bcb16622677f11562d38a301e449e2712bcaa7702920a2e2291406fc370d58b562e92719f3945234578f1dc185e9b31e636f09e06f8a00bc SHA512 b4e0d46164953c7eb6fe185a3501a011395c48944028248f831347dd5abfa006c0e46196089d4c78010693f88137f49183b12381b984d99fc9a0a75b5d5892a2
+DIST botocore-1.29.156.gh.tar.gz 11675796 BLAKE2B 683a26d0e19a9c567c68bd297bbe72c1319e2d7767e47f23fb51c9f5934fdfde69e15d86e86390198fe7c3fe1621129bf777c4d8a17e4a4c94c1ba160bb35b3a SHA512 93e6bd8878848c81d7e97706db7a456743c58372596ebf215e1a76f6b7b9a0ac75eefb1da5621d2cf21ff75184f9760fef0d67aeb076820ca8f0ba8ee6546e41
diff --git a/dev-python/botocore/botocore-1.29.156.ebuild b/dev-python/botocore/botocore-1.29.156.ebuild
new file mode 100644
index 000000000000..509d06dedf97
--- /dev/null
+++ b/dev-python/botocore/botocore-1.29.156.ebuild
@@ -0,0 +1,79 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ # urllib3-2 compatibility, mock relies on implementation details
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_no_response_from_server
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_returned
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_sends_307
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_sends_connection_header
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_handles_expect_100_with_different_reason_phrase
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_state_reset_on_connection_close
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/chameleon/Manifest b/dev-python/chameleon/Manifest
index 02572278e3c0..7aeb0b3597ff 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1 +1,2 @@
+DIST Chameleon-4.0.1.tar.gz 173650 BLAKE2B f5457ad7749ec98a0d80fd54b5b867d47f74bbf672abc1b4ad0e8c1bed5eaac93ea135801565a1a3fc72a8b930e67fa23d81c32bf866516bf9a16d1ef3b76ad7 SHA512 1cad12e13e5b90150c0d801951398fb68c2c05b9c7264697629fb21b0bb16325bfbf23f911c320c1464e78d6d275a565f0555474ac6d8e36b706b0eb7248d731
DIST chameleon-4.0.0.gh.tar.gz 138574 BLAKE2B 70f8f4c330779058f94869d3c7d792af0a4a07b993dded928d3efaa8139736d1735a049dec1f43d807a125e162dd03c4ce2a1a0432c9450d6130501de1ab05d2 SHA512 817abf47696f48360ab40b3c774b1ff5be3389c918f719fe6be36f402b2e347871f0329168cb239c7e63f996d23b70181bf1a727df656f839c3c5d9bc35449b9
diff --git a/dev-python/chameleon/chameleon-4.0.1.ebuild b/dev-python/chameleon/chameleon-4.0.1.ebuild
new file mode 100644
index 000000000000..e1db1d9590f0
--- /dev/null
+++ b/dev-python/chameleon/chameleon-4.0.1.ebuild
@@ -0,0 +1,28 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="
+ https://github.com/malthe/chameleon/
+ https://pypi.org/project/Chameleon/
+"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests unittest
+
+src_test() {
+ cd src || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.12.0.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.12.0.ebuild
index 1db074569f8a..b4a56ad2026d 100644
--- a/dev-python/dns-lexicon/dns-lexicon-3.12.0.ebuild
+++ b/dev-python/dns-lexicon/dns-lexicon-3.12.0.ebuild
@@ -34,6 +34,7 @@ RDEPEND="
BDEPEND="
test? (
>=dev-python/boto3-1.25[${PYTHON_USEDEP}]
+ dev-python/dnspython[${PYTHON_USEDEP}]
dev-python/zeep[${PYTHON_USEDEP}]
dev-python/vcrpy[${PYTHON_USEDEP}]
)
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild
index 90791e723f6d..2b0f075a677b 100644
--- a/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild
+++ b/dev-python/elasticsearch-py/elasticsearch-py-8.7.0.ebuild
@@ -27,7 +27,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RESTRICT="
!amd64? ( test )
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index 08848bcb7330..8f81811dec2c 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,2 +1,3 @@
DIST setuptools-67.7.2-py3-none-any.whl 1093536 BLAKE2B d267f3aa3006e1a50ba519d1461b168d288741158d53bcef95075a16e35145f846bf72337bade5343b0be5ffdb9794cc15a68284841a10628b4c26d49b7b4141 SHA512 ef9041fd899e3f138e6ced79de2a52e15f1bf44dcfe6566b9b6ebf071fadad5b7b94f1a07ec81607170b34dbbf2126b4e0c2337314c8597883740c6786b54230
DIST setuptools-67.8.0-py3-none-any.whl 1093916 BLAKE2B d02bd5ccfe27c116497f8ae46603e5863c88795a489523d4cdaef3bad1bfabd5dfccf7a00f17290e58cce89a6348fbc194c00ae5ccb4c5e89a083fbb84c2cca6 SHA512 a80fc8d632ee6d1947689bb3f27ffb85206e518bf6c153ad43dd5e9f1825fa6e45d9df2baedd1fa9a8afb12a7854215bc4f56bb73d9033704745954890267c9a
+DIST setuptools-68.0.0-py3-none-any.whl 804037 BLAKE2B 743ab93b17f2e53e612c518d2d2fee73259dc4eef3de5ccb6587c84a91056072106d72def7189d2173c8bb53457da5b0010badaaca6a28c01aaff124dcb3bd10 SHA512 352b87cba8c4c9e1e0f14fb85a9f7c5bb3f874f09a8107c84df8051bba9d38b8da420babc66458bf2f51ef11b7089d1ecbbec4077a5982d73e1e63316a99c79e
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.0.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.0.0.ebuild
new file mode 100644
index 000000000000..8346a1bd0f6d
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.0.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index b403bc1cd86b..30f19d74366a 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -2,3 +2,4 @@ DIST fakeredis-2.12.1.tar.gz 97486 BLAKE2B 5207d9b946eb5720083b045e29b960cc2eb3a
DIST fakeredis-2.13.0.tar.gz 98084 BLAKE2B c147332f2575be7f63aef48199920480d550efbadeee9de255b17cb9c7d6791a059ee3d4bdc500ecf44dcc22de6fdd11d170daf3e19de8e910833b1de12232c6 SHA512 30335e456f7ac2498fc175f9fd154a766064a05e6eb996df9d533412525a3d4279c9359ac5e43a2b9ec9bb1d653639aa10d4e1765a4e4c1bc84f764fa1efdb42
DIST fakeredis-2.14.0.tar.gz 101919 BLAKE2B 7582b3986bc7102a02a69a321e539dc15d425d918397e896eed9d544816697c55e938511ae69201eae3a5c1e814afe7f0c472d48a249be976178a7c0279472ae SHA512 a63b46420d9ca2348b0ed0f4ef2c0227a4dbc46efef2fae5beae2513cc77732be830669910f14d59ecb2f1fa3b698e29855658239fea4ff458c4ba62fd9fa4cb
DIST fakeredis-2.14.1.tar.gz 101789 BLAKE2B 2e38319aa8bb23c9cd2196d8dbcf489fead785bffa3b464b7e420f28b247c911ea9f3775328f8fec7c26b1a77e32d6a21acf627fe7b603f311b0f3820fa06b54 SHA512 71b7f034ad5ccdd569052a82d2e15ec21db4b5a26bc5c660f76bb88c0b7aaa252234e899644dfd63086aaf8a9400ea13acc6439fdca08f84c8392949815f33d2
+DIST fakeredis-2.15.0.tar.gz 108160 BLAKE2B aaf135ffc395d6304c2f95b0339610f506382e865039f647a9af3fd9e3fa8cd9b9f6ea6557670fd61e949136f35de10b0fad63a1813d59f5b3697dd200195960 SHA512 59bc74a328b85cebcf0ae61d70e4ce26f3cdde3b82de6746f6b33229a6185d542db1e2ddd7c8ea600db69a6c630dbf81998ba108982da33487fe5ad2068abb29
diff --git a/dev-python/fakeredis/fakeredis-2.15.0.ebuild b/dev-python/fakeredis/fakeredis-2.15.0.ebuild
new file mode 100644
index 000000000000..54db59c15a69
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.15.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2[${PYTHON_USEDEP}]
+ <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis.py
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ epytest "${args[@]}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/flask-sqlalchemy/Manifest b/dev-python/flask-sqlalchemy/Manifest
index 8a10250d9687..97bc9df9663d 100644
--- a/dev-python/flask-sqlalchemy/Manifest
+++ b/dev-python/flask-sqlalchemy/Manifest
@@ -1,2 +1,3 @@
DIST Flask-SQLAlchemy-2.5.1.tar.gz 132750 BLAKE2B 6378766e9ae5e697f9a0fe23471f0264e5ac1f4c824657e5197f6c35f9f12eb756528641c1078b1bf470170c557c3201314a80b922b4ab84e4664a0ccaad2a6c SHA512 5d483418204030837e62769d45c16af88c5be6dbafc7c340cc4e67ef1736ea5102f506156119864cd7673cf382b0d3f27050bda64273b93ef4805fce9e1a0f6f
DIST Flask-SQLAlchemy-3.0.3.tar.gz 135538 BLAKE2B df0e682b39bf621ed2de415cec3cbda4f937d65a750050e1281082cf42dcfacf51ded5123a5832a6bbc7506f3f8e8a553007cd58710266b7ba18819e96e65c81 SHA512 0a49780048491bbef7384d895a34ea2732f9d6702fb40b07987eb8d0ceb73aae7988539febaeafcf050b7dc67f1297301497c84c90d139b4bf2874201186fcef
+DIST flask_sqlalchemy-3.0.4.tar.gz 78389 BLAKE2B f1b79c06151799e1d86419576840c90e5eec66c3f8bd1a758dc3c3bbeb9ea95b48df1f8a463eae088c3af9e2627d8f48f0b740a92cef76da9e85441178b5a6aa SHA512 51dac0784fbae7f6290e41e9965fa5dce2eee54f1b779361f6140cd6abc2ffc1d8426b3dc7209f18f03ef10cc930f7dbfc780dfe5c9b58b2b082bdf495a98b3f
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.4.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.4.ebuild
new file mode 100644
index 000000000000..b73ed849cfa5
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.0.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN="Flask-SQLAlchemy"
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="
+ https://github.com/pallets-eco/flask-sqlalchemy/
+ https://pypi.org/project/Flask-SQLAlchemy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/flask-2.2.5[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.18[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/blinker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/pallets-sphinx-themes \
+ dev-python/sphinx-issues \
+ dev-python/sphinxcontrib-log-cabinet
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index a548febc158f..41ecdb270597 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1 +1,2 @@
DIST griffe-0.29.0.gh.tar.gz 157523 BLAKE2B 2854d6e30898e7aec9b6481215311956bcd9b24eb4b7cb36c11515f36a90467cabfc2cf9320bf4dcb44f04d8dd855cde97a749f7b51529cbfe5bd5e8e4391d9c SHA512 3367e48ac9337d180621fa694babc61dec445cc86b1555a65d14547c95aabda637ef72d86d3a1eb16fc736923876cda6c2ba51fa346551e5e134b490557d1459
+DIST griffe-0.29.1.gh.tar.gz 159747 BLAKE2B b998c2014a883ddb5c845b620ceba7a6edcaf7fbd7178ad356961cd1f0866927008d7ac16c1a0f13e886812ae706b3d117f8cd8e26e5f46999da44d843f0cd43 SHA512 f8405b2ace1dac83e451fa344d395f8e1733362409853b7952cbe10321eb13b7524cb96ba899559a08ebdbc57f997b7ee38ba8951730b288e4f87127e87b100b
diff --git a/dev-python/griffe/griffe-0.29.1.ebuild b/dev-python/griffe/griffe-0.29.1.ebuild
new file mode 100644
index 000000000000..4a4d325e3e72
--- /dev/null
+++ b/dev-python/griffe/griffe-0.29.1.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=pdm-backend
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/hcloud-python/Manifest b/dev-python/hcloud-python/Manifest
index c8bb583699c7..014321dd020f 100644
--- a/dev-python/hcloud-python/Manifest
+++ b/dev-python/hcloud-python/Manifest
@@ -1 +1,2 @@
DIST hcloud-python-1.20.0.gh.tar.gz 100107 BLAKE2B 584e1399ddb1c5d1e5ad0beaf795609bb63d37457afe33c663cf303f8b20e2c6f6b3ff294007e9f4ae2d9aa833794e59516ad167f1dd51d14e692f6eab887881 SHA512 b17abc716ae6f7c78803096f2fd887e47ee746fccbe299cc434b7f445abdd7818e445d186f5adacc715971e2ebe2e92551cdb08aa1891ed58d8f443ea3be61fb
+DIST hcloud-python-1.21.0.gh.tar.gz 102150 BLAKE2B 4ec6fb813f61f3c487d632e12a71f9105af5d45a307567fd2b22ff716e30c645bffebc5cd768846fc7d7892ab753d3e4487a1b72edfee62fb99dfefe188be41d SHA512 8226a79324f0097d576cc1336e813a28a562fb9c3f50dcac1debb3c32bb52f4f5e563e920e2bbb6ce8be407a65de321b734d30156fd066d74ed95f6e6bd94a35
diff --git a/dev-python/hcloud-python/hcloud-python-1.21.0.ebuild b/dev-python/hcloud-python/hcloud-python-1.21.0.ebuild
new file mode 100644
index 000000000000..c40799262a84
--- /dev/null
+++ b/dev-python/hcloud-python/hcloud-python-1.21.0.ebuild
@@ -0,0 +1,48 @@
+# 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_{7,8,9,10,11} )
+
+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/${PN}/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/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/keyring/Manifest b/dev-python/keyring/Manifest
index 6bad012465c2..6e05dd3e3eaf 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1 +1,2 @@
DIST keyring-23.13.1.tar.gz 59582 BLAKE2B fb39490ba857f97b9b89856059664dfe21495ffe651bb48ad4e2284efe3f3c7551d34bfb4c39518c2b9b5e31e61b91693301271750f4ec837567d7652b11e9ef SHA512 7e56380e7311a31d8703b9e3beb74a8c8ce026f6cf9e1792780d349f3db61f50a1905c7d509a7013dd7cb47428dd3c28c3620815f01d3c4dbd7f648e056539d0
+DIST keyring-24.0.0.tar.gz 59671 BLAKE2B 424247f21958c5f485de2a4eca3d0cabcb2eec3b80ab3492f15ce1c0df3ff33131453387083da2119aaac7368153a59c31ad1919d7f350f62b1cfa367b9f0eed SHA512 4e6ce15d43aadbb831005e9b8f5cdebe4c034d9e2e47798814ae83d8146226504147585b8bfcb10ee5461113bd45d296f41c8c2bbf6fd30665192051b937ef05
diff --git a/dev-python/keyring/keyring-24.0.0.ebuild b/dev-python/keyring/keyring-24.0.0.ebuild
new file mode 100644
index 000000000000..8bd78d9be83f
--- /dev/null
+++ b/dev-python/keyring/keyring-24.0.0.ebuild
@@ -0,0 +1,46 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="
+ https://github.com/jaraco/keyring/
+ https://pypi.org/project/keyring/
+"
+
+SLOT="0"
+LICENSE="PSF-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.11.4[${PYTHON_USEDEP}]
+ ' 3.9 3.10 3.11)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # this test fails if importlib-metadata returns more than one
+ # entry, i.e. when keyring is installed already
+ tests/test_packaging.py::test_entry_point
+)
+
+EPYTEST_IGNORE=(
+ # apparently does not unlock the keyring properly
+ tests/backends/test_libsecret.py
+ # hangs
+ tests/backends/test_kwallet.py
+)
diff --git a/dev-python/keystoneauth1/Manifest b/dev-python/keystoneauth1/Manifest
index 1e495cacf950..55326ae5cfe6 100644
--- a/dev-python/keystoneauth1/Manifest
+++ b/dev-python/keystoneauth1/Manifest
@@ -1 +1,2 @@
DIST keystoneauth1-5.2.0.tar.gz 273102 BLAKE2B ed05830fad8432c36bff41b2238f91cea69846074da9991e28d75ac2ea00744f811edf33f84a2b3e4b4476de1dee8ecf85cfc7d6dbb01ab733d48a84bed80646 SHA512 4a9818922a7f899ebfb2f80a1cde4e4e62a94c30788f7e79004a24de8f94c7d9e0ce9e15eb3a37137240bb4ae0dcc71620edc7bdc05f83323939a48a075b6031
+DIST keystoneauth1-5.2.1.tar.gz 273214 BLAKE2B 1edeaf982dbdf9c4c0d3ba15762a37104bd355bc5de848d05bbc1d51b914875f8ff47be3777f57e03b10a0ad837f29c1ad8df8666a4839a51688afd6894706be SHA512 912833a84cc47e13db851cfd34e6d4e74d3f3594f15c5e5a94c318d7a720145cc226a85921a7aed6e1385b4b260fc3f966a1d558d5165af3bc39ed87e2a148ba
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.2.1.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.2.1.ebuild
new file mode 100644
index 000000000000..e14019d471a2
--- /dev/null
+++ b/dev-python/keystoneauth1/keystoneauth1-5.2.1.ebuild
@@ -0,0 +1,62 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
+HOMEPAGE="https://github.com/openstack/keystoneauth"
+HOMEPAGE="
+ https://opendev.org/openstack/keystoneauth/
+ https://github.com/openstack/keystoneauth/
+ https://pypi.org/project/keystoneauth1/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # relies on specific test runner name
+ sed -i -e 's:run\.py:unittest_or_fail.py:' \
+ keystoneauth1/tests/unit/test_session.py || die
+ # remove the test that requires hacking
+ rm keystoneauth1/tests/unit/test_hacking_checks.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ eunittest -b
+}
diff --git a/dev-python/micawber/Manifest b/dev-python/micawber/Manifest
index d3107d2795f0..495cb8c8e850 100644
--- a/dev-python/micawber/Manifest
+++ b/dev-python/micawber/Manifest
@@ -1 +1,2 @@
DIST micawber-0.5.4.gh.tar.gz 34963 BLAKE2B 1c311e2d1c8f32f81be466893bf1eb34f8c38901b168a97c88f2043aba1624fa8b6d12460c7470c3bbd720ae29af23ab808a9464b13ebf5ec193f5818b6f3aa1 SHA512 26879174071256fd3f95e92b0ea01b11a44eab767aa7bb43ff62221212ea0ab1ad33b67060e2dec33963abad599b864573f6a9d5a98fcd8f1a6633a3c73d7c80
+DIST micawber-0.5.5.gh.tar.gz 35109 BLAKE2B 3d60f8b27246a82001437481c5feec638a9673cf9b5427f1c69ca3f84e17935eba4e88078ab7d2818eaa1d9d98b22946a1ab5c3ff0f6261bd44a2150c663a616 SHA512 93949a813d99e5b46e8e06b4e9f501fa74092bc64ebab71572734334cd9889c2d4546a086775005b7f99d18df56222623ae7761cb6ba2f42c7f78c10a86e2d26
diff --git a/dev-python/micawber/micawber-0.5.5.ebuild b/dev-python/micawber/micawber-0.5.5.ebuild
new file mode 100644
index 000000000000..09ba9fea97e2
--- /dev/null
+++ b/dev-python/micawber/micawber-0.5.5.ebuild
@@ -0,0 +1,37 @@
+# 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_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="A small library for extracting rich content from urls"
+HOMEPAGE="
+ https://github.com/coleifer/micawber/
+ https://pypi.org/project/micawber/
+"
+SRC_URI="
+ https://github.com/coleifer/micawber/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index f4f9a7ad9aa8..04badac044a3 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,2 +1,3 @@
DIST nbconvert-7.3.1.tar.gz 880064 BLAKE2B 0bde4a65f27a880fdbf694dc6501ad1d0f78bf72e6010377faf89d8b16d5b24f82fcba93c51d9421a88e5c554bc0fb6d002f913886bd2d2f1a7f17a834755d02 SHA512 24d8d0ff35cf09d095d01122386439cf0c40eb9af7c88604f3108e5831a270509e1302370dc40eabc8bcb28fb86603d9d7a4a104346122deb8471aab7471e62d
DIST nbconvert-7.4.0.tar.gz 882064 BLAKE2B d7e7d7dca63d84dc1e189b4922e31777f29a3796c93a47c886afb9bb11bfdead29bfb209d1ebb17c82dfad91dcf145cee1ca4db9b780d676daabc28001bb87a7 SHA512 6421bde4c6b6bbbb54673a0bbe3e7902c825da8b0aab113ea285b9c2d2a59447616d6f3ce9ac15b4814a2776e03fab2ca6135d38aac694ef366b32cf3dd6d988
+DIST nbconvert-7.6.0.tar.gz 886726 BLAKE2B 9623b10adf08f06921c7b162018a747ef02e47a99c9663261247af2ee895ca66d310c42bcfb8717009b8fd9e8da4a088c5d8369f0ebe5a570a1439d3ea0db37e SHA512 70870b875c0045796004ada5ea3ec5402339392419919c11f2713f07cb0f35605f8902a1e965706c13b972fa4d7785d4941834bd9565e3b3c8afde2a9d2868c9
diff --git a/dev-python/nbconvert/nbconvert-7.6.0.ebuild b/dev-python/nbconvert/nbconvert-7.6.0.ebuild
new file mode 100644
index 000000000000..c9ca03f0c834
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.6.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 multiprocessing pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
+ ' 3.9)
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ mkdir -p share/templates/classic/static || die
+ # tries to refetch stuff even if it's already present
+ sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
+ -i hatch_build.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Missing pyppeteer for now
+ # TODO: Doesn't skip?
+ nbconvert/exporters/tests/test_webpdf.py
+ # Needs pyppeteer too
+ 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
+ # TODO
+ nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # latex failing, might be too new pandoc
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_filename_spaces
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_pdf
+ # too new pandoc but we don't have old anymore
+ nbconvert/utils/tests/test_pandoc.py::TestPandoc::test_minimal_version
+ nbconvert/utils/tests/test_pandoc.py::TestPandoc::test_pandoc_available
+ # crazy qtweb* stuff, perhaps permissions
+ nbconvert/exporters/tests/test_qtpdf.py::TestQtPDFExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest -n "$(makeopts_jobs)" --pyargs nbconvert || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/numpy/numpy-1.25.0.ebuild b/dev-python/numpy/numpy-1.25.0.ebuild
index 87185b35a95c..dd214428826b 100644
--- a/dev-python/numpy/numpy-1.25.0.ebuild
+++ b/dev-python/numpy/numpy-1.25.0.ebuild
@@ -33,6 +33,7 @@ RDEPEND="
"
BDEPEND="
${RDEPEND}
+ >=dev-util/meson-1.1.0
<dev-python/cython-3[${PYTHON_USEDEP}]
>=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
lapack? (
diff --git a/dev-python/pluggy/Manifest b/dev-python/pluggy/Manifest
index 8bceab03d73b..d3872f4fda14 100644
--- a/dev-python/pluggy/Manifest
+++ b/dev-python/pluggy/Manifest
@@ -1 +1,2 @@
DIST pluggy-1.0.0.tar.gz 51510 BLAKE2B 8107df9a91a843166a602e7518dd1d4167304464a8cc80180b60b03a2ac803be9b1ba190df9189907addd34a92b93a6b271d3d6b7485aa563203ce733c6a656c SHA512 cf0bcbb4330c24ce473614befa19548f33fb39fa0ad094e1eae786202d7adadc28e16499f80ab96b630091765404ca5c5b6f9a55bc605e03514d8ab50cf9ae00
+DIST pluggy-1.1.0.tar.gz 59984 BLAKE2B 58dacd5b11e7817f1f4923bcaaa8739c46972b9937b865660d6ae85019582fc9d596b5ab113884925ebb566756aeccd698e2c910a50238e81eda2f413686b8e3 SHA512 3cf95fd78f53525bccf04bc6dfc5101f942bdc3e787ea7c9369c6b2198e014c661999dd64ccce729787d080f44885720e25edd78bac0b93054450e09ff00b7d7
diff --git a/dev-python/pluggy/pluggy-1.1.0.ebuild b/dev-python/pluggy/pluggy-1.1.0.ebuild
new file mode 100644
index 000000000000..2c63d5719e73
--- /dev/null
+++ b/dev-python/pluggy/pluggy-1.1.0.ebuild
@@ -0,0 +1,26 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin and hook calling mechanisms for Python"
+HOMEPAGE="
+ https://pluggy.readthedocs.io/
+ https://github.com/pytest-dev/pluggy/
+ https://pypi.org/project/pluggy/
+"
+
+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/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
index 2cadb907c99e..1a63b4186149 100644
--- a/dev-python/pycairo/Manifest
+++ b/dev-python/pycairo/Manifest
@@ -1 +1,2 @@
DIST pycairo-1.23.0.tar.gz 344623 BLAKE2B e0551e2d4259d509f3165682b11852f28f0df93e6befcd398ef95bc5f0eed0818dc72a05a9b085148d4369e9b3283bc4d91ce032c6c88a3b15962c83eb03db57 SHA512 fc0cc878cc716a6a2baf89a193facfcd89970c884afd3bb9d7fbecf42894ddd191988a8f0fe79100786509f17fbe4f1990eca33a5299414b2df2539d66de5abf
+DIST pycairo-1.24.0.tar.gz 344850 BLAKE2B f1469254ccfcb96ee5e39af49fcae575717e2f0e9a3dc74a13408306b5c94f4557a9c6d6a448541cb1f6dd27781e484b37d5ea9f230dc87f9d3370fac31dfdba SHA512 bbc160bc9c3c9365018c680f6a69347bc222cdaec10ea48d18aedd0341048df74973d3299d783662adf02b414874824660da10943d88f64c30451d3fdccc63fb
diff --git a/dev-python/pycairo/pycairo-1.24.0.ebuild b/dev-python/pycairo/pycairo-1.24.0.ebuild
new file mode 100644
index 000000000000..2732152336f0
--- /dev/null
+++ b/dev-python/pycairo/pycairo-1.24.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
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the cairo library"
+HOMEPAGE="
+ https://www.cairographics.org/pycairo/
+ https://github.com/pygobject/pycairo/
+ https://pypi.org/project/pycairo/
+"
+SRC_URI="
+ https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=x11-libs/cairo-1.15.10[svg(+)]
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ esetup.py build_tests
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install \
+ install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index bda6711a9b32..cd7b1fb67056 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -19,6 +19,7 @@ DIST libmimalloc-sys-0.1.30.crate 1146717 BLAKE2B 9d8d7198d8cf563b4ad7cecf120e5e
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.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
DIST mimalloc-0.1.34.crate 5012 BLAKE2B 48d2c58637f435df7ef322e0150f03dc27a7f7c5892ea2c80b1b1ad20a3c71e77aaf8980fb36008fed58ae92e675df02a13d2ed0b94cd605f756f192019db705 SHA512 bc25f0f40baf4530c17e0ade84e84e113af0f2c4dbbb6ae531a64a66588d1d799e6486c7b6e94eeb08b5ac641e7d72a1c641f468c18fbbc95db77a5ca38154cf
DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
@@ -29,11 +30,17 @@ DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583a
DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
DIST pydantic_core-0.38.0.tar.gz 303349 BLAKE2B 9d7b3c3d3bc98cb15c358ed56fd5f270f175d67bd05cc1aa84701ec0a9d6153decfd21004d02d3438ba1eb7f1b67e65808f71a2bcca61d1cd9388c82c9bbc711 SHA512 43868d9e83e710fb55f886e4276cff01e7e78f212ecd1ae2a35414cf91af4302184ec4f0ca636d6a838d4a676835ae4b5a5c36df55a5b8024034495473cf980e
+DIST pydantic_core-0.39.0.tar.gz 302824 BLAKE2B bc4df1e66113845a5458d27c2408258dc0b0377732a2920d24d3a6f00cb9c7456c4fd9a59bfffcf5774ef9fba62c93e08947daae9fca99e76d537ce9f6de4eb1 SHA512 9221ceb3b944f52c7b8b874148af2c9eeb68088bbc3af53c1b530d002481e0d05eda8d27eaaa468d52509d1ca7338162cc593dc78d9365db829d69b395bffebc
DIST pyo3-0.18.2.crate 418755 BLAKE2B a45c27639d9c4c5a4e017b7e8d7580aba285ee11295f344809e30ac23b70e4541f2cb765dfeee20fdf4d441e1449f5cad4bd6308a52822eea3595305081d4b77 SHA512 b97ebc10939418d7fe3d6219921875cc7253f3aa7cd9d06b1486f8757c6d102377eb851b3a669c670423af2c80e389b736f0ce04a6cecb716c952413d06fe434
+DIST pyo3-0.19.0.crate 412659 BLAKE2B f8833d39c3c8318466ee5b9010cbdce1a20f844f15a257ae41c5d8c72f645e0c14e7e5ae0b50a8aebec60afd827cd23d5b5b4b70188531e6f5b89ef191066189 SHA512 9cef7f8a73cfea32661eaf8fd8d5af6ca180e3fd71ac956d9fbb96a1d194f238116e3ab31917b15359e7f6b0b3bc4587437463a4c61bca988f16657a64440919
DIST pyo3-build-config-0.18.2.crate 29138 BLAKE2B ad37bacda5f0e5c8eaf382b3371de251b83c721dc2378a0bd3700462bb65273bcd4277589084f6af0a2959f17b370fe5e6a5699c8689107220333c57387bf0ae SHA512 01f544938d83a8283f5101f69673f8a39d2052186e7c712709be25c5ae17a11e7d68c2fd9b4bc7661fff9343ebf3ccc196c1259321061f048c59696692601ae1
+DIST pyo3-build-config-0.19.0.crate 29172 BLAKE2B 20904ad814ed9a22b801eb7b06851292d50f5716116a5b4a670e8c499878bf6d193525a4579b044ed413823c17ecd1ad0178baae1cab1fe3f431cc9a0f442576 SHA512 3105ce54bff87bef803f30b79d3ab2dbe440d68418f8cdc875f18ceb2bb0d06ed0923cf02af5f8293ca901f40b96c1b99a12a8a8e74813dcf70534d3aec2bfb7
DIST pyo3-ffi-0.18.2.crate 62903 BLAKE2B 31e52b73705c1e5f44e419f314b1674a722a604fb52be5d5e5ff2ae9881ec9f204c1f51760570ed4c210ea530bd9295a27beaf9b5631ef02370d42d3e4c0be18 SHA512 495dcf45154ce89b8cd3a3fe193938e199465cf510df1713f7ad82e0a138ac2f8f1b73ec80f8af72f79a4ed26a9f4e4e93d52357ad4f41a213ec0c7b602734b9
+DIST pyo3-ffi-0.19.0.crate 64481 BLAKE2B 1cad9db14e9c14e2aa24eab25439f9d8f7503b5f4c3e8bc9a58370e3d63261898ea678f75d276f9d2eedd5fa90a106f30e7362262619a81bead93bf45673e144 SHA512 9e01b15153c44f13c77c28719d3ab36bb859c4a15dc936af4af3e99f44946b4b4752faf3d2320391735b205ca6c055a43e7f5ac98ce53d281fdf536ce67dfbbe
DIST pyo3-macros-0.18.2.crate 7173 BLAKE2B dfa5792be03b3b1164471ef9ff4ee672fe8e57d0fc169ca04da1542d86262e7e526be079e303b8a4899bfa4b0680d38604f80263c71b33ead5bf0a60871f473c SHA512 a2c367b4b1556b16304ef0da4ed8961cc760d259da9fbdabf791ac910de4f1e9f193227f10ea4215a52c701bd0ee92311dc91d272b9364017e2f6ebde5698f72
+DIST pyo3-macros-0.19.0.crate 7177 BLAKE2B b677a41f83d7ef42add024a956cff36ce5546d677d1d3379d963be10d8de6ca3edd55165bd8965d2991788e6a12b2609c0bbdf90cdc7020faca436e5b1366eed SHA512 0591c822cb9e1b1756ad001356659a228276dbdc499e3a92290648835f01c33b0d64378710728877a730059777012c0ca9046daeef6a35a0d4a2bda4142ff6e9
DIST pyo3-macros-backend-0.18.2.crate 48722 BLAKE2B 662822ae71702cb7d173c1ac7ead49cecde0dc4545bc3f5f30fd9ef7fab5537c13509bc8f18b2a8d05d7fa7f6fc8d0378a44d67b85edadfdf6ca153fc698a7d4 SHA512 433d9287bf3cdf84291c8d04ca5b24ecab2186379db554d6b2cf271e8716a890dcdc0717b2a00267e85dc637520559ef8e883bde2e2b16dd8cd580c1468c2dc3
+DIST pyo3-macros-backend-0.19.0.crate 49921 BLAKE2B fab6bcdd92a9f421117e68c77f7bcbd92dec5c2bfe33f2fada1e433bfa3c8fa0fb91c1ed7736bea77e91d60732186e2ac1dfd53dc7bf94ff9991c790f2417d9b SHA512 68c7ecd888c11631b20500f63b8bae3509dad2cbe0f8d628541e2e1e8b32e53150640dec894ac61e8e79218377346c461542946e1726ac92ba2d1fb6076a2d2a
DIST python3-dll-a-0.2.6.crate 56866 BLAKE2B e8a83d0e02c281d8a626565fe1cde1158726c9ff718afb0888298454762832d47117d7a1bfd4e3e471e82ce684cd8c36d8d7ee036b07748cbf09aa915c2e046f SHA512 f64be4ed3b217d6905df5787afb3d403580eed1bffc17a251e2c8eab61aee6a187460894b568140c4d38369e77fb51c4d49f6df9127786f344b460951df249d5
DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
diff --git a/dev-python/pydantic-core/pydantic-core-0.39.0.ebuild b/dev-python/pydantic-core/pydantic-core-0.39.0.ebuild
new file mode 100644
index 000000000000..e321b6c2239c
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-0.39.0.ebuild
@@ -0,0 +1,134 @@
+# 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_{7,8,9,10,11} )
+
+CRATES="
+ ahash@0.8.3
+ aho-corasick@0.7.20
+ autocfg@1.1.0
+ base64@0.13.1
+ bitflags@1.3.2
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.11
+ form_urlencoded@1.1.0
+ getrandom@0.2.8
+ hashbrown@0.12.3
+ heck@0.4.1
+ idna@0.3.0
+ indexmap@1.9.3
+ indoc@1.0.9
+ itoa@1.0.6
+ libc@0.2.140
+ libmimalloc-sys@0.1.30
+ lock_api@0.4.9
+ memchr@2.5.0
+ memoffset@0.9.0
+ mimalloc@0.1.34
+ num-bigint@0.4.3
+ num-integer@0.1.45
+ num-traits@0.2.15
+ once_cell@1.17.1
+ parking_lot@0.12.1
+ parking_lot_core@0.9.7
+ percent-encoding@2.2.0
+ proc-macro2@1.0.56
+ pyo3-build-config@0.19.0
+ pyo3-ffi@0.19.0
+ pyo3-macros-backend@0.19.0
+ pyo3-macros@0.19.0
+ pyo3@0.19.0
+ python3-dll-a@0.2.6
+ quote@1.0.26
+ redox_syscall@0.2.16
+ regex-syntax@0.6.29
+ regex@1.7.3
+ rustversion@1.0.12
+ ryu@1.0.13
+ scopeguard@1.1.0
+ serde@1.0.159
+ serde_json@1.0.95
+ smallvec@1.10.0
+ speedate@0.8.1
+ strum@0.24.1
+ strum_macros@0.24.3
+ syn@1.0.109
+ target-lexicon@0.12.6
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.8
+ unicode-normalization@0.1.22
+ unindent@0.1.11
+ url@2.3.1
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-sys@0.45.0
+ windows-targets@0.42.2
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_msvc@0.42.2
+ windows_i686_gnu@0.42.2
+ windows_i686_msvc@0.42.2
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_msvc@0.42.2
+"
+
+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 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ 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
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 6419f0b79982..14bdcc68cf9a 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -2,3 +2,4 @@ DIST pydantic-1.10.7.gh.tar.gz 903379 BLAKE2B b2dd75a640ca54024a2bf141117a1d738a
DIST pydantic-1.10.8.gh.tar.gz 765592 BLAKE2B 0b4cc273ce6fad20baa7c8bd87ef32199cb003f52b8e9aa19eda6359ca0e5c30152c7f25d2bb146ec23027011895cf44d9eb051c6ca609fb00e3d7b5f6089e4e SHA512 3ac41cdf0eb70fb71298131a043966b85387bc953ef2f463ece80728b46251d5d5f66c3f030afc3cdf4527918ae410fcd733a774cbe0c3b7ba9fc806a76378e4
DIST pydantic-1.10.9.gh.tar.gz 765868 BLAKE2B 802c542d75b41ff2926215bf4f6bd68a906d581db7b08ed85577f9021d259717f3ef8dbacfe381723aa042aab8720ad182c57fee188f2436b33d21164e24ba23 SHA512 d376a302eac3427cdc8da0ed2fab01c0b5e7a059447777a53c394a60dac5fa0066488be8553022bb5aa89367d5a2e80e5d6e3cb39d9272843718dd07f6acd11e
DIST pydantic-2.0b2.tar.gz 527380 BLAKE2B 214c740ecaed3cf4e7ed1e06d75ce17b37028e41c6a7abc4174b201691e31725123f89430c430a514c59973dc327d2b8fcd21c5ef0a47aaa48fafaf7e322d7a1 SHA512 49cc058c91e48638f9809ca77d9c486e3bdfc05e1546b19ca7e419f41e152998f750cfb58927ad8189913859d27fff68de0e5848599baaf816404e0f58fd6646
+DIST pydantic-2.0b3.tar.gz 543489 BLAKE2B 89faa3ca4187840ad2fa8025bfef8fba265eaf88e31a75751aa619e1235af08e33aa3b7a713da9e69119a43316da893b02e669d3e704781f77fe94598db40410 SHA512 db6690d15f91b635f0a4002f81cb9ba15e625ece4172bd355e5aef7058f6f385d0b3d1f7e2cab3e25aa6a5f48f6455965a1adaa18fc5a2ca5845c09804c9a3dd
diff --git a/dev-python/pydantic/pydantic-2.0_beta3.ebuild b/dev-python/pydantic/pydantic-2.0_beta3.ebuild
new file mode 100644
index 000000000000..3c4f56a6c9bc
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.0_beta3.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=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-0.39.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # expect -Werror
+ tests/test_deprecated.py::test_extra_used_as_enum
+ )
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/readme_renderer/Manifest b/dev-python/readme-renderer/Manifest
index 15684b72ac1b..103111440625 100644
--- a/dev-python/readme_renderer/Manifest
+++ b/dev-python/readme-renderer/Manifest
@@ -1 +1,2 @@
DIST readme_renderer-37.3.tar.gz 29718 BLAKE2B f0fdf0689f74b444ca1ae84c4e43f3bff5b5725052a3d83ad001d19b8a4180f6de95f41dc5cbaa6c7fd93bef6b593f1107674fce10f60148cdaa703cc480b789 SHA512 e4c060074cae3d23a10ef46f64d1426dab73e1618fe0920758d701d7ec4ced8120d4791ab29691306d0ab36f45447b4dc42be20d086b2f514111ef091204491c
+DIST readme_renderer-40.0.tar.gz 32300 BLAKE2B feacff6f82bc59e1e21da99a702004f409b19868356a47c37e01ff1bb52e3b896eaeef2815ccc8d7f20009ce5faf8f3a75d56d1c5f4acbc38b90116d2bef45d1 SHA512 8b598f7882e5e4a3a6c3b010c2252fd4a4babd5e90426dcf35f0586391cc0c2f2f106e016cef24d8fc5f4ed2712e5f88fada4cda160f42158979b6ec14672d36
diff --git a/dev-python/readme_renderer/metadata.xml b/dev-python/readme-renderer/metadata.xml
index ea8988e8af6a..ea8988e8af6a 100644
--- a/dev-python/readme_renderer/metadata.xml
+++ b/dev-python/readme-renderer/metadata.xml
diff --git a/dev-python/readme_renderer/readme_renderer-37.3.ebuild b/dev-python/readme-renderer/readme-renderer-37.3.ebuild
index 8567e16c6264..8567e16c6264 100644
--- a/dev-python/readme_renderer/readme_renderer-37.3.ebuild
+++ b/dev-python/readme-renderer/readme-renderer-37.3.ebuild
diff --git a/dev-python/readme-renderer/readme-renderer-40.0.ebuild b/dev-python/readme-renderer/readme-renderer-40.0.ebuild
new file mode 100644
index 000000000000..5756a77bc492
--- /dev/null
+++ b/dev-python/readme-renderer/readme-renderer-40.0.ebuild
@@ -0,0 +1,34 @@
+# 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_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
+HOMEPAGE="
+ https://github.com/pypa/readme_renderer/
+ https://pypi.org/project/readme-renderer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/bleach-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.13.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.rst )
+
+distutils_enable_tests pytest
diff --git a/dev-python/requests-futures/Manifest b/dev-python/requests-futures/Manifest
index 2354038e6dd4..439c3fc63454 100644
--- a/dev-python/requests-futures/Manifest
+++ b/dev-python/requests-futures/Manifest
@@ -1 +1,2 @@
DIST requests-futures-1.0.0.tar.gz 10897 BLAKE2B deccf99ffecf3dd04eaaa7692b93b046b027109346555ca9b4172f29600615fb78bd46528c2ae925587d06f24e5b52dc2f02f5d5da04eda18cd97037e1b28440 SHA512 64b39ed99712df8f1be74b2de97500d89711c0d5d3ba0f2b64e3bab755d0bf82029d7ced13b755ce12a2b86f3b673305b651ba6ff4cfb60aed40c8d5876f202c
+DIST requests-futures-1.0.1.tar.gz 9921 BLAKE2B f4b1ec5c473ebe5e2cd4ca7bf8da3c60b4a0304c6ee5940900fcbad1f8e3400facfc886e3ba318d30c597d2e212b29d6eed4dfe7e985c526309e0abb15ded6b4 SHA512 e95c2ae8a97f314a6f2ec02ab1d4b456cd673599dea9cf4abd9f2c601ea7ea4b48a6595d4b52bd5c717cfcbbb378be8789d6f63dfb58fb2aa4778db408521730
diff --git a/dev-python/requests-futures/requests-futures-1.0.1.ebuild b/dev-python/requests-futures/requests-futures-1.0.1.ebuild
new file mode 100644
index 000000000000..e8a9f440aafb
--- /dev/null
+++ b/dev-python/requests-futures/requests-futures-1.0.1.ebuild
@@ -0,0 +1,29 @@
+# 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_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Asynchronous Python HTTP for Humans"
+HOMEPAGE="
+ https://github.com/ross/requests-futures/
+ https://pypi.org/project/requests-futures/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+RDEPEND="
+ >=dev-python/requests-1.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index af75d90824b2..e8a2fb4e351a 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,2 +1,3 @@
DIST setuptools-67.7.2.tar.gz 2491608 BLAKE2B bd77a85081e95813cdd8fc1f63b768c73036b2f49103defcfd09ba9df7b2c5dba84d4f1aca553e0642ab8d764ae390310f1c6bebbae31736d1b5c16802cdc0e5 SHA512 06db096193ef52111f064c327daefb12ea2bb2ebc6712436bae01f986165455fe89a1d2220cbaaa6391a182e2aee19b9cf7a709c158af8c5ab6232dfbc258bd9
DIST setuptools-67.8.0.tar.gz 2492475 BLAKE2B 37c34605a58b41e14300e389402fe6debf9eeed20c72ddf53fa798b41484d1522d2b5313c74eb69a687eaf32c225f0931f901f452aebf6f7023b2419d127b808 SHA512 5dda7082fc563ce73d810efc9cdbccb8649fef2eac52f1a902c76ab5ec67a87ff64e36e918d0e3b168f5214d787bdc22e8ef9adeccb77d8d368dcbb48f5fb35d
+DIST setuptools-68.0.0.tar.gz 2194111 BLAKE2B 614a1c69f640ce8d0e510c444e058fecd3810421983a03cd345e43e1148799bed7e5d53ac689a4fe3ce3174d16f2bb719236bd5442b5f06ffc7659d0f4c7d15f SHA512 da6d535a0db6eaf477c8c2148efbc2100fd88a14f3adad44d20e22bf52bee3f00fe86547ea650fe653519bd6ff5f9ef033a55bb3a05fed041e88e78cdfb81d7e
diff --git a/dev-python/setuptools/setuptools-68.0.0.ebuild b/dev-python/setuptools/setuptools-68.0.0.ebuild
new file mode 100644
index 000000000000..7d4207e12d89
--- /dev/null
+++ b/dev-python/setuptools/setuptools-68.0.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.11.1[${PYTHON_USEDEP}]
+ ' 3.9)
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+PDEPEND="
+ >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+DOCS=( {CHANGES,README}.rst )
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
+ )
+
+ distutils-r1_src_prepare
+
+ # remove bundled dependencies
+ rm -r */_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ setuptools/tests/test_editable_install.py::test_editable_with_pyproject
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # fails with importlib-metadata-6.6.0
+ setuptools/tests/test_egg_info.py::TestWriteEntries::test_invalid_entry_point
+ )
+
+ if has_version "<dev-python/packaging-22"; then
+ EPYTEST_DESELECT+=(
+ # old packaging is more lenient
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_raises_accidental_env_marker_misconfig
+ )
+ fi
+
+ epytest -n "$(makeopts_jobs)" setuptools
+}
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index 7a9f0239964b..6a9973e0f9a8 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -4,3 +4,4 @@ DIST tox-4.5.2.tar.gz 170336 BLAKE2B 1dcd2bbd7d153dbf0ac7bb48cdd1826d5fb915b7ef6
DIST tox-4.6.0.tar.gz 170401 BLAKE2B ae9decd66677fc4e0422687dcd166a27df2f5617c4dbad1d99762542e0d7e1cbcb27892fce74217f85d3e93176475fa39a22a6dd99ccf141a12832862b436a02 SHA512 465db889630d1aa36329b41cf91537e7ca27fe0901b77b8b24d180ab854f2b7c062ae62bdcc931a33235b617e7c709d9290f0769b133b5cd40e398aea9a8d918
DIST tox-4.6.1.tar.gz 172090 BLAKE2B ee86b8972ee273f07ab0197ab2f0b6ce4505206eebc412f6ec68007e1cf5ac270662e4cb61aa6eb5b08df07a5b20a28c498f9e730fe08fd04339ba918a7712e5 SHA512 b6571790275ee6d7f33dfd72c587b70476fc4ea0798a5331831bea69087cacd21eed546197bfb4a32cb4fe182b63b759977f194e19b56fb346ed251a00be9d6b
DIST tox-4.6.2.tar.gz 172333 BLAKE2B 0fa9e7782eb18b525ff7f226b0fa9b8001f69f8b620b86a19bc2c19c349b2c8c7440a1de220387bccaa7a9044796db57ae63d16851c98a73ced2c495a01b5f3e SHA512 3e4663972f8c51a634f00c57c8b9b6704a628e912ef2e1854a8dfbd7bce13e44822984af9f69cb5b8a306ede545a565044cfeb8803cff41a530de7958fc07878
+DIST tox-4.6.3.tar.gz 172585 BLAKE2B 14d895a516fdb1b767c922633185b31904149e7fea9d1ae3faaac343bfd481fc843dcb4784168c89fb6d3f5503f4ff8fb35680ed197b5df2dde1f124be1df8ea SHA512 6261998bb753556a24e869db18955eea9b26063e0b67503028571e62085c2da535dc60552192c69ba07366150c4f3a3ce6bd36dd62d2fe6f24d7b466dccf2e76
diff --git a/dev-python/tox/tox-4.6.3.ebuild b/dev-python/tox/tox-4.6.3.ebuild
new file mode 100644
index 000000000000..758ce1944858
--- /dev/null
+++ b/dev-python/tox/tox-4.6.3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/cachetools-5.3.1[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.1[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.5.3[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-api-1.5.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ >=dev-python/virtualenv-20.23.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-0.10[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/flaky-3.7[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9.5[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.11.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.3.1[${PYTHON_USEDEP}]
+ >=dev-python/re-assert-1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/time-machine-2.10[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+
+ epytest
+}
diff --git a/dev-python/twine/twine-4.0.2.ebuild b/dev-python/twine/twine-4.0.2.ebuild
index 3564c9ee0388..3d1adf511a1a 100644
--- a/dev-python/twine/twine-4.0.2.ebuild
+++ b/dev-python/twine/twine-4.0.2.ebuild
@@ -28,7 +28,7 @@ RDEPEND="
>=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
>=dev-python/keyring-15.1[${PYTHON_USEDEP}]
>=dev-python/pkginfo-1.8.1[${PYTHON_USEDEP}]
- >=dev-python/readme_renderer-35.0[${PYTHON_USEDEP}]
+ >=dev-python/readme-renderer-35.0[${PYTHON_USEDEP}]
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
>=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
>=dev-python/rfc3986-1.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/yapf/Manifest b/dev-python/yapf/Manifest
index c78dfd41330c..49cab72a8330 100644
--- a/dev-python/yapf/Manifest
+++ b/dev-python/yapf/Manifest
@@ -1 +1,2 @@
DIST yapf-0.33.0.gh.tar.gz 186345 BLAKE2B 0ce1b0ca9e3838eecacf36c8f666ad58c0f35fbee1384ae5e02f3294892dd23003c39af954ed9deb3aac70397ed9924b92233e229362da1907a9cd2c692fb7e6 SHA512 82846900a9aec22ad2519ebb29fcd3d6e5a787e71e93f80c0169cf796201ae5e970ad7307f2b528e6454264cf61ca96ac4f99442ce6a52b7cebf78ceb2c9a395
+DIST yapf-0.40.0.gh.tar.gz 226057 BLAKE2B 34d08d952f462e17f6f4388cb8203f49e7a6236f28a673f8d4b532c87bfd9ebe3a9c42fd52e895c0e6f507611de14be87ba51422db6f9a0f42234bc4727fa224 SHA512 5c635618820fd0e4bc8065e240280dd41a533101f6457596b398807a61f8406681cf0555188ccab16222e7b1c41a83871473a4069a0d1594319da9d0a850f999
diff --git a/dev-python/yapf/yapf-0.40.0.ebuild b/dev-python/yapf/yapf-0.40.0.ebuild
new file mode 100644
index 000000000000..e74ecbdd74fb
--- /dev/null
+++ b/dev-python/yapf/yapf-0.40.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2018-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="A formatter for Python files"
+HOMEPAGE="
+ https://github.com/google/yapf/
+ https://pypi.org/project/yapf/
+"
+SRC_URI="
+ https://github.com/google/yapf/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/importlib-metadata-6.6.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" -m unittest discover -v -p '*_test.py' ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/ypy-websocket/Manifest b/dev-python/ypy-websocket/Manifest
index 0d9797a9eda5..0cbb81c3e6d4 100644
--- a/dev-python/ypy-websocket/Manifest
+++ b/dev-python/ypy-websocket/Manifest
@@ -1,4 +1,5 @@
DIST ypy-websocket-0.10.0.gh.tar.gz 14621 BLAKE2B c027ebd10a2a6ac7098d662435eb26b5c3a466d83c22a9db62a795be72df86ce34f0d233f05fb6179f07cf479222db1266c9a5070130da23f87f7adbbb9b471c SHA512 8267a3598c4c0e7b180f1718e9f84e05734f2e75acc971a531bf91cf9eaef4f0f5a4404ba0444aa7664c639ce877fb7409e0a65716dca046fe9423cc8f079b99
DIST ypy-websocket-0.11.0.gh.tar.gz 19274 BLAKE2B 61222dd10259c4f35bfd81d8f5391189bbbd8d950f796d6bc7e69e8df8e3167095facf6fbd2c0eb79c4ec8fdc95fbbf4e5c88941283dfcd531db69dfc1cc18f2 SHA512 ff1616f3bf65c4c2909359de4483ae1d27f31b7771e8c83ade039599fd85933664128469a2ecd6d52864887227ab3630c86ba6d1a10273d4a2cffce6e598aa2b
+DIST ypy-websocket-0.11.1.gh.tar.gz 19406 BLAKE2B 018cc20e4a06c896d020a2494621279054d370e3e200089cc5dc867a5b2085ef1b0f107214d0f637504234177cc4144135554cb08189fa49d9211a04d3c2d08c SHA512 962c1725302e32a3cf1164284627a487a2da9c4b7027e4aa03feed160533dff081fc995e1d4270567502c80f49794665a04ef7d2acd9d61b0ad42a9e388765f6
DIST ypy-websocket-0.8.4.gh.tar.gz 13416 BLAKE2B 9dd988d6eceb624bae2385180c408971a776f06324407506886c2ef5b8e713277a4c4fb0a2d328a20695d4db8808997c125bfb48faa60c93fe38bb1a1e899766 SHA512 20794b182bbf3958df9f3097ab8c4657acef1ca294c751e0524bc5a36cd7b7a6a2766ae9295cd5f9fc31070813d5b56e0e1e25e22931f63171f88b4757bb1584
DIST ypy-websocket-0.9.0.gh.tar.gz 13677 BLAKE2B 663cf37af7ddddc1bf208da05bc92fc36d866b1a1f86eb2ae1d8362b023db95b68085b5d9eb35b5f34e106f41a819249db6a3d5d102f1c6a5bf04828d2a9cfc7 SHA512 5a193285fafc206de116e087ba10f37ee6e7238968d9c3e88537e054fd8c2238f9bf55c2b2dcb5871b8af9b080caba912a3526e124c33ea3156f19621312cdb4
diff --git a/dev-python/ypy-websocket/ypy-websocket-0.11.1.ebuild b/dev-python/ypy-websocket/ypy-websocket-0.11.1.ebuild
new file mode 100644
index 000000000000..0b67bfaf654b
--- /dev/null
+++ b/dev-python/ypy-websocket/ypy-websocket-0.11.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to y-crdt "
+HOMEPAGE="
+ https://pypi.org/project/ypy-websocket/
+ https://github.com/y-crdt/ypy-websocket/
+"
+SRC_URI="
+ https://github.com/y-crdt/ypy-websocket/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ <dev-python/anyio-4[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
+ <dev-python/aiosqlite-1[${PYTHON_USEDEP}]
+ >=dev-python/aiosqlite-0.18.0[${PYTHON_USEDEP}]
+ <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Requires internet and nodejs
+ tests/test_ypy_yjs.py
+)
+
+distutils_enable_tests pytest