summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-05-06 15:04:48 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-05-06 15:04:48 +0000
commit923126477e8d71f672b1dcda7eb08833760ff202 (patch)
treef28e3e4ab1ff7eae4766d2ad11234400707af714 /dev-python
parent4e0fdaed4cdd6acc8a8b436e10f21c732a0bcf01 (diff)
downloadbaldeagleos-repo-923126477e8d71f672b1dcda7eb08833760ff202.tar.gz
baldeagleos-repo-923126477e8d71f672b1dcda7eb08833760ff202.tar.xz
baldeagleos-repo-923126477e8d71f672b1dcda7eb08833760ff202.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Babel/Babel-2.15.0.ebuild55
-rw-r--r--dev-python/Babel/Manifest2
-rw-r--r--dev-python/Nuitka/Manifest2
-rw-r--r--dev-python/Nuitka/Nuitka-2.2.1.ebuild (renamed from dev-python/Nuitka/Nuitka-2.1.6.ebuild)0
-rw-r--r--dev-python/dogpile-cache/Manifest1
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild36
-rw-r--r--dev-python/jinja/Manifest1
-rw-r--r--dev-python/jinja/jinja-3.1.4.ebuild46
-rw-r--r--dev-python/ovs/Manifest1
-rw-r--r--dev-python/ovs/ovs-2.17.9.ebuild17
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild111
-rw-r--r--dev-python/werkzeug/Manifest1
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.3.ebuild71
-rw-r--r--dev-python/ytmusicapi/Manifest1
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.7.0.ebuild23
16 files changed, 368 insertions, 1 deletions
diff --git a/dev-python/Babel/Babel-2.15.0.ebuild b/dev-python/Babel/Babel-2.15.0.ebuild
new file mode 100644
index 000000000000..bb95b05a02bc
--- /dev/null
+++ b/dev-python/Babel/Babel-2.15.0.ebuild
@@ -0,0 +1,55 @@
+# 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
+
+# see scripts/download_import_cldr.py
+CLDR_PV=44.0
+DESCRIPTION="Collection of tools for internationalizing Python applications"
+HOMEPAGE="
+ https://babel.pocoo.org/
+ https://pypi.org/project/Babel/
+ https://github.com/python-babel/babel/
+"
+SRC_URI+="
+ https://unicode.org/Public/cldr/${CLDR_PV%.*}/cldr-common-${CLDR_PV}.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+# RDEPEND in BDEPEND for import_cldr.py usage, bug #852158
+BDEPEND="
+ app-arch/unzip
+ ${RDEPEND}
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm babel/locale-data/*.dat || die
+ rm babel/global.dat || die
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ if [[ ! -f babel/global.dat ]]; then
+ "${EPYTHON}" scripts/import_cldr.py "${WORKDIR}"/common || die
+ fi
+}
+
+python_test() {
+ local -x TZ=UTC
+ epytest
+}
diff --git a/dev-python/Babel/Manifest b/dev-python/Babel/Manifest
index 15e42b496964..c5f61bf09a2e 100644
--- a/dev-python/Babel/Manifest
+++ b/dev-python/Babel/Manifest
@@ -1,2 +1,4 @@
DIST Babel-2.14.0.tar.gz 10795622 BLAKE2B 7beb79d34e5fc44a7520b7ca8541dbe41676b466c418a4fcf994fc556ca86d9cbc9ddeecad886b49a61ea4f62502413472a96df0fd65606f447e423c7ece4723 SHA512 cfcd93bc5e57e3d23b8fb67f77fdeeb08183cc5ef9a6e044085a090cec3d722cf658e740c639f5a834df11a4cff0dacafdbba435184d77a78d56fc0bb6b62fd2
+DIST babel-2.15.0.tar.gz 9390000 BLAKE2B 9cd99524dbb191b5b8835452118b57b23abc89123e358a29de2375263a0264a1ea4c71324632eff8711cab7dbb40a20e97acd8e0faa448872353852b064ca524 SHA512 8cff4dbbe84047f7e8b625772036d2a23b6f7dfc36aa15332e581d4331fdac1d0308341294741afc43f3180368a7cc7675f68f28bbf94a621c693a822d4a2028
DIST cldr-common-43.0.zip 31934452 BLAKE2B 8390db2fb58ede0f55ebe369e5598c6a47b6ed01c95162d85365a699ceeb15d4d912a1ea26062c8f37a467c58fdaca27e99a9a133fec4afe15bf6ac6ba29b4f6 SHA512 930c64208d6f680d115bfa74a69445fb614910bb54233227b0b9ae85ddbce4db19e4ec863bf04ae9d4a11b2306aa7394e553384d7537487de8011f0e34877cef
+DIST cldr-common-44.0.zip 31750682 BLAKE2B a6f708d6c5bd02efc1e0672250b181542fb0f91d48bbaabddfc3b6b9e21201e3c9e6d09222cbc929b4ae654d2a0804a90f77f384df93577af188a907ce20bd61 SHA512 f2cd8733948caf308d6e39eae21724da7f29f528f8969d456514e1e84ecd5f1e6936d0460414a968888bb1b597bc1ee723950ea47df5cba21a02bb14f96d18b6
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index f0f3794e795e..ea74104adbce 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -1,2 +1,2 @@
-DIST Nuitka-2.1.6.tar.gz 3637189 BLAKE2B c3ec642ab8b3edfba12133622619082abade48d98bf5c053882fa037fdbe422f22d10f1008179683fc1091b2a7feed7ec406f85485b1f8a216d4e97343296051 SHA512 13eeec833c66a03f4e82c0b5ab543c6622364a99f23b28cfeb63c2658d542ec1007f700de296e67ccc9c40e0217422cf2f14fcf062b72d5d102a9ae5432588f5
+DIST Nuitka-2.2.1.tar.gz 3657159 BLAKE2B 46578e2ab4afa7edfb43cf42f968d222ba85717a276b84c25dfffea0f3211dc9ad202718f23b54435525a2b4447b49742259fb636a9cba3bfc1d251232878393 SHA512 08dfc85ada702e41b282ee8291c9b2f389c0b320cdab8ad7b259af9aba1fc3efb26d3deab5391a5d592c206f7dd94d7b99780ba25377bd5f145bd0bfd84e01fb
DIST Nuitka-2.2.tar.gz 3655576 BLAKE2B a5c88da5c585163cf7efcc238697b2c930426674d89203e12dbf2bc00e579c523a74527269039e2a155a13821c5ae4d7022215db88b2ba201f3b13224c3e8223 SHA512 0e21ccbf2c35176e3f1b704f599ef79e65f19529c2de362ae384e61e6b0e5d7e86a8489fe0cb25e6800e169833d50e54853bd6c4bd860c139162e22e39249aff
diff --git a/dev-python/Nuitka/Nuitka-2.1.6.ebuild b/dev-python/Nuitka/Nuitka-2.2.1.ebuild
index 35ccf652e8e3..35ccf652e8e3 100644
--- a/dev-python/Nuitka/Nuitka-2.1.6.ebuild
+++ b/dev-python/Nuitka/Nuitka-2.2.1.ebuild
diff --git a/dev-python/dogpile-cache/Manifest b/dev-python/dogpile-cache/Manifest
index a7069916476f..73f153568eb4 100644
--- a/dev-python/dogpile-cache/Manifest
+++ b/dev-python/dogpile-cache/Manifest
@@ -1 +1,2 @@
DIST dogpile.cache-1.3.2.tar.gz 269742 BLAKE2B 9656ec20cecccc03c101fe23fd2fa9879bf34cbf52f5232677c357690e55185b6fdeeefc8f820e48a1e39f4d3f2ab106705c717edc3fb0245b8d66f2845bc0cb SHA512 4cdc77f5c58ac26dbedd32580ac03a3b1c9ebc7e0526dbc980307704b2a41be604682a24084149e0d09caf535eed3a555a97e47142676b42fdb68276aa04d1a3
+DIST dogpile.cache-1.3.3.tar.gz 272404 BLAKE2B 1d28bf4293d4cbf8c5a97926458f92dc619a010f0f2fbb8242a2a6daff4ac09ec2f76faca7ee3e622d30a9b1adc7ca01d14cab0ebd5f05e0e35c5df32646be21 SHA512 80809d072167c62dcc731ab5b265c54bcc6f6a1dc09e3ea88959a34823dc0bb776b61166b8e60812dd47c38e8f23ba55c2be173d600a10c4c400c1334d0339fb
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild
new file mode 100644
index 000000000000..7d4db6d29616
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild
@@ -0,0 +1,36 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{8,9,10,11,12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A locking API for expiring values while a single thread generates a new value"
+HOMEPAGE="
+ https://github.com/sqlalchemy/dogpile.cache/
+ https://pypi.org/project/dogpile.cache/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/decorator-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jinja/Manifest b/dev-python/jinja/Manifest
index 4bbe2f1c3895..6bd39cf404da 100644
--- a/dev-python/jinja/Manifest
+++ b/dev-python/jinja/Manifest
@@ -1 +1,2 @@
DIST jinja-3.1.3.gh.tar.gz 274692 BLAKE2B 0c66600104db89ed17c0a0c58180e8a348f9d505504f4ae1bee01c8c09053994140f87a4d336255e292258f15adc3e535deef494e8fda980ef76547268ddc4fa SHA512 1f4384b3a1cd0f8e128608aa11d00c41f93b6be41459d9e5d8f50e6f879d2427aaea5d04681c85a1577651b9dc434c11c5e7c7caecef6f5fe26518a3d2fdc77e
+DIST jinja2-3.1.4.tar.gz 240245 BLAKE2B cb70699cea93ddf53b7c8876b9006cc70599d49f8c64ab615759a53db6829cab7b55ac673777bc4c8dc5dfc68efada29d37f47fe7cf449044721f659fe6a654d SHA512 d07d68a2687af68c705d3b7f5a2c67aca7b9d125316b15085888b9d0d6e769981af76f6f524728b89b5501bd671d518fcb2638f9ae112e57ca2bf2a53482cd89
diff --git a/dev-python/jinja/jinja-3.1.4.ebuild b/dev-python/jinja/jinja-3.1.4.ebuild
new file mode 100644
index 000000000000..3f7752f8e817
--- /dev/null
+++ b/dev-python/jinja/jinja-3.1.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=jinja2
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A full-featured template engine for Python"
+HOMEPAGE="
+ https://palletsprojects.com/p/jinja/
+ https://github.com/pallets/jinja/
+ https://pypi.org/project/Jinja2/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-issues \
+ dev-python/pallets-sphinx-themes
+distutils_enable_tests pytest
+
+# XXX: handle Babel better?
+
+src_prepare() {
+ # avoid unnecessary dep on extra sphinxcontrib modules
+ sed -i '/sphinxcontrib.log_cabinet/ d' docs/conf.py || die
+
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/Babel; then
+ elog "For i18n support, please emerge dev-python/Babel."
+ fi
+}
diff --git a/dev-python/ovs/Manifest b/dev-python/ovs/Manifest
index 4eb688975582..96b79e70915a 100644
--- a/dev-python/ovs/Manifest
+++ b/dev-python/ovs/Manifest
@@ -1 +1,2 @@
DIST ovs-2.17.1.post1.tar.gz 104766 BLAKE2B e1cb471f7f3f3b8461292c79ee5318a36d70c2ee55947bfa0274277e36514d20ad9293cb8c602e0b2c82a590397869fe51f52ee2579255bb8163014d58dccaf7 SHA512 772e7b4768f1e7fe1f2be700a0eb6bc539459e4c70432c45e7f7877b060f4c845eaa5a974f2b2264af621f5f43b97da30a9fe344a53904ec0008393689e6b895
+DIST ovs-2.17.9.tar.gz 110350 BLAKE2B 68f6fb154c830877fa404a24e5283e17cbb9e9d0c138e26da897835741457bab53be99754959eb01bdc8c5ea61a67327655ad6b1deba941b37ba4e86dab61375 SHA512 05ba60f585b576757bf0d2799dda2d17f0b4fd06bbdeaf4810c64f48c1a74dbc8bdba4348800fcb0c343415317104556cf4f2ab2dcabd9d438a0c31de1c45cd6
diff --git a/dev-python/ovs/ovs-2.17.9.ebuild b/dev-python/ovs/ovs-2.17.9.ebuild
new file mode 100644
index 000000000000..6331ff04c9ae
--- /dev/null
+++ b/dev-python/ovs/ovs-2.17.9.ebuild
@@ -0,0 +1,17 @@
+# 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="OVS bindings for python"
+HOMEPAGE="https://github.com/openvswitch/ovs/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 77687d08cd3b..3d0e9e8fa3d2 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,2 +1,3 @@
DIST SQLAlchemy-1.4.52.tar.gz 8514200 BLAKE2B b41fccb885ce6761e29621a654c97537610a1875d66302ba56fac560f5c85db35b14595efd903aebfd0186ee39b75a8666e1304cdee6a6ec6eb9923bc602b9e5 SHA512 afda6a3503c9d2baba8c1dd9e7216d5ac1561f52f5f11009c41a1a98ac998643c980c60cf8ba4d84c4af8808be26ead9fd2e7a2c8bf15b2fdb521b4e5de7748e
DIST SQLAlchemy-2.0.29.tar.gz 9543967 BLAKE2B 04425618b6e0bcf98a7a32a4a6b1c092120a9f3eb55761879b072ac3a3e08c8f1b97fb4d2df4b35b2fd810e11146f4d83cf67cd8ec23fb4d96c5d6cfff7657af SHA512 d1143c65fb26335d652083b9a90afaecf78ed312cea5c26f989380204e909c341c1bc3bb1e07274353e1c409d21737fad4d7391f186b2d2373814582d3baaf78
+DIST SQLAlchemy-2.0.30.tar.gz 9579500 BLAKE2B 3c1711ee72a355eb5e6a71d6581d951ffe3ddab459ac4bb4c36a8640ed5f6298a80847e9bb66dd700622fa9275bf77c4c18be5e324092a576d1b35983371730a SHA512 b39275a7312609fd0a78ac5bb4fb0f29f2948d7fc81007587c01f38849ff28bff273182a06c8ec830b7e1ba4cd30aea2cd7214bbf971a61125c9b56c6ddbbe52
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild
new file mode 100644
index 000000000000..4cd69540a31d
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild
@@ -0,0 +1,111 @@
+# 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
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 multiprocessing optfeature pypi
+
+MY_PN="SQLAlchemy"
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples +sqlite test"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/greenlet/d' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ test/ext/mypy/test_mypy_plugin_py3k.py
+ test/typing/test_mypy.py
+ # hardcode call counts specific to Python versions
+ test/aaa_profiling
+ )
+ local EPYTEST_DESELECT=(
+ # warning tests are unreliable
+ test/base/test_warnings.py
+ )
+ local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
+ test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
+ test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
+ test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
+ "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
+ "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
+ test/base/test_utils.py::ImmutableDictTest::test_pep584
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
+ test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
+ "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
+ )
+ fi
+
+ # upstream's test suite is horribly hacky; it relies on disabling
+ # the warnings plugin and turning warnings into errors; this also
+ # means that any DeprecationWarnings from third-party plugins cause
+ # everything to explode
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "asyncio support" dev-python/greenlet
+ optfeature "MySQL support" \
+ dev-python/mysqlclient \
+ dev-python/pymysql
+ optfeature "postgresql support" dev-python/psycopg:2
+}
diff --git a/dev-python/werkzeug/Manifest b/dev-python/werkzeug/Manifest
index 62237ab6c779..8923d4d563d0 100644
--- a/dev-python/werkzeug/Manifest
+++ b/dev-python/werkzeug/Manifest
@@ -1 +1,2 @@
DIST werkzeug-3.0.2.gh.tar.gz 817516 BLAKE2B 0c3324b6793f2fad77f62fbd0e3b847a73d6348d4a069dd83c852475d9cfa88feb3ab3ff1c4d547622b732de5fc3ba781d776d30f11ec1fae93cafdcfd9077eb SHA512 fdf44d2af517af69632909ae6fd5af327f34778c8f2dc7e606380123941102cc09d593a2036e843036e5abe998d2b2722f97b959eaeffc8de2b71a5b372a1e3e
+DIST werkzeug-3.0.3.tar.gz 803342 BLAKE2B 8c47d3131abeb8ce2d92291e08b603152210c44c40156b5399d24b167d0a02daf6adbeafec43e8b33dff940271feec95e9333e637e825f511cd5d03686c1e02e SHA512 fc771c161b37a376a86930c29c8b8052f81fb869cedea8c3c83af1e8b1aba271358c918e3067f3b0ac6d4a1689c8c355bff410d521c73a1909fd0ffc90fee6c6
diff --git a/dev-python/werkzeug/werkzeug-3.0.3.ebuild b/dev-python/werkzeug/werkzeug-3.0.3.ebuild
new file mode 100644
index 000000000000..aeb0df53dc03
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{8,9,10,11,12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="
+ https://palletsprojects.com/p/werkzeug/
+ https://pypi.org/project/Werkzeug/
+ https://github.com/pallets/werkzeug/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
+"
+# NOTE: remove the loong mask after greenlet gains support for loong
+# see https://github.com/python-greenlet/greenlet/pull/257
+BDEPEND="
+ test? (
+ dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xprocess-1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-2.3[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ !hppa? ( !ia64? ( !loong? (
+ $(python_gen_cond_dep '
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ ' python3_{10..11})
+ ) ) )
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pallets/werkzeug/issues/2875
+ "${FILESDIR}/${PN}-3.0.2-pytest-xprocess-1.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # RequestRedirect class started incidentally being tested
+ # with pytest-8, though the test isn't prepared for that
+ # https://github.com/pallets/werkzeug/issues/2845
+ 'tests/test_exceptions.py::test_response_body[RequestRedirect]'
+ )
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ "tests/test_serving.py::test_server[https]"
+ tests/test_serving.py::test_ssl_dev_cert
+ tests/test_serving.py::test_ssl_object
+ )
+ fi
+
+ # the default portage tempdir is too long for AF_UNIX sockets
+ local -x TMPDIR=/tmp
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xprocess -p timeout tests
+}
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index 8883c4236b1a..f64852413cbc 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1 +1,2 @@
DIST ytmusicapi-1.6.0.tar.gz 106624 BLAKE2B b7900f4fb9e863f694a06a9d85d479e13514d6f4a0ad86e923ccceb497ad9294e34d9b3914005063b272ef8582514a5ea7c173864d38a2b6ec166bcf1199560e SHA512 9886c0b4ec29bf9b676b4c77f9e84ca6c7a0f1b4da264d589aed19d50c8be6ef3718185af755d8a9f652d425ae98603fff09ea8d84ec839756dab43181eb9f4c
+DIST ytmusicapi-1.7.0.tar.gz 276068 BLAKE2B 39b33782fde91ada32269e6ec8630164796caff2e17743a852f1eca72debaf23b01fd9e8f4d486e1a67bf790221a233339b0074034d993053388cf31cadb32a0 SHA512 4e5f021e7dc9879e6cf881595afc8c17637e0d722a019b855563358f38bb74fe5ff154ea639c6d56836967c520bfece504733bf960b77cfe79b0586390339551
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.7.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.7.0.ebuild
new file mode 100644
index 000000000000..006c7e44cb09
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.7.0.ebuild
@@ -0,0 +1,23 @@
+# 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="Unofficial API for YouTube Music"
+HOMEPAGE="https://ytmusicapi.readthedocs.io/
+ https://github.com/sigma67/ytmusicapi/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme