summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-18 18:48:04 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-18 18:48:04 +0000
commitd4de242f8f949c4c3d104e2a7d394e2f867f9469 (patch)
tree3e02025268249e86cc439b2ebadb16cfd3f6afee /dev-python
parentfe15bd30cba1195dfb1fe660577ed7d10a7780d8 (diff)
downloadbaldeagleos-repo-d4de242f8f949c4c3d104e2a7d394e2f867f9469.tar.gz
baldeagleos-repo-d4de242f8f949c4c3d104e2a7d394e2f867f9469.tar.xz
baldeagleos-repo-d4de242f8f949c4c3d104e2a7d394e2f867f9469.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/apsw/Manifest1
-rw-r--r--dev-python/apsw/apsw-3.47.0.0.ebuild51
-rw-r--r--dev-python/dulwich/Manifest6
-rw-r--r--dev-python/dulwich/dulwich-0.22.6.ebuild115
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.119.3.ebuild102
-rw-r--r--dev-python/immutabledict/Manifest1
-rw-r--r--dev-python/immutabledict/immutabledict-4.2.1.ebuild27
-rw-r--r--dev-python/moddb/Manifest1
-rw-r--r--dev-python/moddb/moddb-0.12.0.ebuild52
-rw-r--r--dev-python/moto/Manifest1
-rw-r--r--dev-python/moto/moto-5.0.21.ebuild133
-rw-r--r--dev-python/pikepdf/Manifest1
-rw-r--r--dev-python/pikepdf/pikepdf-9.4.2.ebuild74
-rw-r--r--dev-python/pyjwt/Manifest1
-rw-r--r--dev-python/pyjwt/pyjwt-2.10.0.ebuild40
-rw-r--r--dev-python/setproctitle/Manifest1
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.4-r1.ebuild31
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-25.31.3.ebuild113
-rw-r--r--dev-python/yarl/Manifest1
-rw-r--r--dev-python/yarl/yarl-1.17.2.ebuild66
22 files changed, 820 insertions, 0 deletions
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index 42e1c2457df9..2a9d623e9337 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,2 +1,3 @@
DIST apsw-3.46.0.1.gh.tar.gz 912632 BLAKE2B b2c89def11102a00dde64fa7d7546f50e302dfe4219394d3d6ddd7f66fec455a60689db61a94230f7ef9578069b08ecd826de82b4e8b019107b9a0b6a36c4271 SHA512 894cf6c49d608d9d8eff369dcf42dd3b2f5174cd98a2c471f41773e2c1474c13d31f08402d053fd0869acb5c038e26543caa345d205c46bd3b3ec6aaecda5089
DIST apsw-3.46.1.0.gh.tar.gz 913223 BLAKE2B c0ad61e61a97471ef677ffe80f3f91e6520c95f8cece225a8086884f34de497714892e4ce0ca375f2ec66f48b8ecb4d38dd5ebdb57cd94050ef5eaee20d5d3ee SHA512 3cd81ceab03dadf10d9c10d645d33b962ba9ec55075bb193eb076f458dde11d5c5c6ec087ec31fc96d011ca1b339a9ffe07cb5d660b8205f6f156baaa0b18c81
+DIST apsw-3.47.0.0.gh.tar.gz 1633544 BLAKE2B a84634948c760cc8e8d6be83b1667ff86c973a1e8c52172d5f91852d42fd25189b367357f0eb0cb3b7b3868b21553e5258427da0958b5c117e05e55c3496a2b6 SHA512 4b90c7f13dbed9015ce1b7215c9dd6d8889433917e123bfac642f271dfec1d8be929b41fa530e867ec4f068a8c4fc337a82043811e8afcb707b187a46db7e176
diff --git a/dev-python/apsw/apsw-3.47.0.0.ebuild b/dev-python/apsw/apsw-3.47.0.0.ebuild
new file mode 100644
index 000000000000..4f01c003f49d
--- /dev/null
+++ b/dev-python/apsw/apsw-3.47.0.0.ebuild
@@ -0,0 +1,51 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="
+ https://github.com/rogerbinns/apsw/
+ https://pypi.org/project/apsw/
+"
+SRC_URI="
+ https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ >=dev-db/sqlite-${PV%.*}:3
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ enable=load_extension
+ use_system_sqlite_config=True
+ EOF
+}
+
+python_test() {
+ esetup.py build_test_extension
+ cd "${T}" || die
+ "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 2c44d4302e01..cea7948370f6 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -3,6 +3,7 @@ DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b
DIST dulwich-0.21.7.tar.gz 448028 BLAKE2B 8ceace901ce4b444d6f40f7071b7a95a04d27a63b9076fd82c97b7fb551dd769c38940d0ec42ebfd6592154df912139f0ca58801ba2fa0ef412d6a749253500a SHA512 56ddf8db21088b264623c568f28caa80d8687d26e5127093daaa4d556b0f49218ac51491a47ced00e9af073bd7ca05b2eb8b29d64aae8b93dd4bd47ca67ee443
DIST dulwich-0.22.4.tar.gz 449939 BLAKE2B 2b2609db8106cab6315d137187a52e4133d318af0d7b51ecd3dc60dac64766eb5439c5fccad73be94ec351ed163a18263ac245e16de9d3adc48095ddae92925b SHA512 d84e5b74fc3691593b5d7e4add26956800d71656d60362bca56c12bd44fdcbbd319d6153c31805948322b94d5bce9986ac27f1bc4df26ce45c26fcddd3dfb5b5
DIST dulwich-0.22.5.tar.gz 450518 BLAKE2B 95e3bbd57373304eee875dd5e3883096a49997ca8a5427c5e53ac86305693420f72cf29ca165680925ccc1175ad4957b6b6b323c18acf571b750a3329af00dc0 SHA512 38f673d632914340d6232cb0fc17dae5df7db448a29846db5e24bc95dd80ec29d94909235ebec3012c4fda966fe6c45c28787489d30c514c3f971b1b9ca39979
+DIST dulwich-0.22.6.tar.gz 450726 BLAKE2B b051b85482121672c83c928ec1dbc914f879bffd83ad9a37dc582afa43ae0c3dcd71050fb21729a263292117609b62911086dc25610803173f8c9398fcb37020 SHA512 3d71b9ba1bfd1d10cdddce0140e2571e2321efa3c8bd420caa0632fa087cd318bdfcd00b53b0ef3394077c83ef9ee85e06d3467461465e4efccf9bd560365df5
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST libc-0.2.159.crate 755366 BLAKE2B 70f46eb6228b4a8958dfbee00cdfa3c7d218f30d66c8591f4ccc9c5d8eda411d83ce9450552384ac4bc29deb2869561a2111dd157c9f228f617baf8f6b537bc4 SHA512 c803939ceea5ad9bdfdd122726c7a5f12ffd8b0cb66cf0bc62c9670e1e5904a504def388c1e043c520f4ece484addf6dac465aebd58578aa6b79995077bbdf9f
@@ -15,14 +16,19 @@ DIST proc-macro2-1.0.88.crate 49219 BLAKE2B 793001e2fb15fc6572060ec05276b185b948
DIST proc-macro2-1.0.89.crate 49446 BLAKE2B 844c021394e7a2551bc179592a6769d672360150abf92debcb9ac60a94a2e426c48c408f06aeb2128686f5f04d66dc12973714670c21a5063ee6b9f3bae4e671 SHA512 488ab38a04df1d0330309382a7e4f667238cbc9b4d513da6a8f5718f8a762f76cc122af67fefe8f4b021a286b3d23e3ec83d781fe6ac823042a6daf14d147e2f
DIST pyo3-0.22.5.crate 546700 BLAKE2B 8ee81360b205bcfc763dbd3d313e2d2f31bde4577bdc77a2ebc3084aa06e30bcc1f7efb97349d781b27882af5b8e82c6476498c86039b9c39286721ed1c08504 SHA512 48b9ada19bb12c6e5f1d41982c3b607f206d88dc078517c45106b631e0ad973145b0b60af06e58013a5189ca8b50e1cfa326c6904bba5aadb791933272ffb277
DIST pyo3-0.22.6.crate 546746 BLAKE2B 2a6f8c5ce2ee96e1812177a11c5fad7e15f3a73d9e30850edf0855b13db6cc95427e186883b4aae25a2d2466d3fe82f56180a39f3e6e0a54bb0a3ef78d495400 SHA512 d746007eae22f5b7bbf173759c61cbd2aa893898d88b8be5680a0237deec4d113246edf5f62fbbec3579ad4bd7307499b94b887ec306112ffe3df5190fe70e44
+DIST pyo3-0.23.0.crate 1072538 BLAKE2B 9eaf6a6aa88ae643197cae9bcd591778b6d8925e46808e0c995e4ca0b34de2f206b44ac6009ce52a65525a85f24c9dc14bd69806391138578d0dac7d18ee25b4 SHA512 01c8724b28b0e7882e387c93151a7261a0b265aad47aaaaf2356ce4db9568602cb11e0f107444eddb0d2557f334339d7b42d92164f3ecb02015af6ca3c29a6ba
DIST pyo3-build-config-0.22.5.crate 31293 BLAKE2B c1e10f78ce66993fa4a88a5994f0266200a529c2939dc1d29137aaa6133bd4c83062cd00d347b491afe5dfcf2995f4a1a0da271a24baf198447b5983a9620d83 SHA512 c11ebfeff1e8ada612dbab16bd86fb8659edb9026bbd826cba84601096fa4192faf260e067b5f9efcd0e8e72fe90bc8f08358cbced45175c662d78bde5eb3d82
DIST pyo3-build-config-0.22.6.crate 31369 BLAKE2B a1a72de120c4ac4f23a3faaf9b2e340231d7a778a29083ef25fd863fa213afb2a9b720333e3d46a6e1d32105f63073276a23b9bcd999a97fe71eaff3afc7db99 SHA512 9ab44c830e56ddb9ee537ce438fc690664d2c5416f01cdf72498ce062e4c1e7192eac8b7dc2de86c9f2212890b133b69a66209b1615c4eabdf4eaa6882a980fe
+DIST pyo3-build-config-0.23.0.crate 31756 BLAKE2B 0371909fcec57ccd8f1acea9e132da013150a1b76835989bd2832cdba58ebabf18ffdf229a241366399bc10a63834bd09c9e02872de5b1f2aaa7b14e3acce61f SHA512 488527e26c07ff05bd23ab458d06ca851e62b0bd5f1616cd4b313ba0897b156859231209469ea2f7e4a4aa907066665a7adbc85472abb789dc92da6adb7d5d94
DIST pyo3-ffi-0.22.5.crate 69354 BLAKE2B 91dfb41a24cb2b12bf54d6e54949a381ba6635ee55623a7f77a7e672fcf71d7f6937b7ab96f20457d770cf132047ddc9df50ea4aae8506d64e833f11a3b504e6 SHA512 36b8ed6273f7a0298179729c41081c787f353eb338be0f470859ce62a12e05305bd53eb24b6e72f2c56971f18bd64d16c63576f41909e9ac849f355041139a91
DIST pyo3-ffi-0.22.6.crate 69352 BLAKE2B 99eea6ed87001b23fdeb263937bc14be0fadadc1ad77d4fa8834045ba2fc6ba5c0b89f4051916a058b7640be655afe22785b1da42aac8a32d10209b7b37bf810 SHA512 616e51a0eae1207830fe95251d5b62f126daf446bec68ac98cb1b8538aaa59761dbde62d446a9ee205c23453dbd32bd8ecb15e26265ed1fa1e5e2056efd96369
+DIST pyo3-ffi-0.23.0.crate 73989 BLAKE2B 792e14d43bcefaa3c5305a8d5938c574cbd50395d573a9af8323e7c6ce81c7c00ae5d637e80ed9c2b450994ce35ae5630ecd7212b0cb76a1f38a0c17378841df SHA512 e28be29015724247b844912e6bcfcd21d6b17d5f31d80e2d6e9d21ff7f3038ee975a03c0ae7aac05ad2a624282e90b99f06177a09ddff623ab95bba980faeb03
DIST pyo3-macros-0.22.5.crate 8186 BLAKE2B 78f0c348fec0878ce4c873af3d4c438ccf02a5e971f2fd8b1cc9ea40a3aa8396dc6ea11e4d421a8b8c5eff5752182623632d92403ba6c5565b6b71b386768b04 SHA512 cfd848fb82f183290791930ca2e43a0db63de4f23436c1f1d3c688efdcbba1462346177c5956817418a0f0ea172b1039f5408a02a05ff03671dbb025f0697076
DIST pyo3-macros-0.22.6.crate 8182 BLAKE2B 81998e4f4cb325763e4d3477af05b332e184cabf6391761f850d23508cebcf8d496ce12f747ea241523bb3899886eb20494b076a0651151744bb81d52901a1b4 SHA512 63f7a7b42e099742518c8a3bbc7647e98debb5500d08c39e11e8140fc146e790ab06e005d8d14c89aba79ebc5bf04fe1c92c0e9c5b13421307d3a4682d044179
+DIST pyo3-macros-0.23.0.crate 8064 BLAKE2B d7b97774c1d54787b3aeb9d5c23847c6e42069fe114c964d608495747a29b8529df0c019944395303336aec17b04b9727cdc1aa8771dfad4ffcfb901c67a213f SHA512 da40d548a039c77158b860922aece8ea35fdb6d46da8b71284a39ae3b76094f85eb133ba7cc68ef7b5d160530eb460da92c004c88985223af8341669986531f5
DIST pyo3-macros-backend-0.22.5.crate 66308 BLAKE2B d30c021da6b013abb8bbc8d55f110f3394c79d85f02506d7a42bba256afd639647210ed66bae289f4dfbd6d060995c0365b278749798b302eb89f1b09c074ab3 SHA512 8a79f9c6f948375e20804d2bc4b98d9fd7d39f99a936afb1d9a0fab599a3ad07e95bc985aa51b0ab8410b6b4f5ebaa2aa347013ae722a2b3f4c51f318415d472
DIST pyo3-macros-backend-0.22.6.crate 66312 BLAKE2B ec0b11bee1ad2192e8d95cebab0075d6ec5bf628e3344b86fb8e20a6d0bc1f891b56ccfa4622840a609480581f32bd211b9a3d1dd989716cf255efe3fdc89331 SHA512 87463939b5a5674e30e8ca05ae747f652f8679f0c5c85d20967e9910ad853768a769a914580e82e409188fe4add80a3117ccb9da24c250406bc6f76fe4453799
+DIST pyo3-macros-backend-0.23.0.crate 70119 BLAKE2B aba55954140ce497c0c6e046178a3f5b4a2de3830cf841fff2d192f3b29422863ab6ce039049a431ba0c84de44d4ab652301120b7e59549171c245415e11fd4c SHA512 91ea6b6647e626320ece44c1c8fff10f9730bcd328826fe3bbda88e8b0c8cd364fade7ad4684dae4abd242bbfbdbdd0e23e9efd72eb6e3ecbeff62fd431a2765
DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
DIST syn-2.0.79.crate 268981 BLAKE2B 2bf4bde1890ce4ee91fbacca81bd298d15f0111fedb27b9cf8d675dc2489f46026c1804f9e4e24afbd0718539820096cd5c4ed2c2da02e598370dbfd2b18c293 SHA512 1ee073fa3428c031e53bff8ff305bcd6b37ac142bee3955dcdb44fec1c77c733eb78760c8bfb30b83fc3dacdad8a384e2b6f9f31a89c4cc300359e33457fd433
DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2
diff --git a/dev-python/dulwich/dulwich-0.22.6.ebuild b/dev-python/dulwich/dulwich-0.22.6.ebuild
new file mode 100644
index 000000000000..0658934eeeeb
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.22.6.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+CRATES="
+ autocfg@1.4.0
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.162
+ memchr@2.7.4
+ memoffset@0.9.1
+ once_cell@1.20.2
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.23.0
+ pyo3-ffi@0.23.0
+ pyo3-macros-backend@0.23.0
+ pyo3-macros@0.23.0
+ pyo3@0.23.0
+ quote@1.0.37
+ syn@2.0.87
+ target-lexicon@0.12.16
+ unicode-ident@1.0.13
+ unindent@0.2.3
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/urllib3-1.25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
+ test? (
+ ${RDEPEND}
+ app-crypt/gpgme[python,${PYTHON_USEDEP}]
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+pkg_setup() {
+ # avoid rust_pkg_setup which will die when there's no Rust found
+ if use native-extensions ; then
+ rust_pkg_setup # implicitly inherited through cargo
+ fi
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ unset PURE
+ # TODO: enable Rust extensions
+ if ! use native-extensions; then
+ local -x PURE=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+ unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+ unset EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 87aa23b65594..073a65f89ad6 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -2,3 +2,4 @@ DIST hypothesis-6.116.0.gh.tar.gz 9480480 BLAKE2B 350abfd8bad65a33669345a71c3df9
DIST hypothesis-6.118.9.gh.tar.gz 9487943 BLAKE2B 3c8d17d2763877107c7342d9a9825cb733de91ce6c99c88ed7536ac0e82d728f54d762c9b26cb02d742c470afc05c2798fb20e1f3c6f52d3b9d0e2c9cea9e99a SHA512 ba4f32892088a3a4d1a3d9ca2d28b9828cd7e2f4c4878733943f34f431014d4ba4dfe07729878b4c87cc295b6d6f219094c1f774ac115acd3b375ecc3c58d580
DIST hypothesis-6.119.1.gh.tar.gz 9491481 BLAKE2B e1485ac899f64fcc1a1d9d673e32b92e6311b90e9ed3d173b276b9fed0f34ee931d485f6b86250f426d947b511fc777304ae1d536cafb8524b609c3b4d1443e3 SHA512 479fb3b19278c94675dfb1a3e8962f1be8db1240350c59953fbaae67c382c58854a137b8df3e441c6e87f921b3ae781fe9d39c7eceb6d3087bc0bd8e34d797c4
DIST hypothesis-6.119.2.gh.tar.gz 9490208 BLAKE2B 5c4531c96667046751b12e0d7aab7bc3a7cd57509194cdc727f5b57d23ff3749b791ce783f41760c759d760c8ac671479cd1283ae6c0b2011296c296eed79030 SHA512 8801fa47d2afdc3ed99021a93f0a29fedde4e448f8ba60a4585e7ee673fe5f78de3b269f20d89bcc36f42dc32207d87eb7834c5a5ddafac7ceea00370b37db53
+DIST hypothesis-6.119.3.gh.tar.gz 9490475 BLAKE2B e15af9c5dab27464ef0fd04c0b37fa098304acf539664b086fa4a9cf5d6e0bb759dba00a4ed1f51487b4373c7cb099db15ea1e8cf516f47bef4dc1235b2835f8 SHA512 9173ecea32edcf528964468a68c5655796fc43bb5c843b5957061bcb9f967b95cfac97e268726b2c21ab64a1acf5597988e390fbdd8efea031106be4dcc65232
diff --git a/dev-python/hypothesis/hypothesis-6.119.3.ebuild b/dev-python/hypothesis/hypothesis-6.119.3.ebuild
new file mode 100644
index 000000000000..737f4174ad91
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.119.3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.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/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=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,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${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/immutabledict/Manifest b/dev-python/immutabledict/Manifest
index 8d959079bcca..989bd619b8b1 100644
--- a/dev-python/immutabledict/Manifest
+++ b/dev-python/immutabledict/Manifest
@@ -1 +1,2 @@
DIST immutabledict-4.2.0.tar.gz 6165 BLAKE2B 6176a186e8108134f3e54e8d98712f2f825f3750685da72bb654b0eb2a1c75e87f6c8bf95dc6c4c06b2da68b4fa541fde32f2988735bf93cf57f772a29c8368b SHA512 56be1239ea8161e54744a7bf5d17c0cc29410d7a7327fe97b3290f9e566dd19f662bac0e4e9f3c060cceece0df5d39638bf4258f3edfcf693f7f9b2bddc1d6b7
+DIST immutabledict-4.2.1.tar.gz 6228 BLAKE2B 55c97af9d906567f8ba9096d4bc30734012f72b9d7d6cf3a6268ba1219b5b64eb985d2665b131be1ad017e93fc05d66250df3e0826d02f24eaacaf8daf13df89 SHA512 bf09067a371abe4caa829b9ad08000f244a8ed8cbbc6f25c118f555a9f281c2b7e26f66f112a5188e80b49e826a76953040f45eb64f3ce9d258dc66c911a5200
diff --git a/dev-python/immutabledict/immutabledict-4.2.1.ebuild b/dev-python/immutabledict/immutabledict-4.2.1.ebuild
new file mode 100644
index 000000000000..6137a5f8c8d7
--- /dev/null
+++ b/dev-python/immutabledict/immutabledict-4.2.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An immutable wrapper around dictionaries"
+HOMEPAGE="
+ https://github.com/corenting/immutabledict/
+ https://pypi.org/project/immutabledict/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # performance test which fails occasionally under heavy load,
+ # see bug 924831
+ tests/test_immutabledict.py::TestImmutableDict::test_performance
+)
diff --git a/dev-python/moddb/Manifest b/dev-python/moddb/Manifest
index 9c1c386346a7..355a7e92326c 100644
--- a/dev-python/moddb/Manifest
+++ b/dev-python/moddb/Manifest
@@ -1 +1,2 @@
DIST moddb-0.11.0.gh.tar.gz 10528613 BLAKE2B 109c1758362e2655209173d581f1234f15725b8d0b25ed8024ecdfc4da45e30530c87fa9b8a19b556f4cfa60549c38bc552751a39a5dad28f04e58f53d1f484f SHA512 fe064fb7b02553d614477f122013c98257c6fd4d428538681ea97706425480d7fb4a25f49b8673dfba706e33766420c930cee1fae0c93a6b3d2f766b609596ca
+DIST moddb-0.12.0.gh.tar.gz 10528424 BLAKE2B 48a41ee5d150afffbde459bc44c0edb2056cb3674966193a595bc2d6c467746029e3741e9a107edfee3177a5135f2fd5ea040e8d15e1ab88f9c0d0c9bd2cb9f2 SHA512 2c31724093bfcb45c95cf29ae5ad430f77c0061a7d3588688a755101b50a79034c5bf633df5d9a032fa21deb5a8aab12d491289b6937ce1011fe67860c5c769c
diff --git a/dev-python/moddb/moddb-0.12.0.ebuild b/dev-python/moddb/moddb-0.12.0.ebuild
new file mode 100644
index 000000000000..65154a014136
--- /dev/null
+++ b/dev-python/moddb/moddb-0.12.0.ebuild
@@ -0,0 +1,52 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python scrapper to access ModDB mods, games and more as objects"
+HOMEPAGE="https://github.com/ClementJ18/moddb"
+SRC_URI="https://github.com/ClementJ18/moddb/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Connects to moddb.com
+RESTRICT="test"
+PROPERTIES="test? ( test_network )"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+)"
+
+EPYTEST_DESELECT=(
+ # These tests require valid moddb.com login information
+ "tests/test_base.py::TestLogin::test_login"
+ "tests/test_client.py::TestClient::test_get_watched"
+ "tests/test_client.py::TestClient::test_get_updates"
+ "tests/test_client.py::TestClient::test_posts"
+ "tests/test_client.py::TestClient::test_friends"
+ "tests/test_client.py::TestClient::test_messages"
+)
+
+distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints
+distutils_enable_tests pytest
+
+python_test() {
+ # Dummy moddb.com login information
+ export USERNAME="portage"
+ export SENDER_USERNAME="portage"
+ export PASSWORD="testing"
+ export SENDER_PASSWORD="testing"
+ epytest
+}
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index 509be1d4601e..ad9695be860a 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -2,3 +2,4 @@ DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f3
DIST moto-5.0.18.tar.gz 5509110 BLAKE2B 0e56aabc053184121608f08e9d0489fe20c51450d500cb35557d65222b60bb3b6e0aa5e3900a22fe8f6008c751524b1bd946e0994fcddf0e82c058ecf106e115 SHA512 805a100aaa0a1164fff3baf80baec868d12c7f94ec345640272ed284e2c982b6c0c092ffa5e0b28a26d547b9eb48485ed660e06170c1e26ec03590c35695e44f
DIST moto-5.0.19.tar.gz 6203233 BLAKE2B 792d540a6ba44350e9fb4c85848e60daf704eb1a866e30e2cdd910dcf7bd7846f4da6c5b1a3e3b72663efb85574845508bc5eb3f70b0e948554ef19fe2970ebe SHA512 593965dcc821f0fdc8495e4ee72330ab1808e0bbbb491906eb204d2dc4b68af036b2065f5640c264c868207ceace967ca9d6efa741b3f9132427c0918aa2dcd7
DIST moto-5.0.20.tar.gz 6203061 BLAKE2B 0e2126c72eb7a0afbe5ef29251527e7e4822d125e7e107217e6a702e2c51aa274f7181cdd6dd1b0c724315f89e58415e1e89fdb96db6777fac79a85bc0f53421 SHA512 d7a2c4311cc0518761226d200c8691fa70871b779f5f01cf573e0f92e4677a6f9ab5b77b2005b36346b199f3f0f2921df9879d13b1bed95c363537b01a9ef47e
+DIST moto-5.0.21.tar.gz 6212667 BLAKE2B 6f1d991214ab4cfacab76db68a5a5b143adf6de226c0bda2b1c48e0d4f3cbd470b83419edf14cb46dbd35ae6f5129db305a4b07b20e9b2da6f746823939b35ca SHA512 a881426643ab1b3fa858bc8effa1816195ea907352aeb96e9a457a3108d8e712f77788f1e7476822484a3a829d68ba1d9f18a3dc990bc9e403b1c049f892064a
diff --git a/dev-python/moto/moto-5.0.21.ebuild b/dev-python/moto/moto-5.0.21.ebuild
new file mode 100644
index 000000000000..15cdc4754e1c
--- /dev/null
+++ b/dev-python/moto/moto-5.0.21.ebuild
@@ -0,0 +1,133 @@
+# 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_{9,10,11,12,13} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
+ dev-python/jsonpath-ng[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/antlr4-python3-runtime[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+: "${EPYTEST_TIMEOUT:=180}"
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Needs network (or docker?) but not marked as such, bug #807031
+ # TODO: report upstream
+ tests/test_core/test_request_passthrough.py
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
+ # broken code? (local variable used referenced before definition)
+ tests/test_appsync/test_appsync_schema.py
+ # require py_partiql_parser
+ tests/test_s3/test_s3_select.py
+ tests/test_dynamodb/test_dynamodb_statements.py
+ # require joserfc
+ tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration
+ tests/test_apigateway/test_apigateway.py::test_create_authorizer
+ tests/test_apigateway/test_apigateway.py::test_delete_authorizer
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed
+ tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication
+ tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication
+ tests/test_cognitoidp/test_server.py::test_associate_software_token
+ # TODO
+ tests/test_dynamodb/test_dynamodb_import_table.py
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ tests/test_stepfunctions/parser/test_stepfunctions_dynamodb_integration.py::test_zero_retry
+ # random crashes
+ tests/test_stepfunctions/parser/test_stepfunctions_sns_integration.py
+ tests/test_stepfunctions/parser/test_stepfunctions_sqs_integration.py
+ tests/test_stepfunctions/test_stepfunctions.py
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # suddenly started crashing, *shrug*
+ tests/test_xray/test_xray_client.py::test_xray_context_patched
+ tests/test_xray/test_xray_client.py::test_xray_dynamo_request_id
+ tests/test_xray/test_xray_client.py::test_xray_dynamo_request_id_with_context_mgr
+ tests/test_xray/test_xray_client.py::test_xray_udp_emitter_patched
+ )
+ ;;
+ esac
+
+ if ! tc-has-64bit-time_t; then
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_route53domains/test_route53domains_domain.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+
+ rm -rf moto || die
+ epytest -m 'not network and not requires_docker' \
+ -p rerunfailures --reruns=5
+}
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index e3f1e2f8da2a..523479a60da9 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -4,3 +4,4 @@ DIST pikepdf-9.2.1.tar.gz 2905740 BLAKE2B cee801fcb231f2537ce75555b10d68de9acc62
DIST pikepdf-9.3.0.tar.gz 2905550 BLAKE2B 62b3a1d655fb5b3e4d315a3feaeb14a043048c5985f5cf99812c07e1d248ae52cb1734dbd091103f36a3fd5a981c89b57208fb50f5c1081e08e3c20ec728ff9c SHA512 3325ab06c285f8f51c66c3815b15f96b0730e38f8023ce5c1e46818c581c38ab3bd89875e5de6ce1064a5929a8c386740d76e662c82d00d9c46961c56da4f0c0
DIST pikepdf-9.4.0.tar.gz 2905478 BLAKE2B fea41290e14c9c3254993f5885270cee8b896f830b6c4a9297843f2754b189ca9d095d33564a95686ff381dc1151d078c587a9fef681fc29f0ede1ec5b61e1e4 SHA512 53be3ca19c3daff564aef4e07b025741d1d8ab6196bf14299059263d432ab5906d73e35b88d940b8429f44f5e595f30d70276f388687b9200d4b561fe1183b29
DIST pikepdf-9.4.1.tar.gz 2905720 BLAKE2B 5292f4a0af9496ac6ea9db6c3a1d44d1d84d0724c5dea08995bb097bed1eeb26476593a3e9d19b594aed24031f24523271830f21fc9ce7b95ad949da35e236e5 SHA512 d9a4b5e38f62b19c4f989899b851e7155df0be2ea02ffbd06e4fbabab66d5cb76d45a89ec3bca3e6aac3c85ab9d16699c38a4262b52f1b23edd8e3b4b0e0343b
+DIST pikepdf-9.4.2.tar.gz 2914992 BLAKE2B daed44bd1106dbeadef449160e2ba5b389a1eeb7b23a32124a59b7861c1584d49feca01d6f54a18dc53eaace7823b23f62c1240c58445eb382ee25133b2d463b SHA512 2dc84672941a283da5486b2664252b6cd0612d7d2f9e8d10e3ae41f494be89821431568872b6b60045ffb2f1f687cea055093229ee443997997a8fae56e43e0b
diff --git a/dev-python/pikepdf/pikepdf-9.4.2.ebuild b/dev-python/pikepdf/pikepdf-9.4.2.ebuild
new file mode 100644
index 000000000000..c0d7b6df04aa
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-9.4.2.ebuild
@@ -0,0 +1,74 @@
+# 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_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.12.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+ tests/test_image_access.py::test_image_save_compare
+ tests/test_image_access.py::test_palette_nonrgb
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pyjwt/Manifest b/dev-python/pyjwt/Manifest
index 557ad3b0b719..1192827d1e2d 100644
--- a/dev-python/pyjwt/Manifest
+++ b/dev-python/pyjwt/Manifest
@@ -1 +1,2 @@
+DIST pyjwt-2.10.0.tar.gz 87687 BLAKE2B c3595b24bab66db56d6140e791c5326200dccf65499e7fc11f0448ff9a0189d3b309b33afba96e52eb1147ccda317137530650ef70d765a7e75d3b453f1a71f8 SHA512 3390e4613718e6fffe0a589a2b9f35ac8d29a12a7059d15281496c9a45b8e52b2ca165e3e7ba66bc2683d5df8d1ae8ed726bcc6e3afc0421a17491afe263f2b7
DIST pyjwt-2.9.0.tar.gz 78825 BLAKE2B f8228502944e6fc50412533c0c3f6d03fe7538dae8e1c42dd01d6b4419ef165f98125712e48d5c5b7f0d7eced36b6a84a69b9da549fe5e57effcba652f78faec SHA512 10d0344e05a142b3edadc970dd5cebc5eada1f638a599ca0f566c00149d67626c7fa1bbe668a56bc93048669df3af266c581f4872bf5756a4cc526f4b831dfc1
diff --git a/dev-python/pyjwt/pyjwt-2.10.0.ebuild b/dev-python/pyjwt/pyjwt-2.10.0.ebuild
new file mode 100644
index 000000000000..132aa710d061
--- /dev/null
+++ b/dev-python/pyjwt/pyjwt-2.10.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="PyJWT"
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="JSON Web Token implementation in Python"
+HOMEPAGE="
+ https://github.com/jpadilla/pyjwt/
+ https://pypi.org/project/PyJWT/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ !dev-python/python-jwt
+"
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-3.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_sslcontext_default
+)
+
+pkg_postinst() {
+ optfeature "cryptography" dev-python/cryptography
+}
diff --git a/dev-python/setproctitle/Manifest b/dev-python/setproctitle/Manifest
index a24ba4029d67..d22fe42ce44b 100644
--- a/dev-python/setproctitle/Manifest
+++ b/dev-python/setproctitle/Manifest
@@ -1 +1,2 @@
DIST setproctitle-1.3.3.tar.gz 27253 BLAKE2B 92a789ec5a132e7560e203ef185f914e3b26986da3b53992a1954d3db0ff0b213ffdec5a0db9bf57bd80b197e09481a23541b8979b54a445df1840f469810922 SHA512 daf9954beef0c28b5c9f71e1dbf713e655d2ea6b66387f6f47da5b3b6c679f3faaa26c74d2b7c3b5460468394e0582a1ff45e5d67ff2d85826317fc69c9eb828
+DIST setproctitle-1.3.4.tar.gz 26456 BLAKE2B c0be58c004c7a1834c0967ba4f90688aa668c3f6c8ab7c944891e7e4e78de65e14b829f8abf63c8490689d8cd6ab23f236ecfa7837fc4bbc28a45ef46dd3f24b SHA512 b1a8648a83648766eb9f88a15982568de6640692a39a1079455d8788996f73e313b879f567c82878450798b5755a8111a7965b3776e9238eebb59dfd09d41c4e
diff --git a/dev-python/setproctitle/setproctitle-1.3.4-r1.ebuild b/dev-python/setproctitle/setproctitle-1.3.4-r1.ebuild
new file mode 100644
index 000000000000..779aaeba32e2
--- /dev/null
+++ b/dev-python/setproctitle/setproctitle-1.3.4-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# The package has a fallback implementation which is a noop but warns
+# if the extensions weren't built, so we always build them.
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allow customization of the process title"
+HOMEPAGE="
+ https://github.com/dvarrazzo/py-setproctitle/
+ https://pypi.org/project/setproctitle/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # remove the override that makes extension builds non-fatal
+ sed -i -e '/cmdclass/d' setup.py || die
+}
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index ca744a9a4a4e..97d975b9121a 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -30,6 +30,7 @@ DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb9
DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
DIST sqlglot-25.30.0.tar.gz 19626939 BLAKE2B 25c0ad4146ceb8718c7725bd2fa24e0d012deb6db6ba64801561ecf0f88ec2bb6b9d8a695d63dea188c26a2d8a411d197dd19b02829266b3780a6a9cc3e3c1f7 SHA512 545b04a83fc68388655cd47c73efe1cc41f606a058f4d33c71ffc5a4c531fa675ba1439c3ffa271117bf5cd63039bce828ce5ee228e30f27fa5d9183e8e02c9f
DIST sqlglot-25.31.2.tar.gz 19679402 BLAKE2B 3ea776e3d76a9cab3fb1ed80fb1a5b63220ccc3cda9b6f6c0573915659482e61eca29ba49ad593226cb4ef75643535172923212c7c19dfa5dc9e3d8abc428628 SHA512 a0cac8161074460a51031d80f93eb7e58ac3aec5ab5a9397ebd48ab7b699d6faca1877edc0624e91d4c2e88d8e210c366f107a2fbe5f71ae56930f249fef7928
+DIST sqlglot-25.31.3.tar.gz 19677473 BLAKE2B 6e72b192a7782495ff344b7c018cde58f11bb071f470db9149f31a38174a15d3b1d64cef90733209dd08d791ffab2a0ae263c28b9ec4ba5941ce89ed5758dbb8 SHA512 47acee570affd5eb8ee62a67812a26977598a882b9b261a53a07b8af9b58d74e5b4b8261271d3084497aba660ffe541d56f3503fa946e55b309cefedd609a445
DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2
DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
diff --git a/dev-python/sqlglot/sqlglot-25.31.3.ebuild b/dev-python/sqlglot/sqlglot-25.31.3.ebuild
new file mode 100644
index 000000000000..d48438a800cd
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-25.31.3.ebuild
@@ -0,0 +1,113 @@
+# Copyright 2023-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_{9,10,11,12,13} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.4
+ libc@0.2.150
+ memoffset@0.9.0
+ once_cell@1.19.0
+ portable-atomic@1.9.0
+ proc-macro2@1.0.89
+ pyo3-build-config@0.22.6
+ pyo3-ffi@0.22.6
+ pyo3-macros-backend@0.22.6
+ pyo3-macros@0.22.6
+ pyo3@0.22.6
+ quote@1.0.37
+ syn@2.0.87
+ target-lexicon@0.12.16
+ unicode-ident@1.0.12
+ unindent@0.2.3
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+pkg_setup() {
+ use native-extensions && rust_pkg_setup
+}
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # timing, sigh
+ # https://github.com/tobymao/sqlglot/issues/3961
+ tests/test_generator.py::TestGenerator::test_generate_nested_binary
+ )
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index 048afb35cf71..fd45812c5173 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -2,3 +2,4 @@ DIST yarl-1.14.0.tar.gz 166127 BLAKE2B 7974896144ef23309aead8935f18fe717e39b982b
DIST yarl-1.15.5.tar.gz 172410 BLAKE2B 49d31ed31466921a04d1e83d98c6ec742aaa71a7675da9c9ee4f99ce4ca6813cd471e92e8ee78e4c33c3ea2efe981b8603bf677100b1e9b8f6de3324e2c43074 SHA512 d1219971f5bc90e1d1f4b256a8e90fd98433086cb326f658bd68bfaefd97c12c0ff8121ab16fdd047236f29ce6c3907ea6b0afbde3526fe8ec290dec379ca732
DIST yarl-1.16.0.tar.gz 176548 BLAKE2B 038934a1ef05c78fd04702ed4519c121b7e9c5e6f41069e179cd7f09c178da9e6a73ab14cf5083dfa0597b24ed351dac0d937f419c58e510c9eb695c3639d2f3 SHA512 ee3933aed6ac0cc5df24cd0e8f3d3d560348b4a7c960562a7bee16e105b6104e24c5720388cd4a1ae20f796f27bf0ce8c599999d554e3cd790c6db27c6799d22
DIST yarl-1.17.1.tar.gz 178163 BLAKE2B 88d864944829e4b69ae346b0c6eb205969e9f9d2326d46f1eb4ed0506516f71730731763daf56e8230b699d5775c053c4750f6a770422cad392199ba5c099074 SHA512 5c1c25a8b828694a6538e7a07d01fc5d14238b279f8db4d76ee247a4f043b3e836c292cf6a77bb5ba544ec43dee449f2417eb0a5aaed6954449043a0fea3f811
+DIST yarl-1.17.2.tar.gz 178947 BLAKE2B 5cca5ef7fa2745f76c72ba0fbd54a62344f8961d365f6777812cec6c44d42d3a573f25db25b3afe7ff93775aaff8c4f71a6cf13ed86061e14e37cab984c0d7d8 SHA512 d99cfb5bb89f60b41cad021af5971e42439f47c77b24de0ab43c372cedb15ee18bfca478889f002a322e24838e2978c30923f965ea879ba52549644b2a957348
diff --git a/dev-python/yarl/yarl-1.17.2.ebuild b/dev-python/yarl/yarl-1.17.2.ebuild
new file mode 100644
index 000000000000..638ce0f69079
--- /dev/null
+++ b/dev-python/yarl/yarl-1.17.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x YARL_NO_EXTENSIONS=0
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ YARL_NO_EXTENSIONS=1
+ fi
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # benchmarks
+ tests/test_quoting_benchmarks.py
+ tests/test_url_benchmarks.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local opts=()
+ # note different boolean logic than for backend (sigh)
+ local -x YARL_NO_EXTENSIONS=
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ YARL_NO_EXTENSIONS=1
+ fi
+
+ rm -rf yarl || die
+ epytest -o addopts= "${opts[@]}"
+}