summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-04-04 16:19:44 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-04-04 16:19:44 +0000
commit6b948b7b55610ca718f477dbb3359d4f343f5fad (patch)
treeeb6965344376dcbf172e49a025e18eb494c36cce /dev-python
parentfaf010787462d96b1e99e2c3bfa683d4a215f3e5 (diff)
downloadbaldeagleos-repo-6b948b7b55610ca718f477dbb3359d4f343f5fad.tar.gz
baldeagleos-repo-6b948b7b55610ca718f477dbb3359d4f343f5fad.tar.xz
baldeagleos-repo-6b948b7b55610ca718f477dbb3359d4f343f5fad.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/astroid/Manifest1
-rw-r--r--dev-python/astroid/astroid-2.15.2.ebuild63
-rw-r--r--dev-python/aws-xray-sdk-python/Manifest1
-rw-r--r--dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.12.0.ebuild82
-rw-r--r--dev-python/awxkit/Manifest1
-rw-r--r--dev-python/awxkit/awxkit-22.0.0.ebuild50
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.26.105.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.29.105.ebuild72
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.76.2.ebuild63
-rw-r--r--dev-python/cx_Freeze/cx_Freeze-6.14.5.ebuild2
-rw-r--r--dev-python/django/Manifest2
-rw-r--r--dev-python/django/django-4.2.ebuild100
-rw-r--r--dev-python/fakeredis/Manifest1
-rw-r--r--dev-python/fakeredis/fakeredis-2.10.3.ebuild77
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.70.2.ebuild77
-rw-r--r--dev-python/nbclassic/Manifest1
-rw-r--r--dev-python/nbclassic/nbclassic-0.5.4.ebuild85
-rw-r--r--dev-python/nbclient/Manifest1
-rw-r--r--dev-python/nbclient/nbclient-0.7.3.ebuild57
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.3.0.ebuild93
-rw-r--r--dev-python/pandas/Manifest1
-rw-r--r--dev-python/pandas/pandas-2.0.0.ebuild218
-rw-r--r--dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch114
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild (renamed from dev-python/pdoc3/pdoc3-0.10.0.ebuild)6
-rw-r--r--dev-python/pillow/Manifest1
-rw-r--r--dev-python/pillow/pillow-9.4.0.ebuild130
-rw-r--r--dev-python/pillow/pillow-9.5.0.ebuild2
-rw-r--r--dev-python/pychromecast/Manifest1
-rw-r--r--dev-python/pychromecast/pychromecast-13.0.7.ebuild27
-rw-r--r--dev-python/pylint/Manifest1
-rw-r--r--dev-python/pylint/pylint-2.17.2.ebuild87
-rw-r--r--dev-python/zeroconf/Manifest1
-rw-r--r--dev-python/zeroconf/zeroconf-0.54.0.ebuild55
-rw-r--r--dev-python/zstandard/Manifest1
-rw-r--r--dev-python/zstandard/zstandard-0.19.0.ebuild68
-rw-r--r--dev-python/zstandard/zstandard-0.20.0.ebuild2
41 files changed, 1410 insertions, 205 deletions
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index de7c914342e6..8ab45fc8fc0e 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -4,3 +4,4 @@ DIST astroid-2.14.1.gh.tar.gz 452889 BLAKE2B f6cee61825d2c86bbf02ba6cc9f48076692
DIST astroid-2.14.2.gh.tar.gz 453109 BLAKE2B cb4b0795bde841e98712a719ba0870a3f0c616fc777cb3afc1ebbb0f5e49b763241825072d7915df87e778649a5632fec8f48e125cfa67de0b70618e34509157 SHA512 2dad27c0a3ddad5747a021c0700b831fe9f7a557238a2f52d87722c637120d49796a0a8e9e6f27d42ab4bee1c91541b7b5b5fa93dc3ec8a47197f35569a64a3a
DIST astroid-2.15.0.gh.tar.gz 460733 BLAKE2B cc80ffd9b5804a1a0c94598f75363088dcb971ee322b556e150799a5e18aa16d20c58d9bf7725c2697d34152daa72a20d845e7c56a524d58354913eed338010f SHA512 7ec121b3c7d60e2d48f738fbc4eeae3e32c7135a77fb778db9479d730a757818f549d8bd35facdd67d411d777d57ec620a2448de1f4da23754863cae18717bce
DIST astroid-2.15.1.gh.tar.gz 460960 BLAKE2B ec08cc53027323a70291adc888b3621dc139783e6f72859eac05a2c6da0150cc5d19dc6a7278b6a846f985cf44c7d868df1ba11d0c6e3b7a5d3c71a38603743e SHA512 26f85aff9de08d4b413c40951f2aefd2c19304c077b502774b253e3fcced42173bc7e996fac82b3462c6915625ff48fd80dd1ab5e3425aefa103347f821f7df4
+DIST astroid-2.15.2.gh.tar.gz 461132 BLAKE2B 1e4d5fa174c7893743ebe9a17b28bdee68fefd35a69802358eb4448402a00622ec56a7ba18a8cdae8cafd9e75bbee9cd18f39bbb44fbcc061c893fc24e308376 SHA512 aea2a55780f81893d8dad4acb572883017e3d6270d48a8f0d3b4520279bc4d79e9d04192479d5aad453ab7bda6d29edf1f56c92d86c04a8ef07bd4561bf908c4
diff --git a/dev-python/astroid/astroid-2.15.2.ebuild b/dev-python/astroid/astroid-2.15.2.ebuild
new file mode 100644
index 000000000000..57c9159872a0
--- /dev/null
+++ b/dev-python/astroid/astroid-2.15.2.ebuild
@@ -0,0 +1,63 @@
+# 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="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/PyCQA/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/PyCQA/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ <dev-python/wrapt-2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ tests/brain/test_regex.py::TestRegexBrain::test_regex_pattern_and_match_subscriptable
+ # some problem with warnings (our options?)
+ tests/test_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_one_arg
+ tests/test_decorators.py::TestDeprecationDecorators::test_deprecated_default_argument_values_two_args
+ tests/test_scoped_nodes.py::test_deprecation_of_doc_attribute
+ # requires six bundled in urllib3, sigh
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ )
+
+ # Faker causes sys.path_importer_cache keys to be overwritten
+ # with PosixPaths
+ epytest -p no:faker
+}
diff --git a/dev-python/aws-xray-sdk-python/Manifest b/dev-python/aws-xray-sdk-python/Manifest
index 31d38d10493a..ae7bae43d8f9 100644
--- a/dev-python/aws-xray-sdk-python/Manifest
+++ b/dev-python/aws-xray-sdk-python/Manifest
@@ -1 +1,2 @@
DIST aws-xray-sdk-python-2.11.0.gh.tar.gz 275430 BLAKE2B 1c1d3b56629dbd822b4f9fcb1e7ba5b43fbbff55fbe7ac02d75e0bb50629c4a0e5baed2b4c14c4c8a7775d60da5b285f96bca68b68b64ddf03aeec0c6094c74c SHA512 62035db955ce3d60e6d75088b7255dec83b21b4fd02353146b34bc48bdacff805b711b5caaca7adbbb5c5a3632a97910907d04681f36c198c99fbb4ef1cc4f85
+DIST aws-xray-sdk-python-2.12.0.gh.tar.gz 275773 BLAKE2B a78ac201524e70a342100c2e76e93bb02ed76e183dfca2e8737230061182d94c9a7f4eba183bc731d2ed79a8e4dda486ea09cb304f4cd58da56d712b8e6c5749 SHA512 0616369f95bf0de710ab5fb868d1a84280bcc1180cc205e6a6e0c405eae131fb861de75fea00c9c1be4e163b9d292cc27e08f624c7b6981ba4a3b8d99dbbb63c
diff --git a/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.12.0.ebuild b/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.12.0.ebuild
new file mode 100644
index 000000000000..610caf67ed1f
--- /dev/null
+++ b/dev-python/aws-xray-sdk-python/aws-xray-sdk-python-2.12.0.ebuild
@@ -0,0 +1,82 @@
+# 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_{10..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="AWS X-Ray SDK for Python"
+HOMEPAGE="
+ https://github.com/aws/aws-xray-sdk-python/
+ https://pypi.org/project/aws-xray-sdk/
+"
+SRC_URI="
+ https://github.com/aws/aws-xray-sdk-python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-1.12.122[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bottle[${PYTHON_USEDEP}]
+ <dev-python/flask-sqlalchemy-3[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-2[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.ext.django.app.settings
+ local -x AWS_SECRET_ACCESS_KEY=fake_key
+ local -x AWS_ACCESS_KEY_ID=fake_id
+
+ local EPYTEST_DESELECT=(
+ # Internet access
+ tests/test_patcher.py::test_external_file
+ tests/test_patcher.py::test_external_module
+ tests/test_patcher.py::test_external_submodules_full
+ tests/test_patcher.py::test_external_submodules_ignores_file
+ tests/test_patcher.py::test_external_submodules_ignores_module
+ # benchmark
+ tests/test_local_sampling_benchmark.py
+ # Fails, probably because above is ignored
+ tests/test_async_local_storage.py::test_localstorage_isolation
+ tests/test_async_recorder.py::test_capture
+ tests/test_async_recorder.py::test_concurrent_calls
+ tests/test_async_recorder.py::test_async_context_managers
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged deps
+ tests/ext/aiobotocore
+ tests/ext/pg8000
+ tests/ext/psycopg2
+ tests/ext/pymysql
+ tests/ext/pynamodb
+ tests/ext/sqlalchemy_core/test_postgres.py
+ tests/ext/django/test_db.py
+ # Internet access
+ tests/ext/httplib
+ tests/ext/httpx
+ tests/ext/requests
+ # requires old package vesions
+ tests/ext/django
+ tests/ext/aiohttp
+ )
+
+ epytest -p no:django
+}
diff --git a/dev-python/awxkit/Manifest b/dev-python/awxkit/Manifest
index aaacd39f7afa..06fdd3b0112e 100644
--- a/dev-python/awxkit/Manifest
+++ b/dev-python/awxkit/Manifest
@@ -1,2 +1,3 @@
DIST awx-21.13.0.gh.tar.gz 16221713 BLAKE2B 7e875efced94fb22d782deb9583fddfa13e10079a202298d0ca05af58048d4bf70480aacec7f0e3c408c9600fff126886cb6912bdadb3f48a33932c9debd2344 SHA512 90628347f71663d4e13fed2cc529b3bda858d07130b74593582e82e19b8c6e6049c9ad6cdd419e4efa4bd366771e993665ef4527f5de336edd5f020c9a93ca7a
DIST awx-21.14.0.gh.tar.gz 16484659 BLAKE2B 3541286c899eceb3a64719b08c0456abe34d70f6e97f3ecf24c4066da1173be02e613e42ecb1193f371703f8fa55abf0eba0106ccf884e6bb53bca9f2f2d2a0e SHA512 5c7efae528cdebffbce745f5e63807944db5a3a4b72880515da6d25de414d2d8c8a1ffb74f9f78f8cf72a6584437b627d8d53fd555021b943653d28427bd1021
+DIST awx-22.0.0.gh.tar.gz 16988159 BLAKE2B 88b2e8a1f035ca34c7dfd6ddb83ca9b72824153611861286c771a0493bf6c9fefa593d9e92116e9adf1968ee39c128af318fb7d5ef542e1d4603e235a7471412 SHA512 5ce0ea43d758e63ace024cee1c67e19a154104508dea2b67bdb275189e1f993b3b0c782e704d319196dcaabcf09db12ff36fcf73a35e5c4fdd5076a7e0649e10
diff --git a/dev-python/awxkit/awxkit-22.0.0.ebuild b/dev-python/awxkit/awxkit-22.0.0.ebuild
new file mode 100644
index 000000000000..85bf390927f2
--- /dev/null
+++ b/dev-python/awxkit/awxkit-22.0.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-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=awx-${PV}
+DESCRIPTION="Command line interface for Ansible AWX"
+HOMEPAGE="
+ https://github.com/ansible/awx/
+ https://pypi.org/project/awxkit/
+"
+# no sdist, as of 22.0.0
+SRC_URI="
+ https://github.com/ansible/awx/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/awxkit"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+ printf '%s\n' "${PV}" > VERSION || die
+
+ sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \
+ -e "/'clean'/d" \
+ -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 27d230280700..fefb75c814a3 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,6 +3,7 @@ DIST boto3-1.26.101.gh.tar.gz 627662 BLAKE2B 322a6e723851464409512e9d8dd17b5f2aa
DIST boto3-1.26.102.gh.tar.gz 627980 BLAKE2B d9dc7d2f62496f2e78427b7fd96f4a210afabb4a4a574a8860767c5bb48e68410cc9f2f2b64aa5e0e5337721d2f59edc7993ee32ea5e1aa5543533d3f1e18d52 SHA512 0988f113a519ffbd6c8a2238dc66a21d4aa87a7dda77d99a4343088b7ea03855f6da12712251502e54cf60ee0bbe066b3fbb30ad7aeb18d67ed9ca96035eb1cf
DIST boto3-1.26.103.gh.tar.gz 629982 BLAKE2B 1b70ecf1bc7ec297f01dfd209597719eca2e9d3a8d2a772558696c8cf4df03df5d8f9ea6d6a34beeb8d0377dd0e8ee92ebf7e3fc82b5da59f4994e84321b9e93 SHA512 094a5edde02137d739c9d017f9331671b0b2b5701db9bcc3c7bcb5d42457b407811d70b8ef9b24cfa30229dda028d58e6bb45a043c18b5c765afa3204ce77244
DIST boto3-1.26.104.gh.tar.gz 630394 BLAKE2B 8444d5c3d0c60db0a77d7d96d518ffd6d10a62075a774173e990077b6e8a29ddc202eec997c0c7f4efbad5eb4235bc47b9a8144419a9d4d48006c1240732baea SHA512 cf456b10474e50d666582c585a350bf6abb80f4357938909444a6795206e513655d1f63178851c33a73bce428c0f5de5bd252707cf959a6c92aaa4f5130a1550
+DIST boto3-1.26.105.gh.tar.gz 631136 BLAKE2B 13dea08a41a45cd7ec5eba37e1980dc8f45592f7e8058739ed55e863c14c083cbdbf1bf9380bfd2845ffcea645570db9e0e61d4ce35315fbdd5ca1f7c14acab8 SHA512 abaeb464cf581ffcaf450ec33468d822960ffee7f5463c187d55ddb0955ae17f1fab8f2a486a9ad6425f850f067091a01aa356cebb441049ca126b0bce198a4d
DIST boto3-1.26.89.gh.tar.gz 615718 BLAKE2B 3257e6efafaf139daf935385c252c10929be2a4277a8f0f192afc6dbd7cc32fa8f940a4e59ebbe25931c399dedb926a3c1848bd9cc0a7f0d377acb302eabe3b0 SHA512 02ee02b05023e9184f779ab8ff21afa6f7e56f7d2e883d021b2567676c5fc57cad6b475d55316a2017c2a837c41d2f5604824f440060e2f96804c5a61ccdd143
DIST boto3-1.26.94.gh.tar.gz 617861 BLAKE2B 908b40868735038810cf75c903bbc8bad00a6ea8776b2a5a236683f18f2185971f8a13db5349086b1aef2c4d51361c8ebf30f2d671cea7f4101c9882a59b6acf SHA512 036278668afa33dfdaab9cc2e02c2c3e0596ec1c1b407767f22bc6a4cd87913f883f85430ff6a120c5e0fdd2194b70c911fe7a207bc26ed5fcd415f3754cde35
DIST boto3-1.26.99.gh.tar.gz 625932 BLAKE2B 961a640995abdafbf2cd73f83ed5af0e1314cebbc5dc154771204e7c16532ad4a84aed08cbd7789af30de518bf2e8bd5204e9a540a2d3a08e75222c2eeb9a68a SHA512 ff726483a83a11a8c088905998af0a1a791e87503b39422811d82b3122275a24eb955636407422af7552908eee22d4c1369779a7798f09f958a8af5234c0c11d
diff --git a/dev-python/boto3/boto3-1.26.105.ebuild b/dev-python/boto3/boto3-1.26.105.ebuild
new file mode 100644
index 000000000000..2a4a7643203e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.26.105.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_{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 009bb4a98390..78eeb6a7caaa 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,6 +3,7 @@ DIST botocore-1.29.101.gh.tar.gz 11311820 BLAKE2B 51be1b936b407a8d29912f6891c786
DIST botocore-1.29.102.gh.tar.gz 11312537 BLAKE2B 6e5ac46612a692c72c7b9f3587d651a37422143dfae1fd25e999e255028e82a185dbd51ecf0a5de7d66a1ee715a6296d5d9c1f9474c210286b2df4e84946a3b8 SHA512 c0f0a69f81e1f2e57b3c048bae8e297e488f3e18bd2a443a6a6e56d49b97776c6b0fd7e613353eda3a7ee1f807ed717b639cc5fb685f83708f24de9d432f20fd
DIST botocore-1.29.103.gh.tar.gz 11356652 BLAKE2B 4b583e094c1dce78257c7a21a1b1bb5fb5705af71f6fbd5215d34bc5dc745d47d19ec2ee4e667d9430f366385aaa45e4c2b139102c1c9de129b06ecb37338bda SHA512 a430fad7d729853d0ea405e772d482e6c9db60e6f580f51ddcec87816e13aa3f7ddded9bf8ce288c84c0e28f2b4b29922b1af9a0a8934123f17bc351a267a6c7
DIST botocore-1.29.104.gh.tar.gz 11360726 BLAKE2B f051024952f137e42a544d60cefbcf4f359a4b68bfad332060703db6e04ff448b6b501541bc1d372aa6d9f30be6931110a02b40505d3fb2de77560bddc0e0d88 SHA512 c97b01240c5502a94d9afaea061e47155efb8a9c11f86778ef3c1595f40cf24f600116a5728025df3af6ed3466115fb94a046dc2e0fb2ed47a1233ffa0def027
+DIST botocore-1.29.105.gh.tar.gz 11363053 BLAKE2B 50cdf2f1c2bc60441e3083737509415355a80604f99de8c89026c743750570af3c9571c62d9d9469ccee6934c1fbf169656510da10be69e1360f7e1456cebc68 SHA512 ea68dcf04d006c7324c412ca8f664aa76020f32483fc4e9842a2eed3be7db42f0e13dca60517b372b09f18ffbbf9ba9de78a19e3713c79a1fcd46babe10fd078
DIST botocore-1.29.89.gh.tar.gz 11227280 BLAKE2B 41a1243972e591ea23fb2eebaa5b5fb9547bbd8ccd72fc907c487fd56ebf90d8120ceee472e34a29cd2b036926bc93bda33b564b1b7083e8984daf366eced1f8 SHA512 356298fd3be39957dd60e6268cfd2652998e62950b9060e0774c68e158506dcfea8188059b588c08f520617af38b91eb6b71c16b92f7a71f75f33cb73e7786cf
DIST botocore-1.29.94.gh.tar.gz 11242930 BLAKE2B d6abdda0ad69bfa635c2cdccefff5c0feaa27fb1a307d5cacb140ded35c246a52ebbe5657a9317bdc1441939d2bd62d5829b2ecce01c05976f56737f92fc3f62 SHA512 23c1fb835d492f414a0a67ac03e50ea31f6343676c7e6e8649067b11e3213f84eb068562fe5bd9a49ead9e37381ab132ac820d98fa4af805b41eaf53b0f9cb1b
DIST botocore-1.29.99.gh.tar.gz 11285143 BLAKE2B ba594544fb219cec77659cfa48fb6e3a8241b92c911d9983450648ce97652cad7654181637fed8373fe49e33524f63920128afd4ca9c00bce45603b1ab917648 SHA512 319d70412843149aa43c8d7faeff04122d96091081d30c2da0962fadb27104a24cc147fac2c95492aa407b2f8a25ebed9e7d149c29d5d38134d836581c801bdd
diff --git a/dev-python/botocore/botocore-1.29.105.ebuild b/dev-python/botocore/botocore-1.29.105.ebuild
new file mode 100644
index 000000000000..491b6bbc21f2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.29.105.ebuild
@@ -0,0 +1,72 @@
+# 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_{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
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 1f6cfff3aeef..509c7b42a51e 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,3 +1,4 @@
DIST cfn-lint-0.74.3.gh.tar.gz 3456672 BLAKE2B 9cc68ddefda86ee26e900989e40c7ded067fecb35cf077d559ebcacd6838378028010630e340dd52f04750dcc12094fb800e8e48a4c9e0607645463d3ca55827 SHA512 aad2209fa16f717d20127b2cf47d9aba586b85ccd41caf3ad8a50a6894cc3402d929be4cf9f76530223a3d69d79d843ef0edf802e53984b5c34563cf766f8189
DIST cfn-lint-0.75.1.gh.tar.gz 3487870 BLAKE2B 26aaf3b24023260d7a7d8f2b89fc9135e0c34786540c21d1c1763decad42167f1a29b01859bfcb17fe5ac1fbbb08aebf04191c6d1b21b335c92e2424c986cada SHA512 d4dfa9331c77f7c323b217203c470e15b4a62a86b42497934a4f9609d54a499211058cba4c561034f6c3dd6ba52ade30084e9a9d25da135289f783ed972a14ae
DIST cfn-lint-0.76.1.gh.tar.gz 3631194 BLAKE2B 95d395369fc230fe4e6c5d5e2a0e4bf246f1f312c6595e998004d43a7662e43ed0612a56893956fbb15e99ed197d9af2723fc1c2ea9b14fc27d8b4ff7b29e484 SHA512 5c65111fa7f57b268f2f3f52157d464de467cfdf16cd672e399ab7b2d23d648346c6754c45cd169f993ae15180ffafc710c9f2fa0675a7ecb1d8fc5b3d0ec5ce
+DIST cfn-lint-0.76.2.tar.gz 3402554 BLAKE2B e5f9405d2852e3b81140a24d94c90a3bf8c919eb6823280a0a887c6acc56ec71d991cbc76532cc49d1189a8f64750ba3e9db02fb3b46b27a28ec3468f4dd268e SHA512 96351ade16308be18baace1351e263a179eacc0b3635e9baa959baadaebb6a08825f6cb9cd83cb83b8635785c7f54405bfcf00f85d6d95d101d3298919cd1ea7
diff --git a/dev-python/cfn-lint/cfn-lint-0.76.2.ebuild b/dev-python/cfn-lint/cfn-lint-0.76.2.ebuild
new file mode 100644
index 000000000000..1f880341bf0e
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.76.2.ebuild
@@ -0,0 +1,63 @@
+# 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_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.62.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cx_Freeze/cx_Freeze-6.14.5.ebuild b/dev-python/cx_Freeze/cx_Freeze-6.14.5.ebuild
index 333d03572485..67231da54442 100644
--- a/dev-python/cx_Freeze/cx_Freeze-6.14.5.ebuild
+++ b/dev-python/cx_Freeze/cx_Freeze-6.14.5.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="PYTHON"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
dev-python/importlib_metadata[${PYTHON_USEDEP}]
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 4d6a46736d91..5a92f88a9263 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -4,3 +4,5 @@ DIST Django-4.0.10.checksum.txt 2563 BLAKE2B 1ec93751204e80d75f5f4f15086cfd9aabe
DIST Django-4.0.10.tar.gz 10430363 BLAKE2B d36aefd5d00023e5c4e34dda2b283e9a82d9e3b82576ce00cef7d9b75837ffdbf56327ad21ccefb02b79e8db93f12cf850541f4cb1d01b3dd28bdea0c73cb9d6 SHA512 04d1b207af21067c22c120486ff57ea602b3436adf1871f691735825afb30c3ed62f1cbc98d92fa70e9a818bcf50db70d949ab0c460f48f6027b75df9eba56c7
DIST Django-4.1.7.checksum.txt 2554 BLAKE2B 5a82eca5edb5b5d90c629c6d42414725b32ed55fc137cfb3fc9c5bfd392dc0fcc3f6b99eea64a16a88002a521bf910464a6fe11d9079d68e056acded3432be38 SHA512 4244abf4e81aec1f8daa7815f57483963e94cf67571f0c2f6ab67507515c7f6f72f86412a17c8e1e73170e1ed7d3d4503c5adba36c66d0b8f015350c81348116
DIST Django-4.1.7.tar.gz 10520415 BLAKE2B 88b66fea737f6fb1661a6987b9d6cecb84d58d675655a0ea5bed60ee28252edd11d8025498b7bc854b9c0c4814148bdc3bcdf59014dd040b5c424c3cd1711e46 SHA512 e34b0b05209297164d6cb84e7edf4740a2d638496c3107c06c0e773db292e9b02e6abbd8c3da347addaf17d9c9a56ef4873eb9edc5f1164e3d13d7f3ef083844
+DIST Django-4.2.checksum.txt 2530 BLAKE2B 06ebf87ce44d32fd2491d600cbf4a74b32426dadc0096fe3a34933ba55ddcfed082e85021c9c4e525122e6be8aa3ff6a2bb282fa24fb29a732ea744d4fa1dd1a SHA512 6078fe14d8b356477bd163eca67ca9038b24f78b706bdd8fc2c4ebdbda5024c5014b333a820910dbfb075ff944b78789f7c745eec3a2724898b7b2620f40a6dd
+DIST Django-4.2.tar.gz 10415665 BLAKE2B 05faa1476f9bbbea93f33c0f35914b0893006ebbdfac98e347f886db0a39b263046dc149cbf41eeee982ef46138b835379f8384b5f8eb7ef77e16d338307830e SHA512 22a61943eb99cae81a99d84795155d5fecf5e1ec5d76be145b86d5ae1d4fb6a71be8bb62e58b935dedc846c8fd3f1e6fe68cbcc7fa1603a3c4753e69d61b7af4
diff --git a/dev-python/django/django-4.2.ebuild b/dev-python/django/django-4.2.ebuild
new file mode 100644
index 000000000000..f2a4bae3bcb3
--- /dev/null
+++ b/dev-python/django/django-4.2.ebuild
@@ -0,0 +1,100 @@
+# 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} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature verify-sig
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${P^}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${P^}.checksum.txt )
+"
+S="${WORKDIR}/${P^}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ !!<dev-python/ipython-7.21.0-r1
+ !!=dev-python/ipython-7.22.0-r0
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-django-20201201 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${P^}.checksum.txt" sha256 "${P^}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite -v2 ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature_header "Additional Backend support can be enabled via:"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ optfeature_header
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+ optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+}
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 082c6732d649..3ca33d3bfb0e 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1,3 +1,4 @@
+DIST fakeredis-2.10.3.tar.gz 94025 BLAKE2B faf178d53e783c4475513bf9f485b6eaefc63bc45c5ebd95ecfa1aaed982e236877230ea19526d8d12f152f1c429c5003b04abd2cc4f7ed43dbde581b07fbdf1 SHA512 694b1b540e8b9b32a5a44e3094b8bab307c5af400335efe9eb034c5ed161c1583d4700c08ef16991a1f03502aeb835d89b327448c3385de548dd39aafdbcc2a8
DIST fakeredis-py-2.10.0.gh.tar.gz 160050 BLAKE2B 9c97abe80ca683cd068e3e8616b068c166f08f1b1eb360b76c57da4b9d68396a5dd6fb4152e92dcd73a1407c50e259db54ba5edd61bc2dca774672de84fcf2d3 SHA512 31df18ead5e2937a7a98297f4dc08790371968dd1fa6d9dfa54eb35ab27c2a4a88e2186c252c8a630e0e70fa04e67eccb68e687f9383b6770313cf8b79f6b3bc
DIST fakeredis-py-2.10.1.gh.tar.gz 159626 BLAKE2B 41d28b57c369273d96a985d6b47c8b162d1fc94c508daae12048e139c9d7bb9c44b39c95eb77cfb06d24cd1b44ccaa65f3d32f4976bfdda72e319d5da1cd69c4 SHA512 5659f5e3a6344448916bfe9ad88fff45b266488aa6d4e0b503f8594308ecfb8e97b1f588b658cb01a5dbe5fc06e64a1bbb6eafaa28aed0b8761b5e15638615ea
DIST fakeredis-py-2.10.2.gh.tar.gz 159702 BLAKE2B ec385c01af9e32705435148c1c61d74c14d7b22a60b6a3466f1831f557bfe997af6ee96429cfdba00a1328db3cabe1579d65411e7c2b9972e5421963cd66815b SHA512 2a3a87dcbe136465ff0465585562a5b8b0bc73504f491d3ec9c6e959b6cffaa3edbaa1c2e5199138f7a49dfdec3c3da6a2ae338228a8fe21c670a82c062c544a
diff --git a/dev-python/fakeredis/fakeredis-2.10.3.ebuild b/dev-python/fakeredis/fakeredis-2.10.3.ebuild
new file mode 100644
index 000000000000..c5a052a0d4a2
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.10.3.ebuild
@@ -0,0 +1,77 @@
+# 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/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/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 33cea99472c9..2db8b6f07487 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -2,3 +2,4 @@ DIST hypothesis-6.68.2.gh.tar.gz 9350253 BLAKE2B 5f98aac845a2f4e1dd9f54809d3e7e1
DIST hypothesis-6.69.0.gh.tar.gz 9350681 BLAKE2B e28bca5be08809d7f10723186957ab72a650d93403fc0c5ed91b329ca3c68b084a69aba093e8dc7fdc742316287dc585b7b8794403e0b3fa29adfc7bf2d76ee7 SHA512 b6a263a10f78841706f6fa58a237f2f1e7ef5efd4d859e0fb79bae0ad3eff86774bc0cb7bb581af89605f80514a08386b5f501a6154bcc5ae1f56e7eb2ba61b4
DIST hypothesis-6.70.0.gh.tar.gz 9351669 BLAKE2B 04e6739a1e6cf5907486c5fc6e09d17996831fe7967df4a24e6fb3c3ab992ef0c1ade9f250a1776eed4d6880893db1e8f284df60465a81a9f14f4aa64b0b0fc9 SHA512 6fb15addd86f8737b5a99a5c4ae5f2899133772e25426cc8a9bd086ddc0246b8fd323a10213df45d5b13c0740df19597a2b7ee7566611d5d01e6897954ac0f4c
DIST hypothesis-6.70.1.gh.tar.gz 9351685 BLAKE2B 99488f4caae4da403ebe28c2c18829d493ea76515f4a503ece0063dad2638cc5d05f9b55372d5c457b0dfc3af31d3422c44d647ea0c2a92a83b20d64c70c4b2f SHA512 a858df7d469604b2d43d003c76f43e40931f6024f6cf164c9b427a449cd0d843df401052e3312c529fd4467d80e0870810ad6863812ec53a47dcf9ec82336472
+DIST hypothesis-6.70.2.gh.tar.gz 9351849 BLAKE2B 074003592741cd89ae9ae44b3857daa3f5d1c8cbb0ab3513f3930b27fcc4e27417994c4240fbbba4649cb04716820db0e9c4f4ac745c194535a81b8a6197f7c3 SHA512 20f812ca8e005877893eacde1bac796495f8697ecbbd6da5f807a9ce6d7e310682030323a8b7bb3e646040253968d2f15cb6fcc858f47be631ef62af4924ac78
diff --git a/dev-python/hypothesis/hypothesis-6.70.2.ebuild b/dev-python/hypothesis/hypothesis-6.70.2.ebuild
new file mode 100644
index 000000000000..651999ecf666
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.70.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin
+
+ epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/nbclassic/Manifest b/dev-python/nbclassic/Manifest
index d17fd1113e08..9d872263ebe1 100644
--- a/dev-python/nbclassic/Manifest
+++ b/dev-python/nbclassic/Manifest
@@ -1,2 +1,3 @@
DIST nbclassic-0.5.1.tar.gz 20178622 BLAKE2B 1ff79c9af218011c697016ecef149f42e683607eebb8e199ef75957d9d3127858ce8f443aeedb60844e3277b4c8cd4959d123658a5103ab2112fec469ef01a96 SHA512 1dabc27ad115d1961e7881e7a51653449cae291c74aea222bbf92d49cb7bc9657ae1f1d9a81eafbd70bc0cafd57b75cd2c76bebf91aabc5fdd9eede534f1cec9
DIST nbclassic-0.5.3.tar.gz 20199979 BLAKE2B aa509bbd2bab51b94f475e81b7e1c5661370e850680df8f64c86d76ff2aed7a84a0e6c00f36a695ef7f84cdc731fb7613107abc96fb13a3127ded6689d6e81a1 SHA512 07e26d4cb30e3388420ced182a31a050419f4a872256efca6684e4af0e08ec8bf7f6f14f127fe1391457ad5fc792377a1a7bafc0fa1a92eec455454c6321a9ec
+DIST nbclassic-0.5.4.tar.gz 20200456 BLAKE2B 65f571da08f7b101e369aaa7e80d969a6b1ee989d7eea17d7de2638d4908c27dd20a874ee990f65a8fd7dd4535b2d518e4392501e5badc3fec309acfc22e5ff0 SHA512 f85e0388c02a4f601b00329787152fa74862e7a5d9148b63d52a48395898b3428d3b07f0733fa9a0b5336e37d6fb441585555e45e2e265bba6bb9b82f45e7bbc
diff --git a/dev-python/nbclassic/nbclassic-0.5.4.ebuild b/dev-python/nbclassic/nbclassic-0.5.4.ebuild
new file mode 100644
index 000000000000..8b9b14fe64c6
--- /dev/null
+++ b/dev-python/nbclassic/nbclassic-0.5.4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+DISTUTILS_USE_PEP517=jupyter
+
+inherit distutils-r1 pypi xdg-utils
+
+DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbclassic/
+ https://pypi.org/project/nbclassic/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~riscv ~x86"
+
+RDEPEND="
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython_genutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_client-6.1.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_core-4.6.1[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-5[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/nest_asyncio-1.5[${PYTHON_USEDEP}]
+ >=dev-python/notebook_shim-0.1.0[${PYTHON_USEDEP}]
+ dev-python/prometheus_client[${PYTHON_USEDEP}]
+ >=dev-python/send2trash-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.2.1[${PYTHON_USEDEP}]
+"
+PDEPEND="
+ <dev-python/notebook-7[${PYTHON_USEDEP}]
+"
+
+# dev-python/nbval is missing impls
+BDEPEND="
+ test? (
+ dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ virtual/pandoc
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme \
+ dev-python/nbsphinx \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/myst-parser \
+ dev-python/ipython_genutils
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # move /usr/etc stuff to /etc
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-python/nbclient/Manifest b/dev-python/nbclient/Manifest
index 06a41d563a40..6b76d74feb4e 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1 +1,2 @@
DIST nbclient-0.7.2.gh.tar.gz 76883 BLAKE2B d90b9dd7b15757a44c86084b68b916aab663c0e20a5c1012bda9f86a0ec1104a01cd78d27bc6e510eceeee12f2356a312d8080e1568e4c54dd2e916af85dc304 SHA512 17f1bfbfa156688e895ab1a0d0f74903f43c62a373a40cfcc50a654d86ebbaeb5ed101562716140a3878a9667bb131c49e06caf2e3127160700baf181cd1c29b
+DIST nbclient-0.7.3.gh.tar.gz 77997 BLAKE2B 613c06596ea0cc970d57115950248cbb052babccec397a9aa543b0058cdb94f797a7c5cf554a9122927a4138f0f06827a77f535fc83a858519873bda0c389230 SHA512 bdd093cafbe6a101de779de2e51d7e2e9abce80fa8ef5b5340b4cb8fb53d0051f6f677006cadaa3a69e727634043b7ab5416777e7cf8e0507d5d1d163016f8d5
diff --git a/dev-python/nbclient/nbclient-0.7.3.ebuild b/dev-python/nbclient/nbclient-0.7.3.ebuild
new file mode 100644
index 000000000000..fbd2218bb1f5
--- /dev/null
+++ b/dev-python/nbclient/nbclient-0.7.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2020-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="A client library for executing Jupyter notebooks"
+HOMEPAGE="
+ https://nbclient.readthedocs.io/en/latest/
+ https://github.com/jupyter/nbclient/
+ https://pypi.org/project/nbclient/
+"
+SRC_URI="
+ https://github.com/jupyter/nbclient/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/jupyter_client-6.1.12[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_core-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ nbclient/tests/test_client.py::test_many_parallel_notebooks
+ 'nbclient/tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
+)
+
+python_test() {
+ # The tests run the pydevd debugger, the debugger prints a warning
+ # in python3.11 when frozen modules are being used.
+ # This warning makes the tests fail, silence it.
+ PYDEVD_DISABLE_FILE_VALIDATION=1 epytest
+}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index 17b836706ef8..4a712b9921e1 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,2 +1,3 @@
DIST nbconvert-7.2.10.tar.gz 870708 BLAKE2B 837b5cf70f530b8fd3d566809d8d4faefdb3c4581b46e317d218a08bb06b80fdf59dcbd6c337b7fd62a9fdff676ea1cec941a7f6641c54ebee066a1bec19ffcd SHA512 078d6f1375f595f30db9eeebab55842353d549a294290a185c3817fc0bb2459c392120f089890409eec7cfe0fec7909752d20e4c55123249a4685d34655e0c05
DIST nbconvert-7.2.9.tar.gz 870386 BLAKE2B aea62f29d3e696c70d77ab73cc89347a4e0c8e077e98c45331608f7117fb3c98165bf3da89e4f3bf23b9d62c618289d98c9103c5b2998ca81f65cbfda65ca536 SHA512 0053e0e88f279d2fe430e516bcc19f98191e9ce414546ab1ff214f37c8f1cdfc4fc101faa4b5f1d5955fdc65c87aad367f5a5f12ce5991c68c015c5083f2f30c
+DIST nbconvert-7.3.0.tar.gz 879918 BLAKE2B cf1414f5c6a41222f576a66ca8aa49f98d5ee4a0cd6bedcd779a6c429d46550e0435e60723255358f1ccf51b508d74e7461521889cbb7e6dfb10377175ea78a2 SHA512 a7030cced31ae749d9625f7fb7cc2bee17c10fcd90e83f36efed1c00758d02e47ed9d90aa907c2acbe979810a561d48d9fe854a3786b60418beacdd471b14b8f
diff --git a/dev-python/nbconvert/nbconvert-7.3.0.ebuild b/dev-python/nbconvert/nbconvert-7.3.0.ebuild
new file mode 100644
index 000000000000..99efd7d328ae
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.3.0.ebuild
@@ -0,0 +1,93 @@
+# 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 ~ia64 ~ppc ~riscv ~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-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.1[${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
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest -n "$(makeopts_jobs)" --pyargs nbconvert || die
+}
+
+pkg_postinst() {
+ if ! has_version app-text/pandoc && ! has_version app-text/pandoc-bin; 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/pandas/Manifest b/dev-python/pandas/Manifest
index b04ced31e5b0..455f65648fc5 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,3 +1,4 @@
DIST pandas-1.5.1.tar.gz 5199286 BLAKE2B 17d98870f3397d7a9289a18708021a614b1d456e2ea99dae8927727aabb8aab73bd31f25c3035947f8f4c38404e7d971bf999500b300307b19a2cf6029763d0e SHA512 e5f25f21f17f36c6488f14fbfa391beb9f1989652de01cb8346d2826dead9331fea27295ee1e6f42d0875f2f1a91fcd23d606edd339432589bca5ba8d89e5ecd
DIST pandas-1.5.2.tar.gz 5201551 BLAKE2B c6a8156a6c116f1b576837882e4ad4ada6cf21bf72acd673d74bdb1dda4f97f88a5e6422e8f8ad2fbbb85a334cd68cb0abae316d5826c54a85baf8b325ab6183 SHA512 1e6b653ff418c839895946123f90fffcfafd57f24dfbd6bae4e9988893b7d57d6276ed101112c8f9730af53f600d006fe3a53bbed597c0376856f2cfc90c1f05
DIST pandas-1.5.3.tar.gz 5203060 BLAKE2B 846a6caa8ead6a2556303494f92e2091582d8fcde2aee424fa172c4e29c189a7305261f6a931a20249e969668646ff4a3d605ee1b57785fa3677dfbd137b3602 SHA512 3c725c33dcaf78b952d2eb966ced73ff0073162a01d3cbcb722d58d8f12a82163e6e684c27284c735bdfb32dea263b960f70f6a80ff93e6b316316d40835ae35
+DIST pandas-2.0.0.tar.gz 5271334 BLAKE2B 80782f407cb93866ca445518f45ea36e081b789d72ef597f6501746c41c1bb1000f183a7352e04194401d59c523ab796373445cddd42166c19f9d8cac522f426 SHA512 6a960275e03b1171cde1085cc0a853273c35377809eddc75c82bb6deb06c3ed499265efe88012771c86f86872a6f6b2d3e218bcb209259dcfc46781367cd2f51
diff --git a/dev-python/pandas/pandas-2.0.0.ebuild b/dev-python/pandas/pandas-2.0.0.ebuild
new file mode 100644
index 000000000000..0ce5cedefd97
--- /dev/null
+++ b/dev-python/pandas/pandas-2.0.0.ebuild
@@ -0,0 +1,218 @@
+# 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} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 multiprocessing optfeature virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="
+ https://pandas.pydata.org/
+ https://github.com/pandas-dev/pandas/
+ https://pypi.org/project/pandas/
+"
+SRC_URI="
+ https://github.com/pandas-dev/pandas/releases/download/v${PV}/${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc full-support minimal test X"
+RESTRICT="!test? ( test )"
+
+RECOMMENDED_DEPEND="
+ >=dev-python/bottleneck-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.7.1[${PYTHON_USEDEP}]
+"
+
+# TODO: add pandas-gbq to the tree
+# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
+# https://github.com/statsmodels/statsmodels/issues/8287
+OPTIONAL_DEPEND="
+ >=dev-python/beautifulsoup4-4.9.3[${PYTHON_USEDEP}]
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6.3[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.16[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
+ >=dev-python/xarray-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-1.4.3[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
+ !hppa? (
+ $(python_gen_cond_dep '
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ ' python3_{8..10} )
+ >=dev-python/scipy-1.7.1[${PYTHON_USEDEP}]
+ )
+ X? (
+ || (
+ >=dev-python/PyQt5-5.15.1[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+COMMON_DEPEND="
+ >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ doc? (
+ ${VIRTUALX_DEPEND}
+ app-text/pandoc
+ >=dev-python/beautifulsoup4-4.9.3[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6.3[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
+ dev-python/nbsphinx[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/rpy[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ )
+ test? (
+ ${VIRTUALX_DEPEND}
+ ${RECOMMENDED_DEPEND}
+ ${OPTIONAL_DEPEND}
+ >=dev-python/beautifulsoup4-4.9.3[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.34.2[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/psycopg-2.8.6:2[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-1.4.3[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+"
+# dev-python/statsmodels invokes a circular dep
+# hence rm from doc? ( ), again
+RDEPEND="
+ ${COMMON_DEPEND}
+ !minimal? ( ${RECOMMENDED_DEPEND} )
+ full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+python_prepare_all() {
+ # Prevent un-needed download during build
+ sed -e "/^ 'sphinx.ext.intersphinx',/d" \
+ -i doc/source/conf.py || die
+
+ # unnecessary with system tzdata
+ sed -i -e '/tzdata/d' pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ distutils-r1_python_compile -j1
+}
+
+python_compile_all() {
+ # To build docs the need be located in $BUILD_DIR,
+ # else PYTHONPATH points to unusable modules.
+ if use doc; then
+ cd "${BUILD_DIR}"/lib || die
+ cp -ar "${S}"/doc . && cd doc || die
+ LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test for rounding errors, fails if we have better precision
+ # e.g. on amd64 with FMA or on arm64
+ # https://github.com/pandas-dev/pandas/issues/38921
+ pandas/tests/window/test_rolling.py::test_rolling_var_numerical_issues
+
+ # TODO
+ pandas/tests/api/test_api.py::TestTesting::test_util_testing_deprecated
+ pandas/tests/api/test_api.py::TestTesting::test_util_testing_deprecated_direct
+ pandas/tests/io/test_clipboard.py::TestClipboard::test_raw_roundtrip
+ pandas/tests/copy_view/test_internals.py::test_switch_options
+
+ # TODO: xdist?
+ pandas/tests/test_expressions.py::TestExpressions::test_run_binary
+
+ # TODO: these require a running db server
+ pandas/tests/io/test_sql.py::TestMySQLAlchemy
+ pandas/tests/io/test_sql.py::TestMySQLAlchemyConn
+ pandas/tests/io/test_sql.py::TestPostgreSQLAlchemy
+ pandas/tests/io/test_sql.py::TestPostgreSQLAlchemyConn
+
+ # OOMs
+ pandas/tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
+
+ # xarray version incompatibility
+ pandas/tests/test_downstream.py::test_xarray_cftimeindex_nearest
+
+ # warning from dask
+ pandas/tests/test_downstream.py::test_construct_dask_float_array_int_dtype_match_ndarray
+
+ # TODO: mpl incompatibility?
+ pandas/tests/plotting/frame/test_frame.py::TestDataFramePlots::test_plain_axes
+ )
+
+ local -x LC_ALL=C.UTF-8
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+ epytest pandas --skip-slow --skip-network -m "not single" \
+ -n "$(makeopts_jobs)" || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc -r "${BUILD_DIR}"/lib/doc/build/html
+ einfo "An initial build of docs is absent of references to statsmodels"
+ einfo "due to circular dependency. To have them included, emerge"
+ einfo "statsmodels next and re-emerge pandas with USE doc"
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
+ optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
+ optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
+ optfeature "for msgpack compression using blosc" dev-python/blosc
+ optfeature "Template engine for conditional HTML formatting" dev-python/jinja
+ optfeature "Plotting support" dev-python/matplotlib
+ optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.7" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+ optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.6.1"
+ optfeature "R I/O support" dev-python/rpy
+ optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
+ optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.16"
+ optfeature "miscellaneous statistical functions" dev-python/scipy
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}
diff --git a/dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch b/dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch
new file mode 100644
index 000000000000..bd68ea2d8368
--- /dev/null
+++ b/dev-python/pdoc3/files/pdoc3-0.10.0-update-tests.patch
@@ -0,0 +1,114 @@
+From 80af5d40d3ca39e2701c44941c1003ae6a280799 Mon Sep 17 00:00:00 2001
+From: Kernc <kerncece@gmail.com>
+Date: Sat, 29 Oct 2022 18:55:46 +0200
+Subject: [PATCH] CI: Bump min Python 3.7+ and update tests for Python 3.10
+
+Fix https://github.com/pdoc3/pdoc/issues/400
+Thanks @tjni
+--- a/pdoc/__init__.py
++++ b/pdoc/__init__.py
+@@ -1275,7 +1275,7 @@ def _formatannotation(annot):
+ `typing.Optional`, `nptyping.NDArray` and other types.
+
+ >>> _formatannotation(NewType('MyType', str))
+- 'MyType'
++ 'pdoc.MyType'
+ >>> _formatannotation(Optional[Tuple[Optional[int], None]])
+ 'Optional[Tuple[Optional[int], None]]'
+ """
+--- a/pdoc/documentation.md
++++ b/pdoc/documentation.md
+@@ -353,7 +353,7 @@ modified templates into the `directories` list of the
+
+ Compatibility
+ -------------
+-`pdoc` requires Python 3.6+.
++`pdoc` requires Python 3.7+.
+ The last version to support Python 2.x is [pdoc3 0.3.x].
+
+ [pdoc3 0.3.x]: https://pypi.org/project/pdoc3/0.3.13/
+--- a/pdoc/test/__init__.py
++++ b/pdoc/test/__init__.py
+@@ -126,7 +126,8 @@ class CliTest(unittest.TestCase):
+ def setUp(self):
+ pdoc.reset()
+
+- @unittest.skipIf(sys.version_info < (3, 7), 'pdoc._formatannotation fails on Py3.6')
++ @unittest.skipIf(sys.version_info < (3, 10),
++ 'HACK: _formatannotation() changed return value in Py3.10')
+ def test_project_doctests(self):
+ doctests = doctest.testmod(pdoc)
+ assert not doctests.failed and doctests.attempted, doctests
+@@ -185,8 +186,12 @@ def test_html(self):
+ '<object ',
+ ' class="ident">_private',
+ ' class="ident">_Private',
+- 'non_callable_routine',
+ ]
++ if sys.version_info >= (3, 10):
++ include_patterns.append('non_callable_routine')
++ else:
++ exclude_patterns.append('non_callable_routine')
++
+ package_files = {
+ '': self.PUBLIC_FILES,
+ '.subpkg2': [f for f in self.PUBLIC_FILES
+@@ -356,8 +361,11 @@ def test_text(self):
+ '_Private',
+ 'subprocess',
+ 'Hidden',
+- 'non_callable_routine',
+ ]
++ if sys.version_info >= (3, 10):
++ include_patterns.append('non_callable_routine')
++ else:
++ exclude_patterns.append('non_callable_routine')
+
+ with self.subTest(package=EXAMPLE_MODULE):
+ with redirect_streams() as (stdout, _):
+@@ -543,8 +551,9 @@ class C:
+ self.assertEqual(doc.doc['vars_dont'].docstring, '')
+ self.assertIn('integer', doc.doc['but_clss_have_doc'].docstring)
+
++ @unittest.skipIf(sys.version_info >= (3, 10), 'No builtin module "parser" in Py3.10')
+ def test_builtin_methoddescriptors(self):
+- import parser
++ import parser # TODO: replace with another public binary builtin
+ with self.assertWarns(UserWarning):
+ c = pdoc.Class('STType', pdoc.Module(parser), parser.STType)
+ self.assertIsInstance(c.doc['compile'], pdoc.Function)
+@@ -906,9 +915,13 @@ def bug130_str_annotation(a: "str"):
+ def bug253_newtype_annotation(a: CustomType):
+ return
+
++ expected = CustomType.__name__
++ if sys.version_info > (3, 10):
++ expected = f'{__name__}.{CustomType.__name__}'
++
+ self.assertEqual(
+ pdoc.Function('bug253', mod, bug253_newtype_annotation).params(annotate=True),
+- ['a:\N{NBSP}CustomType'])
++ [f'a:\N{NBSP}{expected}'])
+
+ # typing.Callable bug
+ def f(a: typing.Callable):
+--- a/setup.py
++++ b/setup.py
+@@ -2,8 +2,8 @@
+ import sys
+ from setuptools import setup, find_packages
+
+-if sys.version_info < (3, 6):
+- sys.exit('ERROR: pdoc requires Python 3.6+')
++if sys.version_info < (3, 7):
++ sys.exit('ERROR: pdoc requires Python 3.7+')
+
+
+ def _discover_tests():
+@@ -58,5 +58,5 @@ def _discover_tests():
+ 'write_to': os.path.join('pdoc', '_version.py'),
+ },
+ test_suite="setup._discover_tests",
+- python_requires='>= 3.6',
++ python_requires='>= 3.7',
+ )
diff --git a/dev-python/pdoc3/pdoc3-0.10.0.ebuild b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
index 14f884c36711..771b3d2521be 100644
--- a/dev-python/pdoc3/pdoc3-0.10.0.ebuild
+++ b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
@@ -1,8 +1,9 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{7,8,9,10,11} )
inherit distutils-r1 pypi
@@ -12,7 +13,7 @@ HOMEPAGE="https://pdoc3.github.io/pdoc/"
SLOT="0"
LICENSE="AGPL-3+"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
RDEPEND="
dev-python/mako[${PYTHON_USEDEP}]
@@ -22,6 +23,7 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-TST-use-explicit-ClassWithNew-instead-of-typing.Gene.patch"
+ "${FILESDIR}/${PN}-0.10.0-update-tests.patch"
)
python_prepare_all() {
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index f3d8b0423803..923fec76a57b 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,2 +1 @@
-DIST pillow-9.4.0.gh.tar.gz 50412873 BLAKE2B 12003b8b9e582c47b45d82f4a10553e376dcb38e65154eca5753b2908d6ecad10fc732d622856c7742fb413abbf4afc926e3d30e1e9e410e966f18da4ddde6c1 SHA512 6c08336e5ca1e652bb3237ae092be61b78dc1cf65603d6b23369eb8e0554786114a8f87ab092a5fb9577e02cd0bb381353fa657e03090baeb91b4b8e3c740d51
DIST pillow-9.5.0.gh.tar.gz 50491974 BLAKE2B 663c14b89ddd1e2d49872994033a04e500d0b6eccbb8d6ce094f58ae1aaf3f215e9984f2afeb43fb83e0c3c93af1150beeb7d5f0abb77c59087901b53fd24e37 SHA512 da0c7a1bde4741ced168c013fdc7afa8af1100bba878bdaeeb9804fed4dcf70c07ed62004ab2c73694eae3d28e2d72d46c155f78b540075aafb36c8e7a5649ff
diff --git a/dev-python/pillow/pillow-9.4.0.ebuild b/dev-python/pillow/pillow-9.4.0.ebuild
deleted file mode 100644
index c952a02c7621..000000000000
--- a/dev-python/pillow/pillow-9.4.0.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# 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 )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 toolchain-funcs virtualx
-
-MY_PN=Pillow
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python Imaging Library (fork)"
-HOMEPAGE="
- https://python-pillow.org/
- https://github.com/python-pillow/
- https://pypi.org/project/Pillow/
-"
-SRC_URI="
- https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
-REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- imagequant? ( media-gfx/libimagequant:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:=[jpeg,zlib] )
- truetype? ( media-libs/freetype:2= )
- webp? ( media-libs/libwebp:= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:= )
-"
-RDEPEND="
- ${DEPEND}
- dev-python/olefile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- ${RDEPEND}
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[png]
- )
- )
-"
-
-EPYTEST_DESELECT=(
- # TODO; incompatible Qt version?
- Tests/test_qt_image_qapplication.py::test_sanity
-)
-
-usepil() {
- usex "${1}" enable disable
-}
-
-python_configure_all() {
- # It's important that these flags are also passed during the install phase
- # as well. Make sure of that if you change the lines below. See bug 661308.
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- disable_platform_guessing = True
- $(usepil truetype)_freetype = True
- $(usepil jpeg)_jpeg = True
- $(usepil jpeg2k)_jpeg2000 = True
- $(usepil lcms)_lcms = True
- $(usepil tiff)_tiff = True
- $(usepil imagequant)_imagequant = True
- $(usepil webp)_webp = True
- $(usepil webp)_webpmux = True
- $(usepil xcb)_xcb = True
- $(usepil zlib)_zlib = True
- EOF
-
- # setup.py won't let us add the right toolchain paths but it does
- # accept additional ones from INCLUDE and LIB so set these. You
- # wouldn't normally need these at all as the toolchain should look
- # here anyway but it doesn't for this setup.py.
- export \
- INCLUDE="${ESYSROOT}"/usr/include \
- LIB="${ESYSROOT}"/usr/$(get_libdir)
-
- # We have patched in this env var.
- tc-export PKG_CONFIG
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO (is clipboard unreliable in Xvfb?)
- Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
- )
-
- "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
- # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
- epytest -p no:relaxed || die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- python_doheader src/libImaging/*.h
- distutils-r1_python_install
-}
-
-python_install_all() {
- if use examples ; then
- docinto example
- dodoc docs/example/*
- docompress -x /usr/share/doc/${PF}/example
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pillow/pillow-9.5.0.ebuild b/dev-python/pillow/pillow-9.5.0.ebuild
index 06eb4fd4d225..c952a02c7621 100644
--- a/dev-python/pillow/pillow-9.5.0.ebuild
+++ b/dev-python/pillow/pillow-9.5.0.ebuild
@@ -26,7 +26,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="HPND"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pychromecast/Manifest b/dev-python/pychromecast/Manifest
index 2b2a3fdba898..ec4ca3bbf746 100644
--- a/dev-python/pychromecast/Manifest
+++ b/dev-python/pychromecast/Manifest
@@ -1,2 +1,3 @@
DIST PyChromecast-13.0.4.tar.gz 51996 BLAKE2B 11dad948443e9e5957de6b22cf6c1d33d19030d53cecddd9be5595dc82bb108e4746c382bae5c6d22d5219bcb90ed5bed7ca94c714ec7bbe7ad1330a1ee3cf2f SHA512 2f9bd925e452448a387a04babc0d71a35fc83edd30142cdd129479b5b20cf7aa9691a8d46f45edf5f12fd6f3052564c2956dd241eaf1a1c468b8399b065286ec
DIST PyChromecast-13.0.6.tar.gz 52068 BLAKE2B f1ac2885106221f9dc2b4ec78b33a5664458e08b8b63588183ecc6a6365fa5baeedda86cbc803dbcc5ce5b7c9b1f0323309ef6cebb3a0a5c7326dc970967176d SHA512 9ab70b1c47b1bb67b9d6d95395c8cb0bff9920e0ac371133d7121f86ad4f392b97009b502a05c19f4d169f28c09b8f7e391c6b6c0be6fffd8015753eb1df47de
+DIST PyChromecast-13.0.7.tar.gz 52074 BLAKE2B 4e67ce21bf91c52cd83b8a17d86cd321d937c1f55b567d4df7a5548ad02aacb4c269b9d29030a7e41f9f310d53313b6b287032c1d5f1448b415c3896b168b783 SHA512 dc63c901287ae31ce278c9978701ad335715f1daaab1b2683aa7b02ddb38e3e207f2527ae144f6836b65c4ddb4b1fdd62c40005bf776e0655e647ab40634857e
diff --git a/dev-python/pychromecast/pychromecast-13.0.7.ebuild b/dev-python/pychromecast/pychromecast-13.0.7.ebuild
new file mode 100644
index 000000000000..ba21201d1914
--- /dev/null
+++ b/dev-python/pychromecast/pychromecast-13.0.7.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020-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=PyChromecast
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to talk to Google Chromecast"
+HOMEPAGE="
+ https://github.com/home-assistant-libs/pychromecast/
+ https://pypi.org/project/PyChromecast/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/casttube-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.1[${PYTHON_USEDEP}]
+ >=dev-python/zeroconf-0.25.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index 99ae8165d10d..b8fb1bcc3515 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -3,3 +3,4 @@ DIST pylint-2.16.3.gh.tar.gz 1382318 BLAKE2B 67e2e7b6facde79268267e44081e1b71e39
DIST pylint-2.16.4.gh.tar.gz 1382902 BLAKE2B 515078d2677e4374041de563ec2a98cf877848a0f1042c26f331a21335e030e15a3d6ba4eb539c18cc3835fc9505270c540b9c64f61c037759171deec41f5f10 SHA512 144a7b048340c65082f02f34d511e0066019ac08d28eb5f8c114086b66a471355631355b24f291916fa2e6b9db8e0e69a4649ad9ce036bbf2418fd6a73089fc5
DIST pylint-2.17.0.gh.tar.gz 1406740 BLAKE2B 55176ca794f182886c93eb1461599792df90f948c09a8c4084138a7319f8127d9037d9b4535be90d5ad19227b1ce36ae07f5aaf532298aa92be97832baaba64e SHA512 2796cf670b2aa6cc448e5e26b4899804ebfdea6df3730cab06f2c72fdf57ee07b08e63f0748bce991175c67c22d040ededa19c967a2f74e14d44e54323aff945
DIST pylint-2.17.1.gh.tar.gz 1408063 BLAKE2B 0d4ab42ea4465787ff0bb6768b20800797d76caeddda475a08372a6b174975fec36a48acecea80898b3ba1c36ad6eb6c540678338c84ce48b78e0f6f9553e190 SHA512 e467c48349f49c2a9ef68d6a70748bf9144ff589adc1d04eb1822b28511d5a1a0027536fc61a5d33955fb0e7ffbbdecea47e8196844f33985a43e8c1886af21e
+DIST pylint-2.17.2.gh.tar.gz 1408818 BLAKE2B 678fc98ac583e86e98856713bbfbf975be9f3c51ec1516d2a2df54369af1bba76db6c53d43a09494d08409bb3829df958037ba716ed6880460c2cbbc2ca4b38b SHA512 9c3063332ffc102ba4a7177cca4c440ce89a8ba6fa4252eb1fa401a6e6c10e49afcbbe76127aedccc30dfe5f0dfe7b19cd9aadf4f5ffaa2494a4743d2e0d6a33
diff --git a/dev-python/pylint/pylint-2.17.2.ebuild b/dev-python/pylint/pylint-2.17.2.ebuild
new file mode 100644
index 000000000000..1db6595b1a29
--- /dev/null
+++ b/dev-python/pylint/pylint-2.17.2.ebuild
@@ -0,0 +1,87 @@
+# 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} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/PyCQA/pylint/
+"
+SRC_URI="
+ https://github.com/pycqa/pylint/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+# Make sure to check https://github.com/PyCQA/pylint/blob/main/pyproject.toml#L34 on bumps
+# Adjust dep bounds!
+RDEPEND="
+ <dev-python/astroid-2.17[${PYTHON_USEDEP}]
+ >=dev-python/astroid-2.15.2[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.9)
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/GitPython-3[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf pylint || die
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ 'tests/test_functional.py::test_functional[forgotten_debug_statement_py37]'
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ 'tests/test_functional.py::test_functional[no_name_in_module]'
+ 'tests/test_functional.py::test_functional[shadowed_import]'
+ tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_error_msg
+ tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_info_msg
+ tests/config/pylint_config/test_run_pylint_config.py::test_invocation_of_pylint_config
+
+ # apparently fragile, needs unpickleable plugin
+ tests/test_check_parallel.py::TestCheckParallelFramework::test_linter_with_unpickleable_plugins_is_pickleable
+ )
+ local EPYTEST_IGNORE=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ )
+ epytest
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 8636d6a307a5..b8399346c0f7 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -2,3 +2,4 @@ DIST python-zeroconf-0.47.3.gh.tar.gz 151413 BLAKE2B eff81832a029cf173c552903552
DIST python-zeroconf-0.47.4.gh.tar.gz 151640 BLAKE2B 4591135e81fc0c1c22444fb8823f5ad246f234a79a9aa2697a947a7838f5880007e2acbfe8c60a3f69c0a1cf803e35b35b17b7cf013dc7408e759273bbca94b2 SHA512 2b8438e0832cfc6ac40d54eaed75749389fd9287b82b074f129bba76e7f31e3cfd58e5de28c54b3cf3e14d3c8540ff09b5f10d85f705ede2ef18718b1a87ebf1
DIST python-zeroconf-0.51.0.gh.tar.gz 152236 BLAKE2B 2339bd47e4f8abecb5b56c722e275c0cef63d4ab389c58b9a50e22e2a450b527f11727615a9c61e6e23d275195353121c5697f2fd496fbf9370465db5d9258c8 SHA512 e62d74ce164cd92913382e5a5530e2732a739e065f3f2fa7bc5cc7f62e863c98e8979ab08f5527f301e833cd1107c2d1c412db1dfafbf2bd1546b6e197d2c43a
DIST zeroconf-0.53.0.tar.gz 138658 BLAKE2B 9a0af4a08a51d8b39d6eac30a1ad92d5e7c14bdaa3a7d8b57b3664c91c0c740af6f08c3bbe1d5ffb4a950e4cc1bec12b9426b595f76232d48510dd5df25c1b57 SHA512 9309b385a1acdcdb7d2812e0b554373fc2a5324f804636cf32449aa158ac629387f670c1770bce5e11245f9e482a6bb379f7e3cbf935a1977fca8158181163d5
+DIST zeroconf-0.54.0.tar.gz 139937 BLAKE2B ef8e8ad309a73bd725ad1aa8af54dd14d338f68c5f23643a45cd88a2e8ec8a64b6c589ec0d00a341769003e858554da0edac49722d81c92ec36638cfe4d8d0e2 SHA512 ac2f2c76e8d551102919ae27dcbcdaea80e4ec1b0514edab7d9776feb20466933669590af5f9de90395df909c371a6d30cc086daa8861464ba51f2aafd3a0592
diff --git a/dev-python/zeroconf/zeroconf-0.54.0.ebuild b/dev-python/zeroconf/zeroconf-0.54.0.ebuild
new file mode 100644
index 000000000000..14fa738ecc59
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.54.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
+HOMEPAGE="
+ https://github.com/python-zeroconf/python-zeroconf/
+ https://pypi.org/project/zeroconf/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+# the build system uses custom build script that uses distutils to build
+# C extensions, sigh
+BDEPEND="
+ >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # network
+ tests/test_core.py::Framework::test_close_multiple_times
+ tests/test_core.py::Framework::test_launch_and_close
+ tests/test_core.py::Framework::test_launch_and_close_context_manager
+ tests/test_core.py::Framework::test_launch_and_close_v4_v6
+ tests/test_core.py::Framework::test_launch_and_close_v6_only
+ tests/services/test_types.py::ServiceTypesQuery::test_integration_with_listener_ipv6
+
+ # fragile to timeouts (?)
+ tests/services/test_browser.py::test_service_browser_expire_callbacks
+ tests/utils/test_asyncio.py::test_run_coro_with_timeout
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/zstandard/Manifest b/dev-python/zstandard/Manifest
index d130bef396b6..3ba5c4e64297 100644
--- a/dev-python/zstandard/Manifest
+++ b/dev-python/zstandard/Manifest
@@ -1,2 +1 @@
-DIST python-zstandard-0.19.0.gh.tar.gz 683942 BLAKE2B 5b28fb6360147f87fb658d28652e5e43b0e41ff3cc31e46d91b1dcdd5334869f9a10a598f3d1d15a8c0f02afc59d009a8088ba3e81066f1a5f1ad9c05ebd4a1d SHA512 56e7b43161940f182ff5a0745bb6bdb2710c9a61140c4a84b690e0abd18c8b862211ab2b1ba36cfd99fe75bb0ae00af7de798b010b2bd4c5a44d691d4fa0c63d
DIST python-zstandard-0.20.0.gh.tar.gz 712241 BLAKE2B 6ec393a440eb2a0527e655ee1aec16a47120578bbbb69d2f208b4367be199041887bf02d8feeb74f87992d0ab2b5e668cf8b3d8cd8967bd6dc47d4e052781ebc SHA512 bdbbd829e431a9b1ad1247b83e2e6102314a257a32c92a5c666c5ac050eb115bccd9d358240ac9ab41e975ade13bbbc155c66cb8fb583d2ee8dbd28ae323e4f8
diff --git a/dev-python/zstandard/zstandard-0.19.0.ebuild b/dev-python/zstandard/zstandard-0.19.0.ebuild
deleted file mode 100644
index 18f2c875a7f1..000000000000
--- a/dev-python/zstandard/zstandard-0.19.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# 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
-
-MY_P=python-zstandard-${PV}
-DESCRIPTION="Zstandard Bindings for Python"
-HOMEPAGE="
- https://github.com/indygreg/python-zstandard/
- https://pypi.org/project/zstandard/
-"
-SRC_URI="
- https://github.com/indygreg/python-zstandard/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# <zstd-1.5.4 for bug #893948
-DEPEND="
- <app-arch/zstd-1.5.4:=
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.14.0-r2:=[${PYTHON_USEDEP}]
- ' 'python*')
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # the C backend is repeatedly broken, so force CFFI instead
- sed -e '/PYTHON_ZSTANDARD_IMPORT_POLICY/s:default:cffi:' \
- -i zstandard/__init__.py || die
- # unreliable, fails on x86
- sed -e 's:test_estimated_compression_context_size:_&:' \
- -i tests/test_data_structures.py || die
- # unbundle zstd
- : > zstd/zstdlib.c || die
- # it does random preprocessing on that, so we can't use #include
- cp "${ESYSROOT}/usr/include/zstd.h" zstd/zstd.h || die
- sed -i -e '/include_dirs/a libraries=["zstd"],' make_cffi.py || die
-
- distutils-r1_src_prepare
-
- DISTUTILS_ARGS=(
- --no-c-backend
- )
-}
-
-src_test() {
- rm -r zstandard || die
- distutils-r1_src_test
-}
diff --git a/dev-python/zstandard/zstandard-0.20.0.ebuild b/dev-python/zstandard/zstandard-0.20.0.ebuild
index b6f855dc6180..796ede570160 100644
--- a/dev-python/zstandard/zstandard-0.20.0.ebuild
+++ b/dev-python/zstandard/zstandard-0.20.0.ebuild
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
SLOT="0"
LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="
app-arch/zstd:=