summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-09-12 06:52:34 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-09-12 06:52:34 +0000
commit29d16742fb77e300dfeadf7b6f3472bb4fa072c2 (patch)
tree7545614c3c25651a777f56b8deabf1300ad1db30 /dev-python
parenta05bbd84ec1b8b0e28a98cf2b924dd9c3180ad4d (diff)
downloadbaldeagleos-repo-29d16742fb77e300dfeadf7b6f3472bb4fa072c2.tar.gz
baldeagleos-repo-29d16742fb77e300dfeadf7b6f3472bb4fa072c2.tar.xz
baldeagleos-repo-29d16742fb77e300dfeadf7b6f3472bb4fa072c2.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.35.17.ebuild53
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.35.17.ebuild76
-rw-r--r--dev-python/cattrs/Manifest1
-rw-r--r--dev-python/cattrs/cattrs-24.1.1.ebuild106
-rw-r--r--dev-python/configshell-fb/Manifest1
-rw-r--r--dev-python/configshell-fb/configshell-fb-2.0.0.ebuild30
-rw-r--r--dev-python/dep-logic/Manifest1
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.6.ebuild25
-rw-r--r--dev-python/importlib-metadata/Manifest1
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-8.5.0.ebuild51
-rw-r--r--dev-python/kombu/Manifest2
-rw-r--r--dev-python/kombu/files/kombu-5.3.7-py313.patch28
-rw-r--r--dev-python/kombu/kombu-5.4.1.ebuild (renamed from dev-python/kombu/kombu-5.3.7.ebuild)5
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/matplotlib/matplotlib-3.9.2.ebuild2
-rw-r--r--dev-python/pikepdf/pikepdf-9.1.2.ebuild2
-rw-r--r--dev-python/python-openstackclient/Manifest1
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-7.1.0.ebuild61
-rw-r--r--dev-python/pytz/Manifest1
-rw-r--r--dev-python/pytz/pytz-2024.2.ebuild51
-rw-r--r--dev-python/regex/Manifest1
-rw-r--r--dev-python/regex/regex-2024.9.11.ebuild32
-rw-r--r--dev-python/scikit-build-core/Manifest1
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.10.6.ebuild62
-rw-r--r--dev-python/scikit-learn/Manifest1
-rw-r--r--dev-python/scikit-learn/scikit-learn-1.5.2.ebuild74
-rw-r--r--dev-python/simsimd/Manifest2
-rw-r--r--dev-python/simsimd/simsimd-5.1.3.ebuild63
-rw-r--r--dev-python/simsimd/simsimd-5.1.4.ebuild63
-rw-r--r--dev-python/vdirsyncer/Manifest1
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.19.3.ebuild74
-rw-r--r--dev-python/watchdog/watchdog-4.0.2.ebuild2
-rw-r--r--dev-python/xarray/Manifest1
-rw-r--r--dev-python/xarray/xarray-2024.9.0.ebuild109
39 files changed, 958 insertions, 57 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 6bf29e54889f..fb2b74ff9608 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -2,4 +2,5 @@ DIST boto3-1.35.10.gh.tar.gz 856679 BLAKE2B 03e7be74455b487a79188405796fc08bd940
DIST boto3-1.35.14.gh.tar.gz 859166 BLAKE2B eb201a319453097068b4711356ea930de739ff8874da7441fa3b931434c8a82a1692a5f67b10f06eaf7644335033e302f733fcc2267b782398e9edd28c32a613 SHA512 ade4b6bc0c816244d5335b1669090d8a5e3c8dcc8802b0aa10498ce8c5fe8e456958ff3bfd73a5c9376ce1658f9c2a90d5470c86c2b3399d7198bacd09764619
DIST boto3-1.35.15.gh.tar.gz 859778 BLAKE2B f704c28f5510c0f495bbfd2e09ea303efedbcd96fc0d4a76ce2790c0e9e4814a678f30812d6b2c70225e0dd78ad7a38a2148aa7245d65a642409c9e693f39030 SHA512 d34ad96c6cc0e8ff29dc2b74872bf20cc69618cba72f3429425f5ad922bc669427ea709aa03642ced59b7acfd446e243067aa773930be1ff3dfe9fa8b7b9c2a4
DIST boto3-1.35.16.gh.tar.gz 860020 BLAKE2B 2368b713cd51fd61596f50849e68f82188156a9ba80cf2b7608536f67ff9e57cb7e5cbd5529ab573d0fe1441d9572d3e8d2e6d0cd41e82237d968284c14247aa SHA512 5f5cf28b8dda8f1a136101095232346eafad886cea4ea5184295e7dd5233a18c04d51bd0398fc340d4092a916bdecfec0b7b71e009ec5e33dec86c445fcd05ac
+DIST boto3-1.35.17.gh.tar.gz 860345 BLAKE2B 7c12c48a9f72eb278ec3ab4416770a9314b6c2177329c5ed6213e19464efe8c7979f4ef7ab821085a06f6ca8b46317a08a571ba9bcf98c157ab81022a6f889e0 SHA512 bb83a4b4f5738001ca51817f7557d7e71bd214028ab509e16f9e6743d7f108b524cf994ff659ab5a9bae0285924d36eaed18ce5381da1d7aefb1dfec03588b97
DIST boto3-1.35.5.gh.tar.gz 854016 BLAKE2B f94d738e310725cd5f9c7b405a094155f3ecf640f02045662ed94ab3689ea549fde7eee19ae2be450768560ad705b8740fda78b79ed42cf536231626d247e09a SHA512 fc1106abbb306bacb80dce825bf71303e71b0d0698d7e3bb4dcaca4ea6e4f7a97e70753367200294f334b351e764bca57f2316afec854d2e46db4644dfefc25b
diff --git a/dev-python/boto3/boto3-1.35.17.ebuild b/dev-python/boto3/boto3-1.35.17.ebuild
new file mode 100644
index 000000000000..509842b2699d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.35.17.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+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() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 8f5a1c18c9b4..6f62d53d7b9c 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -2,4 +2,5 @@ DIST botocore-1.35.10.gh.tar.gz 13328544 BLAKE2B cecad54696210597a09f4316a88b833
DIST botocore-1.35.14.gh.tar.gz 13340768 BLAKE2B 4ba023dbfc9e632d86028100910544e192a5b2d70ec76a21dfc5003c767a6043a144385561c35f4d7b4bfefbf4a1f3a38ef2845e323f93868e1f5ad86ae1f12b SHA512 c0dfdec80a45cf11796496bc2bef575a567368be3f29267b4d411d0615e6c8536036e47a5de11fb8f4626590dca051e891bb9430ed1ea80dfab2f43f070209d2
DIST botocore-1.35.15.gh.tar.gz 13343518 BLAKE2B 7eef64c875cc175aa94271b72a300908dc0f1c19504b0088acd5cf97224a4793bdc1bb5adc38e763359eb54892636feb2833726d217eb0a5f998c451e8de484e SHA512 305d16f4aad9832a6b405d2aa44805a89d70b57c74d0b4a25068801615cbdd9e6e223e804f1fd2c057ae3cc6515f0a20cab8adfda421e8c29ba911707fef0820
DIST botocore-1.35.16.gh.tar.gz 13347546 BLAKE2B c6acfbab36b849ac0dcac177b4c6edf0acade33eac6c2215eea66df2d63307bdc9c130fee42f4e62385eb52fde6578d8a185a9be30dc3fde378242182636eb76 SHA512 e5c016a0107db1977f72497361f0b5f4755c4a8c25a9e715b556c17ac93af7a5d88c2a771814a80eda634b9b551d07da187f6d2a3107c53aed44fbcbe459a041
+DIST botocore-1.35.17.gh.tar.gz 13365877 BLAKE2B d442565f443cff97387e82bd68ad18dc437f46e733bd43996e10e0df5afb48c50fa0adc3f51a30df2d991844c69d1625c3bf1c6bd46dd7864e2bca1dc9f483c7 SHA512 ffd155a63bdf669af505db1f3e8f9dd23bde5772c14f2b9f4a6801395f6714cce059b996bd8aff62c7cdbb14e244eed86a69174a9f60e26c9d680a0943a8ac26
DIST botocore-1.35.5.gh.tar.gz 13303437 BLAKE2B 0a95351fbc93074bb0398871773120a194fe581a26f9a74c1101a5ea57bb3acb9a33937fc2d5a39a065988cdcc6dbe253bd2227cf93e670602ccc67ab82d8845 SHA512 5527420017a4a23d5593f5b3a0eb8caf15357642ed90cd73e0fe22774cc8f9f3637028286063e3e2810e5dafe52e882928269e5c82f6369be9af99bef18fb365
diff --git a/dev-python/botocore/botocore-1.35.17.ebuild b/dev-python/botocore/botocore-1.35.17.ebuild
new file mode 100644
index 000000000000..64a61a30c80b
--- /dev/null
+++ b/dev-python/botocore/botocore-1.35.17.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index 773c0f2a9dad..ff8bd6eb8828 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,3 +1,4 @@
DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
DIST cattrs-24.1.0.gh.tar.gz 428347 BLAKE2B 21bb94de02b6fce1c456e0d66dbd38defdd1171d4eb815e92ddc9777b12a108e099a5ce0dce4e51c1175cc1771d517ae0d201ac7ff537fbddf2329dce6f88f51 SHA512 879fd9edef39ad325237439915aa2d92c346c9896d463a4c3835335c3b9fb8bc572834a7d7731ccf6b805e59dec481cfdfed50ae8d4899fa31118b6ac6926c1a
+DIST cattrs-24.1.1.gh.tar.gz 428539 BLAKE2B f0fe5afc56bc49da62942b553ea752c0fdffb6670a19eba5810826e81f066f1d4a08684509c682ae9b43601f8d2f4e18dd4e55f62a7316a10870625ee7d9ecaa SHA512 bc141a30976b022931289f37f9630ced7f309ddce7a42abf7114b49c6eef26bfe861fa239dc4df7524549b35cc8a7765ca265ad9d516f59f42c32f30733dd77f
DIST cattrs-6290cacdb7f9d195b4f96ce0ab036c8eebf35d94.gh.tar.gz 426769 BLAKE2B 61851be04434e55d627aac6fd73d72d9d4d8a150bedb6110f4b99068dd58ed29fd23ff083c595eb508b144546d8e4d1e926831dc51985775773ab86a86d98815 SHA512 f1034ae0c57a0618c6568ebac0696928e125121431e965c0ceeda82070a21b448630e3188cc03a8d7a44447126a4a2623b8604ef856a89268e1c0802761d89b9
diff --git a/dev-python/cattrs/cattrs-24.1.1.ebuild b/dev-python/cattrs/cattrs-24.1.1.ebuild
new file mode 100644
index 000000000000..4c6956aade43
--- /dev/null
+++ b/dev-python/cattrs/cattrs-24.1.1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/cattrs/pull/543
+ "${FILESDIR}/${PN}-23.2.4_pre20240627-py313.patch"
+)
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires msgspec
+ tests/preconf/test_msgspec_cpython.py
+ )
+ local EPYTEST_DESELECT=(
+ # these require msgspec
+ tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_converter
+
+ # tests need updating for attrs-24*
+ # https://github.com/python-attrs/cattrs/issues/575
+ tests/test_baseconverter.py
+ tests/test_converter.py
+ tests/test_gen_dict.py::test_individual_overrides
+ tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_structure_attrs.py::test_structure_simple_from_dict_default
+ )
+
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/preconf/test_pyyaml.py::test_pyyaml
+ tests/preconf/test_pyyaml.py::test_pyyaml_converter
+ tests/test_converter.py::test_simple_roundtrip
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_generics.py::test_unstructure_deeply_nested_generics_list
+ tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/configshell-fb/Manifest b/dev-python/configshell-fb/Manifest
index 4b2c0a5102ae..884a0b6777aa 100644
--- a/dev-python/configshell-fb/Manifest
+++ b/dev-python/configshell-fb/Manifest
@@ -1 +1,2 @@
DIST configshell-fb-1.1.30.gh.tar.gz 33179 BLAKE2B 8664ec42727fb9bd41600c2844b9b59423c21040e6efc201f40b54abf6d788fa5237d38e2795d0d19706303d99e7ea859b399fd5f122cb04effc643a33b264ac SHA512 b3189130ac047fe28ea987391591b7886f7234864d455a8423d1d65b02a514511e2a32dce1429a6b71cedbc0b7cb6e6e10f29d240b746d222c285f0baa6b46b0
+DIST configshell_fb-2.0.0.tar.gz 33794 BLAKE2B 7bb46a19b58107c7e4d0f7a4dde9520cdd31b85238ad7579f85c30f855c7fb90736470419e7f6882bbeed89d9d55091b92f7a3f1e4bbff5e5a9eae813c148756 SHA512 3e0c0c3fda661cd09d80cd07e32cc942aa804fde49c00cfed5234671b1005f8126264c39a72aec466b3b9324366faa83828eee74f8b541d6f8bc628548d31a9e
diff --git a/dev-python/configshell-fb/configshell-fb-2.0.0.ebuild b/dev-python/configshell-fb/configshell-fb-2.0.0.ebuild
new file mode 100644
index 000000000000..d534d45fcfc2
--- /dev/null
+++ b/dev-python/configshell-fb/configshell-fb-2.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python library for building configuration shells"
+HOMEPAGE="
+ https://github.com/open-iscsi/configshell-fb/
+ https://pypi.org/project/configshell-fb/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pyparsing-2.4.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" examples/myshell || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/dep-logic/Manifest b/dev-python/dep-logic/Manifest
index 97110f45058d..1ecae4cbf8fc 100644
--- a/dev-python/dep-logic/Manifest
+++ b/dev-python/dep-logic/Manifest
@@ -1,2 +1,3 @@
DIST dep_logic-0.4.4.tar.gz 34883 BLAKE2B e28bf4cf3b4f3ff02af53d99bd9007ee5774c4e64d01386c9a736414420da6799f3f681c2f7934e9002ecff3ff87186ff9ec78bf5a18d225cfa32b0d31477468 SHA512 b22ac38a75d52f497cddc96ca2d571f036e0c3abde81b023f6348af4a606c966170e7609a4364425a410172f3e911b053d09aeb3fd0b124d7cb9b32b691e8bb1
DIST dep_logic-0.4.5.tar.gz 34903 BLAKE2B b9f26fb62e89540ccaa9501770aa20e37121110c3bf200bfa91ebf63f4adca9af81febe5d7ca5e1e322ff038d099310b8ed55229637eb9c15e4d790fcd7d1aca SHA512 a98e2fbf9a72f6e055374f101356ddaed36560e175b674cd0e304daf06dd008e91d80684bb8e290a018ee466088b4faecc4790db2a304b218733c8013a02f59c
+DIST dep_logic-0.4.6.tar.gz 35010 BLAKE2B 180d977bcd3ffb6b0c47c4260318f5cc7457644d97352e0c7b6906a249e80ad3a1f3a5c9558cba4d10e6352babfdd1b0b3ee2ae2d3cd25cd2796ab3bc130ad8d SHA512 668b00661af185d558929f1cb0d2c281c9af112ead23866359683fe505f25a512c4acb5f6aaa0d7a855f1c5b3c6c16b8d969de043cfceeab196304b0a8452e18
diff --git a/dev-python/dep-logic/dep-logic-0.4.6.ebuild b/dev-python/dep-logic/dep-logic-0.4.6.ebuild
new file mode 100644
index 000000000000..0be9fa5f44dd
--- /dev/null
+++ b/dev-python/dep-logic/dep-logic-0.4.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python dependency specifications supporting logical operations"
+HOMEPAGE="
+ https://github.com/pdm-project/dep-logic/
+ https://pypi.org/project/dep-logic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/importlib-metadata/Manifest b/dev-python/importlib-metadata/Manifest
index f668f724c340..16872b0761f3 100644
--- a/dev-python/importlib-metadata/Manifest
+++ b/dev-python/importlib-metadata/Manifest
@@ -1,2 +1,3 @@
DIST importlib_metadata-7.1.0.tar.gz 52120 BLAKE2B a43a1f0724b3197f51c055d36d31700d67b3bcae849fd648c7cd1ac158a410fdf05a27f2c7003a30e566f86ec5dcbf7cf386ebe4e0ed0a1ce2e89e280ab9e1d3 SHA512 e75db6da03c251acc690ceef6ab2b668acfcf5499032cff370a574b31a5fd7afcbf9756bc20e44e6e649767c1609c7ebb40203aa6406ec5341f27fba886d208e
DIST importlib_metadata-8.4.0.tar.gz 54320 BLAKE2B fc8912dd432e05c5ad82428f47b6265588d6b20c364321bea5ffb1653f2f9d6b2aff3d35b399d1d8237d328414bc77697bd4dcbd56611f39fd002779328c78b6 SHA512 97d904225f478bf9877a62e2d1a43dc88e2d9d74ac4488ddbdd2371066b08429d11e10a5a9bb484a93e86a01f13404b57e0350726c1c13c6cb1b2424970da2be
+DIST importlib_metadata-8.5.0.tar.gz 55304 BLAKE2B 801d7edaed5a42ef5c871830286e698620cd06cde43178c1ab65a5d35f6055fdd2a02b0f14bada94704a13a6708ea3091e634548e534df2df92d942c83192c3b SHA512 86ceb3ff408705565628b71a740a9e9123eee4b49e2ad029b9ee204548a78257dfefe9756194ce660939806f75983dd4b858dacd642b40fddc4188e699ef4e19
diff --git a/dev-python/importlib-metadata/importlib-metadata-8.5.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-8.5.0.ebuild
new file mode 100644
index 000000000000..b217b3c479ac
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-8.5.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/zipp-3.20[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
index 049e1bcdbdc7..63d610e6477c 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1,2 +1,2 @@
-DIST kombu-5.3.7.tar.gz 439344 BLAKE2B 9443cb7d9d03ca7ed49b1e2c5a413e5d5633ccaf8cb2b8545b4bd0a7a7699f7fc773f735e6b26abf582502f1dbf11b088c612d749f09cab99950e145e8ee82e0 SHA512 48104d61a7c38a211ec378f90aade09d682a99d4f8b3d18b4bce49b51c80be794ab4b012d2974893fbc630a37c52dad10fb57f8335238b3002a64e025a148ee2
DIST kombu-5.4.0.tar.gz 442120 BLAKE2B 138fc4287f98179166973da019cb5d2536ec2daeb995e1ec94972c95dd3d42c33d97e4e0ed79eedda75e5668c789f463bc115638d8774bcee7018821de9ca3a5 SHA512 fd9b47018a6bb95067486858ee90c052dc497ae4625884521c37b0b18a226de52bee84599b7f7e4aa9ee956e1c648a2672e8c6dda4deaf493b20ffe30fca13bb
+DIST kombu-5.4.1.tar.gz 442786 BLAKE2B b9772bd3a2ebabc4424b029ef72b7378dc2c4f4b0f6002732e5466910589d2c056317bc49ee7c9b3bc8dd02a820614eaf75dfcdebdade84d58fe919b5d11126a SHA512 e0ccab1037e840f11bbdd1f7055df4b25e09c5a00716b1b6b1d754fe7e73b21cc1f85062cb544321eb87bf3eb294837373496e1dca6266c9bc27ed68f7e2c1d8
diff --git a/dev-python/kombu/files/kombu-5.3.7-py313.patch b/dev-python/kombu/files/kombu-5.3.7-py313.patch
deleted file mode 100644
index 7a359db0e022..000000000000
--- a/dev-python/kombu/files/kombu-5.3.7-py313.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d26e891025f55ecbdc577fcbd4bc1f19c9e020d9 Mon Sep 17 00:00:00 2001
-From: Roman Inflianskas <rominf@pm.me>
-Date: Fri, 5 Jul 2024 21:44:58 +0300
-Subject: [PATCH] Add support for Python 3.13
-
-Fixes https://github.com/celery/kombu/issues/2051.
----
- .github/workflows/ci.yaml | 16 ++++++++++++++--
- kombu/transport/redis.py | 2 +-
- requirements/extras/confluentkafka.txt | 2 +-
- requirements/extras/zstd.txt | 2 +-
- t/unit/transport/test_redis.py | 15 ++++++++++-----
- tox.ini | 18 ++++++++++--------
- 6 files changed, 37 insertions(+), 18 deletions(-)
-
-diff --git a/kombu/transport/redis.py b/kombu/transport/redis.py
-index 515d6f7d7..29909dbe5 100644
---- a/kombu/transport/redis.py
-+++ b/kombu/transport/redis.py
-@@ -89,7 +89,7 @@
-
-
- logger = get_logger('kombu.transport.redis')
--crit, warn = logger.critical, logger.warn
-+crit, warn = logger.critical, logger.warning
-
- DEFAULT_PORT = 6379
- DEFAULT_DB = 0
diff --git a/dev-python/kombu/kombu-5.3.7.ebuild b/dev-python/kombu/kombu-5.4.1.ebuild
index 5f77ffe942a5..6f613f80e0b8 100644
--- a/dev-python/kombu/kombu-5.3.7.ebuild
+++ b/dev-python/kombu/kombu-5.4.1.ebuild
@@ -45,11 +45,6 @@ distutils_enable_tests pytest
distutils_enable_sphinx docs \
dev-python/sphinx-celery
-PATCHES=(
- # https://github.com/celery/kombu/pull/2052
- "${FILESDIR}/${P}-py313.patch"
-)
-
python_test() {
local EPYTEST_DESELECT=(
# TODO
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..37a64204a00a 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 630fe63c6f53..c09b7356f549 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/matplotlib/matplotlib-3.9.2.ebuild b/dev-python/matplotlib/matplotlib-3.9.2.ebuild
index 80454d9e14ab..174527d35db3 100644
--- a/dev-python/matplotlib/matplotlib-3.9.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.9.2.ebuild
@@ -29,7 +29,7 @@ SRC_URI+="
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
IUSE="cairo excel gtk3 latex qt5 tk webagg wxwidgets"
DEPEND="
diff --git a/dev-python/pikepdf/pikepdf-9.1.2.ebuild b/dev-python/pikepdf/pikepdf-9.1.2.ebuild
index 2e4a6ec3a1d8..f299ad7bebe0 100644
--- a/dev-python/pikepdf/pikepdf-9.1.2.ebuild
+++ b/dev-python/pikepdf/pikepdf-9.1.2.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MPL-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="big-endian"
# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index 825b7e9ed330..a10662b27b00 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,3 +1,4 @@
DIST python-openstackclient-6.6.0.tar.gz 917251 BLAKE2B 9f11b357bdeede556e106a21b2c7bbd86804251612cd676525a8817b693733dfe72388213cfa16517b3b75725702090fa3e728ec6986dcda196aa1e8aac9fd0a SHA512 7b073263fe9d905b3c10b2a4dcfa7156c9cd5ae453d792e1dcf3be278de0abc25c931388c8cabff6b11b61174acf79c87951028626af1e1b9f0dd09f38b7900a
DIST python-openstackclient-6.6.1.tar.gz 917516 BLAKE2B da771630628444d02b6937d6138e83416f982d70c57211c90d648bff000692de3acc1594268e9dd8b9521165508c063dbaba3e740c6fef874645af0b9fc89248 SHA512 e59d2fbf1bb5b4e9080aa7b81c110876c444052b3e57037a520995b273712b2a30f56f25937c524fe62889c49f72c5a3cc14e83ebc77886cae23c3e23a071158
DIST python-openstackclient-7.0.0.tar.gz 946254 BLAKE2B 4120797686453671ae47a0ce57856ec8424da7a38df3f478b1fb455a4af9dbdee6365dc9efbe750e8062f87f9a8fa218ed04de75bdc97af5cee763e31338199f SHA512 9e541b33abf5b3fad6f05782f1c16377b497b099a227490d9405da5140f11a73abba75c9a7021df7d129a4653316b742e16b4c049ef1f26b961d35a281618ebc
+DIST python-openstackclient-7.1.0.tar.gz 946758 BLAKE2B 459a926d27fbbe7a9ffd72e49721559bee537afa44ba032ab0c9ed3875036dbff621d028c29449ef93708da40bfc09829ed0528b08a3f6c080201f31c5d95192 SHA512 7d1b006756446dbf96bf2cdcb17a46dffac1c27fd3cb73168c731f6e90f5ef157e36448ce6d788c37472b0d335989318ec64864f700250d5a0468f3d116b5055
diff --git a/dev-python/python-openstackclient/python-openstackclient-7.1.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-7.1.0.ebuild
new file mode 100644
index 000000000000..3980bb8e88d2
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-7.1.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.27.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
index 6bc7f0a173bf..74ae7e39f041 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1 +1,2 @@
DIST pytz-2024.1.tar.gz 316214 BLAKE2B 1047e11c41d3abeb10cdf55021c8702fbbb0c0dbcafc63c8c044ecf73dda2ac9344fc66e0a239302a0fd12856bbb3a7d49745eae671fac35db9c83fa502e7cf8 SHA512 cc1e4c9b34c62791cea277a0ce188d975e62135cb15bccfb49dc1a9366c7697ead9c67956846699f18b90db4c66e6c5fe1a91a524d01ae821c0eaa613550ea74
+DIST pytz-2024.2.tar.gz 319692 BLAKE2B 631e87978eddee62c7189515b019038b44d8600e3aad51afcb7c6ffb70d6cdf44942fb8c2ff63bf179be0d42e1337cd1b723c809c5711d86f7e370404e3f8a86 SHA512 140a34f51044188420ac3bfbaa5ece91ea0fe4faf7a247c01312265b63b4aa8d2b389219234e173eca0343d0463aef9d6472ee803915ead989594896567c593e
diff --git a/dev-python/pytz/pytz-2024.2.ebuild b/dev-python/pytz/pytz-2024.2.ebuild
new file mode 100644
index 000000000000..6a283f4adccb
--- /dev/null
+++ b/dev-python/pytz/pytz-2024.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="
+ https://pythonhosted.org/pytz/
+ https://github.com/stub42/pytz/
+ https://pypi.org/project/pytz/
+"
+
+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"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ >=sys-libs/timezone-data-2023b
+ sys-libs/glibc[vanilla]
+ )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle timezone-data
+ rm -r pytz/zoneinfo || die
+ # remove hardcoded list of all timezones but leave subjective set
+ # of "common timezones"
+ sed -i -e '/^_all_timezones_unchecked/,/^all_timezones_set/d' pytz/__init__.py || die
+ eapply "${FILESDIR}"/pytz-2023.2-system-tzinfo.patch
+}
+
+python_test() {
+ "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/regex/Manifest b/dev-python/regex/Manifest
index b7c5ae6f2cc9..bd088510bf5d 100644
--- a/dev-python/regex/Manifest
+++ b/dev-python/regex/Manifest
@@ -1 +1,2 @@
DIST regex-2024.7.24.tar.gz 393485 BLAKE2B d2a46fe2039f78fc3f1e8cda1b7b1808b160018d8e0c1b880bb1a573b36a3e1e7c7ccfa238f99719b5a484fa3b7457109f9e8668fbf16cbaef52006e0e6f6f89 SHA512 7b9efc5bdefa6610862be06831404380939dfffad6e2a488d362f4a247356eb0739c2b9078f41e554eca21d64fd4b1b145291ca8140f18d1586328f7d19cefc9
+DIST regex-2024.9.11.tar.gz 399403 BLAKE2B 6ddf11954723183aa2cf15568592e0466a072897f7d69a22139c3db08fbf113a5b5df5df8b7982e4dc1987be836bbd323612549ba4723408cc235b36c21ae7b1 SHA512 5fec15361d19df69445093a3e4ef59e66d72c5c0a661d83640877850e31d874827aab5ebece2004a93534d7c4cc6084f76f76dda5db8ca3196f9f0a5f98a0043
diff --git a/dev-python/regex/regex-2024.9.11.ebuild b/dev-python/regex/regex-2024.9.11.ebuild
new file mode 100644
index 000000000000..141086a0dd4b
--- /dev/null
+++ b/dev-python/regex/regex-2024.9.11.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# pypy isn't supported upstream because of its UTF8 representation for strings
+# See https://github.com/mrabarnett/mrab-regex/issues/521#issuecomment-1936260187.
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="
+ https://github.com/mrabarnett/mrab-regex/
+ https://pypi.org/project/regex/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/Features.html )
+ local DOCS=( README.rst docs/*.rst )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
index 68c4141aef2c..1f307d869836 100644
--- a/dev-python/scikit-build-core/Manifest
+++ b/dev-python/scikit-build-core/Manifest
@@ -1,4 +1,5 @@
DIST scikit_build_core-0.10.4.tar.gz 252954 BLAKE2B 5d6bf7c7a462a80ee78b1c93a27b7f63443f1acf9bac8918d48882d644de4f11d3532e8afd542a06b24605120d18ab8e094ce9f3997ffd3f8047dcedb97712f9 SHA512 6858a7716f081fc5d40da7b974568855571f7cbc5e8eafdab2547bb6d2abc5445e682d7d7b1f6157e38ecbaad676b90fe1a2b152dcb89331f646180ecb3c6c26
DIST scikit_build_core-0.10.5.tar.gz 253285 BLAKE2B 6bbd5a92987fcbf9880df902784c9ee1a53d3f58b935b0c43ceb9bb8be0c32878845dd4c35fd03569fdc74d053866ff5e93b8eb96b058623fb357351a16919ec SHA512 283a50b4ff99e9c99fd92f0198231d0c8b68dcfc47ca5a782d7d604d9a313225f9f4e3dbc9490d9cd04f4d66cb79a4f793fb416763717474e83a3fea356b9bac
+DIST scikit_build_core-0.10.6.tar.gz 254624 BLAKE2B da23ecf36e16f2d8f1b4daeb41c3cd7ca5af1cd0a4eff324765920a53410b9a6d5c7456247dd310b67ac0fc9a96547f1aa6f019e7d7527b603184a9199c863d2 SHA512 e3ee9aff752d2531c3bc44f8288a4619637e89d4a0edea3aef012153ba31af9a86929437e9d11b1d1a6d85a60a9a4da34cc347c203b80cca3caee05fb3e832da
DIST scikit_build_core-0.9.10.tar.gz 230104 BLAKE2B e3c4605b4b33260d8deac2cedb7bbb20a08729a36214b13c6071fe9b12f9bddc882c18da0e1ee14d7f1b4845ca0dd02b1c2d5c30c43b96a420c35a8b5cbd2d5e SHA512 0e1cb649f9965f4b13093432a2e36ea9be532ba3b7447c36f898284571dcbcf266b7012a445b464ac9129ec2b91e4155016be1fbab52fc2a979e440b0ea73cac
DIST scikit_build_core-0.9.8.tar.gz 229845 BLAKE2B 419d8891dd3f95bee7f8f7dcc1addb94d2698f8ff392eef19a67e851f57b58d09b9878705d0e8d728d3c6f2b316d538c76471164781fcd1fb5d02dfbfd9d7a85 SHA512 f1206715eef1bdeccddc5987cae4f455522c4ef4dbca305ad7d3772c61f5615c5742b109c5527a5ad5e25a2348abff69ea5ae7153ac18c43cca63783872aa3d5
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.10.6.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.10.6.ebuild
new file mode 100644
index 000000000000..863b9216949e
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-0.10.6.ebuild
@@ -0,0 +1,62 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Build backend for CMake based projects"
+HOMEPAGE="
+ https://github.com/scikit-build/scikit-build-core/
+ https://pypi.org/project/scikit-build-core/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# we always want [pyproject] extra
+RDEPEND="
+ app-alternatives/ninja
+ dev-build/cmake
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local _EPYTEST_DESELECT=(
+ # TODO / we don't package validate_pyproject anyway
+ tests/test_schema.py::test_compare_schemas
+ # setuptools now respects PEP 625
+ tests/test_setuptools_pep517.py::test_pep517_sdist
+ )
+ local EPYTEST_IGNORE=(
+ # needs unpackaged validate_pyproject
+ tests/test_schema.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest-subprocess -m "not isolated and not network"
+}
diff --git a/dev-python/scikit-learn/Manifest b/dev-python/scikit-learn/Manifest
index c5d0c26e1a8b..e49bdf20e2a3 100644
--- a/dev-python/scikit-learn/Manifest
+++ b/dev-python/scikit-learn/Manifest
@@ -1 +1,2 @@
DIST scikit-learn-1.5.1.gh.tar.gz 6944196 BLAKE2B 65ed2016e1caf12e9a347e133b6b3be29b234de7ee8e374859a7235da3ede67a1b4c37a253b62ceb85a1ae3a1e6bc5afea2a0f07f4a7c81f59965614bde52b8c SHA512 f04c988490436d46d8210e68e41969af689810eff3e57098694768d3ccb7c4b919aecb13f36af1534745e56785fbf55c3dc3614497765d5b2f7c5e7e8dfbae05
+DIST scikit-learn-1.5.2.gh.tar.gz 6982418 BLAKE2B f1fdc37cdbc7625f5240b565b37b8213e1f6a21cb04886efaa2f9dad598eaa3c9bf567000cb51bcb78057172131ab3534134bb7382ed0b1df5037919d45fd65e SHA512 ed014858a9dd75765b761df03782048035228f012773d70ca3355d049d096707286b8b3d0139b88268266e8f0a6b4d430968495a87636975d094b161b9f0d712
diff --git a/dev-python/scikit-learn/scikit-learn-1.5.2.ebuild b/dev-python/scikit-learn/scikit-learn-1.5.2.ebuild
new file mode 100644
index 000000000000..3facb569fdc0
--- /dev/null
+++ b/dev-python/scikit-learn/scikit-learn-1.5.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning library for Python"
+HOMEPAGE="
+ https://scikit-learn.org/stable/
+ https://github.com/scikit-learn/scikit-learn/
+ https://pypi.org/project/scikit-learn/
+"
+SRC_URI="
+ https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DEPEND="
+ virtual/blas:=
+ virtual/cblas:=
+ >=dev-python/numpy-1.19.5:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/threadpoolctl-3.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# For some reason this wants to use urllib to fetch things from the internet
+# distutils_enable_sphinx doc \
+# dev-python/matplotlib \
+# dev-python/memory-profiler \
+# dev-python/numpydoc \
+# dev-python/pandas \
+# dev-python/pillow \
+# dev-python/seaborn \
+# dev-python/sphinx-gallery \
+# dev-python/sphinx-prompt \
+# dev-python/scikit-image
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: floating-point problems
+ gaussian_process/kernels.py::sklearn.gaussian_process.kernels.ExpSineSquared
+ )
+
+ rm -rf sklearn || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs sklearn
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete || die
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
index 2507102801c4..adabc923e763 100644
--- a/dev-python/simsimd/Manifest
+++ b/dev-python/simsimd/Manifest
@@ -1 +1,3 @@
DIST SimSIMD-5.0.1.gh.tar.gz 120754 BLAKE2B 35094cf15aad8f2325706a604eb7036e3edc18828c2341d9921b76077d7d7de9028177277ea32a144fa7edd98ee2b83d83506e632f95889c2290102c9638df9e SHA512 0dde560764e4d267e7b3387e8c7e24a44da02362f651b9ea48d44f91908135d107080c8b7db2fb3578f5ebfa67082694eb2907d82ceef841271f0debf42f1a8a
+DIST SimSIMD-5.1.3.gh.tar.gz 149123 BLAKE2B 1ac5d4245486a45ab73efe58733c22b9928beca09117d9c7a30ff920f595d7d5a315caa4e71ca951651462c77b794c7157add4783bede40c63d8ca1783365912 SHA512 707ce791c4e5cf866a690f6003ae64a052dfecb26c103d84dbe6fb43e35364b1d1fcf7a49dd1445063e471d06c760a432847c45476767b26b7ca11bcc4c555b0
+DIST SimSIMD-5.1.4.gh.tar.gz 149847 BLAKE2B 49aa9cfcee079b415d504989345be48c0b055e34dabd69240fdc02a35f51da81f25ab78fa27831e411d3853bca8b586314eae6840068715ec6a9c76c874162d6 SHA512 a656a71076d35c62cebe3d0cb2fc5eae87d9f13cb7a4427d74cb2959e813b4ff387ec30fe9a68e72e529fd0a76de468178652da1bba3b164eeb9f34df7d5d410
diff --git a/dev-python/simsimd/simsimd-5.1.3.ebuild b/dev-python/simsimd/simsimd-5.1.3.ebuild
new file mode 100644
index 000000000000..dbb3d7bb685a
--- /dev/null
+++ b/dev-python/simsimd/simsimd-5.1.3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 toolchain-funcs
+
+MY_P=SimSIMD-${PV}
+DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
+HOMEPAGE="
+ https://github.com/ashvardanian/SimSIMD/
+ https://pypi.org/project/simsimd/
+"
+# no sdist, as of 4.3.1
+# https://github.com/ashvardanian/SimSIMD/issues/113
+SRC_URI="
+ https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-repeat[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+src_prepare() {
+ sed -i -e '/-O3/d' setup.py || die
+ if ! use openmp; then
+ sed -i -e '/-fopenmp/d' setup.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p repeat python/test.py
+}
diff --git a/dev-python/simsimd/simsimd-5.1.4.ebuild b/dev-python/simsimd/simsimd-5.1.4.ebuild
new file mode 100644
index 000000000000..dbb3d7bb685a
--- /dev/null
+++ b/dev-python/simsimd/simsimd-5.1.4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 toolchain-funcs
+
+MY_P=SimSIMD-${PV}
+DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
+HOMEPAGE="
+ https://github.com/ashvardanian/SimSIMD/
+ https://pypi.org/project/simsimd/
+"
+# no sdist, as of 4.3.1
+# https://github.com/ashvardanian/SimSIMD/issues/113
+SRC_URI="
+ https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-repeat[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+src_prepare() {
+ sed -i -e '/-O3/d' setup.py || die
+ if ! use openmp; then
+ sed -i -e '/-fopenmp/d' setup.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p repeat python/test.py
+}
diff --git a/dev-python/vdirsyncer/Manifest b/dev-python/vdirsyncer/Manifest
index fdd656fe9063..d0f158740393 100644
--- a/dev-python/vdirsyncer/Manifest
+++ b/dev-python/vdirsyncer/Manifest
@@ -1 +1,2 @@
DIST vdirsyncer-0.19.2.tar.gz 123389 BLAKE2B 35cf5e52f669307c7bc545404135bfb5ded3ca6a1b151735ddacd73835054a2e0ab518201ad206929ca845c2a2828c025a918bba54b739db3fa0a8e4e9f5de33 SHA512 056c58011d0a054a8cc215e9eabc706dfffb7d38deab5ae47311565b3bdb6de7a4772e97a0a50cdce33c82b09d559f1ec9cf9c84746553badf1d25791c7e08ce
+DIST vdirsyncer-0.19.3.tar.gz 125478 BLAKE2B ead135f6906a869c1bd0956723d8ed42740c27aa100afec172a98b8f639f5ccf2240c40054d4a3f1b73d37d429b00f743831b074bdc2aa5daa630be6eb672dd4 SHA512 8651282302ad62b2bb6f7655429492dcff959cedc25e932d2e72deb2bb54406c6b5333fecdb14ae8c08ba3c20602856e8466198e24caee298fc9a08545fd3751
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.19.3.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.19.3.ebuild
new file mode 100644
index 000000000000..e67251bc5232
--- /dev/null
+++ b/dev-python/vdirsyncer/vdirsyncer-0.19.3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi systemd
+
+DESCRIPTION="Synchronize calendars and contacts"
+HOMEPAGE="
+ https://github.com/pimutils/vdirsyncer/
+ https://pypi.org/project/vdirsyncer/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ >=dev-python/click-log-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/atomicwrites-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/aiohttp-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/aiostream-0.4.3[${PYTHON_USEDEP}]
+ dev-python/aiohttp-oauthlib[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/aioresponses[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( AUTHORS.rst CHANGELOG.rst CONTRIBUTING.rst README.rst config.example )
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:, *<[0-9.]*::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # skip tests needing servers running
+ local -x DAV_SERVER=skip
+ local -x REMOTESTORAGE_SERVER=skip
+ # pytest dies hard if the envvars do not have any value...
+ local -x CI=false
+ local -x DETERMINISTIC_TESTS=false
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/system/utils/test_main.py::test_request_ssl
+ )
+
+ epytest -o addopts= -p asyncio
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ systemd_douserunit contrib/vdirsyncer.{service,timer}
+}
diff --git a/dev-python/watchdog/watchdog-4.0.2.ebuild b/dev-python/watchdog/watchdog-4.0.2.ebuild
index ef5257d050c6..071c326ed380 100644
--- a/dev-python/watchdog/watchdog-4.0.2.ebuild
+++ b/dev-python/watchdog/watchdog-4.0.2.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ~ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pyyaml[${PYTHON_USEDEP}]
diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest
index 982b0ec3b8de..7632bcdb19e9 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -1,2 +1,3 @@
DIST xarray-2024.6.0.tar.gz 3715179 BLAKE2B 42fa46883d27f656dca9b82e1647bd94a62a427582cd52d847131a8e01caf77a597fcc128453fee1f68c38897a9f995dd4c644e9b68b551ee1c28bc0d48e9465 SHA512 b6f24f834d71cca84f6a485858571a17bcb250915d4f84c886c9e16fc240ae3c3e91d573726e8a09f1dbe269abbfae97498868476eef1a90813ddb29c6a6db62
DIST xarray-2024.7.0.tar.gz 3728663 BLAKE2B c5b14c3d4ea2cec90565a8fb93e49974f52c6f0e55103cd791e746e674d886be85c7df244690513a482b32062e733a670b759b710739303ae79f9a13beea8c01 SHA512 6a094dacdd8f09fb4674c67e03e1df67d0651053088fe39912713842dddb397cf5b5629193df170a4738dc8f75e96ae26582c73fac4679a1439e9d015dfcfcd1
+DIST xarray-2024.9.0.tar.gz 3747432 BLAKE2B 4b2a3be1712194710aa00f4416479d93171ba3bcc49a68edf2bff65a2224c334807d4db9e63a95d6da7f7bd08170771cdad73f2d224837c35ccfcb2c72b881fb SHA512 179e1a6689095a091c49d6fe3b34e72afbfcfbf4d10056a695e4804cee2fc5e6da1ff9b3073ecce790618031286a2f383f00042d38c49e94a672ee6c2214b85b
diff --git a/dev-python/xarray/xarray-2024.9.0.ebuild b/dev-python/xarray/xarray-2024.9.0.ebuild
new file mode 100644
index 000000000000..1143cc433abd
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.9.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="N-D labeled arrays and datasets in Python"
+HOMEPAGE="
+ https://xarray.pydata.org/
+ https://github.com/pydata/xarray/
+ https://pypi.org/project/xarray/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ <dev-python/numpy-2.1[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.24[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+"
+# note: most of the test dependencies are optional
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ !riscv? ( dev-python/netcdf4[bzip2,szip,${PYTHON_USEDEP}] )
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: these fail with filter errors even if netcdf4 is built
+ # with blosc/zstd support
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]'
+ )
+
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_calendar_ops.py::test_interp_calendar
+ )
+ fi
+ fi
+
+ if use big-endian ; then
+ EPYTEST_DESELECT+=(
+ # Appears to be a numpy issue in display? See bug #916460.
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
+ )
+ fi
+
+ if [[ ${ABI} != *64* ]]; then
+ EPYTEST_DESELECT+=(
+ # these tests hardcode object sizes for 64-bit arches
+ # https://github.com/pydata/xarray/issues/9127
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long
+ xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex
+ xarray/tests/test_formatting.py::test_array_repr_dtypes_unix
+ )
+ fi
+
+ if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_dataset.py::TestDataset::test_polyfit_warnings
+ # https://github.com/pandas-dev/pandas/issues/56996
+ xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range
+ # TODO
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[q-expected19]'
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[Q-expected20]'
+ 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype0-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]'
+ 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype1-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]'
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}