summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ast-serialize/Manifest8
-rw-r--r--dev-python/ast-serialize/ast-serialize-0.5.0.ebuild134
-rw-r--r--dev-python/autobahn/autobahn-24.4.2.ebuild6
-rw-r--r--dev-python/burner-redis/burner-redis-0.1.7.ebuild6
-rw-r--r--dev-python/cloup/Manifest2
-rw-r--r--dev-python/cloup/cloup-3.0.9.ebuild40
-rw-r--r--dev-python/cloup/cloup-3.1.0.ebuild41
-rw-r--r--dev-python/fastapi-sso/Manifest1
-rw-r--r--dev-python/fastapi-sso/fastapi-sso-0.21.1.ebuild47
-rw-r--r--dev-python/fastapi-sso/metadata.xml9
-rw-r--r--dev-python/fastmcp/fastmcp-3.2.4.ebuild11
-rw-r--r--dev-python/greenlet/Manifest1
-rw-r--r--dev-python/greenlet/greenlet-3.5.3.ebuild47
-rw-r--r--dev-python/griffelib/Manifest1
-rw-r--r--dev-python/griffelib/griffelib-2.0.2.ebuild3
-rw-r--r--dev-python/griffelib/griffelib-2.1.0.ebuild50
-rw-r--r--dev-python/httplib2/Manifest1
-rw-r--r--dev-python/httplib2/httplib2-0.32.0.ebuild54
-rw-r--r--dev-python/httpx2/Manifest1
-rw-r--r--dev-python/httpx2/httpx2-2.5.0.ebuild104
-rw-r--r--dev-python/icoextract/Manifest1
-rw-r--r--dev-python/icoextract/icoextract-0.3.0.ebuild41
-rw-r--r--dev-python/icoextract/metadata.xml12
-rw-r--r--dev-python/ipython/Manifest2
-rw-r--r--dev-python/ipython/ipython-9.15.0.ebuild146
-rw-r--r--dev-python/jinxed/Manifest1
-rw-r--r--dev-python/jinxed/jinxed-2.0.4.ebuild22
-rw-r--r--dev-python/jiter/jiter-0.15.0.ebuild2
-rw-r--r--dev-python/joserfc/Manifest2
-rw-r--r--dev-python/joserfc/joserfc-1.7.1.ebuild32
-rw-r--r--dev-python/json-repair/Manifest1
-rw-r--r--dev-python/json-repair/json-repair-0.61.0.ebuild45
-rw-r--r--dev-python/json-repair/metadata.xml9
-rw-r--r--dev-python/libpass/Manifest (renamed from dev-python/passlib/Manifest)1
-rw-r--r--dev-python/libpass/libpass-1.9.3.ebuild (renamed from dev-python/passlib/passlib-1.9.3.ebuild)1
-rw-r--r--dev-python/libpass/metadata.xml (renamed from dev-python/passlib/metadata.xml)0
-rw-r--r--dev-python/lupa/Manifest1
-rw-r--r--dev-python/lupa/lupa-2.8.ebuild73
-rw-r--r--dev-python/lupa/metadata.xml9
-rw-r--r--dev-python/nest-asyncio2/Manifest1
-rw-r--r--dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild22
-rw-r--r--dev-python/opentelemetry-semantic-conventions-ai/Manifest1
-rw-r--r--dev-python/opentelemetry-semantic-conventions-ai/metadata.xml9
-rw-r--r--dev-python/opentelemetry-semantic-conventions-ai/opentelemetry-semantic-conventions-ai-0.5.2.ebuild34
-rw-r--r--dev-python/passlib/files/passlib-1.7.4-bcrypt.patch21
-rw-r--r--dev-python/passlib/passlib-1.7.4-r5.ebuild85
-rw-r--r--dev-python/pydocket/Manifest1
-rw-r--r--dev-python/pydocket/pydocket-0.21.1.ebuild12
-rw-r--r--dev-python/pydocket/pydocket-0.22.0.ebuild74
-rw-r--r--dev-python/pypiserver/pypiserver-2.4.1.ebuild2
-rw-r--r--dev-python/pyrefly/Manifest4
-rw-r--r--dev-python/pyrefly/pyrefly-1.1.0.ebuild8
-rw-r--r--dev-python/pyrefly/pyrefly-1.1.1.ebuild (renamed from dev-python/pyrefly/pyrefly-0.64.1.ebuild)305
-rw-r--r--dev-python/rebulk/Manifest1
-rw-r--r--dev-python/rebulk/rebulk-4.1.0.ebuild22
-rw-r--r--dev-python/sqlglot/Manifest1
-rw-r--r--dev-python/sqlglot/sqlglot-30.12.0.ebuild53
-rw-r--r--dev-python/syrupy/Manifest2
-rw-r--r--dev-python/syrupy/syrupy-5.3.4.ebuild34
-rw-r--r--dev-python/tables/files/tables-3.11.1-blosc2-3.1.patch17
-rw-r--r--dev-python/tables/tables-3.11.1-r1.ebuild84
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.19.13.ebuild123
-rw-r--r--dev-python/typer/Manifest1
-rw-r--r--dev-python/typer/typer-0.26.8.ebuild71
-rw-r--r--dev-python/uv-build/Manifest1
-rw-r--r--dev-python/uv-build/uv-build-0.11.25.ebuild99
-rw-r--r--dev-python/uv/Manifest2
-rw-r--r--dev-python/uv/uv-0.11.25.ebuild163
-rw-r--r--dev-python/vcsgraph/Manifest3
-rw-r--r--dev-python/vcsgraph/vcsgraph-0.3.2.ebuild40
71 files changed, 1923 insertions, 342 deletions
diff --git a/dev-python/ast-serialize/Manifest b/dev-python/ast-serialize/Manifest
index 5047d289094d..e519d166ebba 100644
--- a/dev-python/ast-serialize/Manifest
+++ b/dev-python/ast-serialize/Manifest
@@ -2,6 +2,8 @@ DIST aho-corasick-1.1.4.crate 184015 BLAKE2B 088766e505a828a221a9bca29cb1833ac39
DIST anyhow-1.0.100.crate 54059 BLAKE2B 3089cd4bac1a3ede11c5849fabf12735392ba2910f5d5c1117cbbc9fe2491855745879690522988ac343e210783f8d885f13593b4d0f3a3816b9a8c35ef2eb7d SHA512 1f0c072aab9490d68db3783f078c6f8a4d96360908fc6ee3e971b02fb72b9dd5e689dd385f0e93388a87e0dfbd8cff0e14a280b40d55f87646f3c0e558e779ca
DIST ast_serialize-0.3.0.tar.gz 60689 BLAKE2B 2e9a24fac3e93f4fbfae71f43d4c1f0c57639cb5458c468b63080c0f05a8e5104341c0029923449570bd6d2e4c06781a78db9c3b88239a1104c1a859b840e21a SHA512 70dc9086b98ada79a580383b116077fa2bc5ef802a7f6724c5b3cb4d1e38e3dd0607f1a90a9de30d86ae8f3f4142b1ea612d806d660f6ccd1abf88b03bce0d6a
DIST ast_serialize-0.3.0.tar.gz.provenance 9561 BLAKE2B 345dcda6151e9cd50356ee41878ac3711620d22ea9d8dd232d25068cad94e680eaa7c278b5d383e7c168cfb59ef5a7970fa73b3808386eebc13b9bf8301f4b62 SHA512 023110d6b7d86eadd1dedda8ba75358d91ba9269ea96e52d56f758ced0614d7aeaa7602cae4779e1ad625364d0726201bff36d2eb7faf522bf51af403bd15a5e
+DIST ast_serialize-0.5.0.tar.gz 61157 BLAKE2B f5f41914edda1f256d5563517326e518ce672c6305cfe4e3dc41719f080b07e2db4534b30d855deaa9086e605eb85ea84d9a756d59ddeca7058faf6be70e0cca SHA512 7f8155e1e443ede04f73f0655bb522aa27aebffcc5a78ab3639fb7ccc215950caaeab5f04a657e2112485eb196db65f170acddbcd14dbd731d5ac232911cbed0
+DIST ast_serialize-0.5.0.tar.gz.provenance 9812 BLAKE2B e4be61a606cc9bac3bde8c27424f34c2418312c126245a852a16a583517046041953332b78c9cbfe30045b7f4b76b29dc0b441e3acfd0b625690fe723d1efc19 SHA512 a97ae0b7e8f2e9be0e1672e221282139d18e6380b70f2b86aea31ba8d112387f6a83ff751af67cb9e4016e0f978461d3f2f90868af907c685dd5810656a52f35
DIST attribute-derive-0.10.5.crate 23575 BLAKE2B 6071dc36a01725c57cded0271a609692399c1275180ee75d8279afd70daa9a1263b08f77fe3a9d87cc37a87c08dce2afba149800b1575fc96505ee40f9b6f3d1 SHA512 0c08d98f3ec480e4ac7fa6557726a40823c11164bce351da07cd976acc34b2493a55c9908798a6bdb6a5056223a443f6e2cbd38351493672c8faba8212b645a0
DIST attribute-derive-macro-0.10.5.crate 10058 BLAKE2B 24bea4907594a2e5a82d553ee7db450b68f097dea6cc1e4f85cea854c0a8235514ad22fc62ac85ff3902e39bdbe0dc9a5e5d87fc992134c1c79cbebe03bc4e86 SHA512 19c344bebcc99469deb292c6bb2b8542b3095617498f081ada711406d6acc41d0a4264181e2ccd3489166aebf50895cdc72a06d2a29d6c5dc260f2fecd65aacd
DIST bitflags-2.10.0.crate 48427 BLAKE2B 238a6da813eb2c5541ad470b97b9cf6ad8004095d2a8e865b88eb2301290b7bda22e5b062ba66a04ff0f3108a84d4799af0786b76f785fb5782bd847876549c9 SHA512 6fcdaf250ca6e74b65ecba755d62c3e78f6c02ce1a9562a3b17bb2d6068a0df480ad9c838ce427dc2d2869a9dd1f86f2fb1dc1e50a114def77fd24154b2b86b0
@@ -19,12 +21,16 @@ DIST either-1.15.0.crate 20114 BLAKE2B 2f87cb6408b1e1a15ea19d930cfca3948d867d268
DIST equivalent-1.0.2.crate 7419 BLAKE2B 7ce4fb7b911961cd4ccfb48323eea4952110a069789c6bd177a63391c270df861afadd00c07db7b22768f0864f320e429e0200c433284f528336e2f81d071eff SHA512 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
DIST get-size-derive2-0.7.4.crate 8837 BLAKE2B 8ced36e88b77a60e849bfd4cdc62e2bf54499c80ae574670be91c90a0fb09984891cfe13065319360ef74763eef3008033b4e7a24d72b56a31c59c7bc85ae8a6 SHA512 365e0309fefc767c53301354a7b5e38f5f8bd93688c0c49aacedd464c85a2355906f3875210b362f69b0d9a8f7ae73c18c507244446dcd1fe60c4e9b23731f92
+DIST get-size-derive2-0.8.0.crate 8769 BLAKE2B 0f909435f85b3b23308730998db4866e759907827ffc2b4d0e85c49cb015b0253456f8f380255b8a27028a68226522f76e83c71b1c0d66ba912d874384960f0a SHA512 dd5b6a83394a4e380b9c24dd96d5d9049825e32f8d8536da7a47aea084d1d1d456f8d6fdf01e0166640d603e75686711882b4c1175d7525dcd13b6da5696ba3e
DIST get-size2-0.7.4.crate 21463 BLAKE2B b316512f448406d34d749449de2a81068745cd24f34c57d352eead6ffccac3cd97d25218c681a43925e5c416d3bc9821067ca54c4b00b14480e8eca6930f6a4c SHA512 11cd64fd88f5059c334e434287c00ee60f251195084b99aba21dde774ba6b71e2cb80ab0a51f0c7318fe21afb50b52d92e4f9d6465812955793aca529222c8f5
+DIST get-size2-0.8.0.crate 22296 BLAKE2B a22ad12a801d064af6670e805fd5dd87832e868d7a228a0abe52a8230d63e95efafff4fc28c1f99186bd10195b4c4b6f51a8e599b4b36b6c79dc183b53c89188 SHA512 b4de3a363572b7ec8638f220e11b801dfce1ca0f5955201aa7ac04dec11b7887a2b0f0334c8f256be06b0af76a2b0224be0aff07fdf6e1eb31d15966ea85d0e8
DIST getopts-0.2.24.crate 21467 BLAKE2B e5468cb141bc8be43ec84606c873fa6e16a49e902e247f7c38a08c6e8088d36964d99b41ae3a98a5350cd8fd15ee8d46762b818c79d1198c0aed576de191b640 SHA512 3b0fd721340f732d3ed3dee38c61a46d83c920d24d96fdc780927c2a02fb9a6910eca4caa57db83d500d76bfb0e7f424a166204fcc4c5a4d87ca3ed30008f5aa
DIST getrandom-0.2.17.crate 40780 BLAKE2B 49168490a12561828bb324273c1a2dcb98017577f8500fe08a8bb7c3accc37afdc459af264da7b95a4608e53c4edf8fcec3cb240741b2ee7b128012fab975ede SHA512 23033dde606eaeacc0557e21b3c5ef732e083b17ae086dc95ac7d1a8bc1b695a9a6a7073b8ae774ec62e7477a8ea0644d417fa5da7841a3c8118694c21813d1a
DIST hashbrown-0.16.1.crate 147785 BLAKE2B c506e64340b65fb462545c52e85a192b21e33025c91adf1d8255e799e8a5743814c60be971db56c0b9b1208dff8147ed4a28d8e37caf8f5646fd367d8d0bc9d7 SHA512 0739f1b2101488f88778e221d86738ce557b8ae12470e2a4444099eb90d876382030d00e789dd4ee44dcd7833a87a6e570fa11ba5823beb1cab3a56784ec2669
+DIST hashbrown-0.17.1.crate 155512 BLAKE2B 748d3658bf40d6905b47f695e64b70a0c506b9fb0207e023cd50448d5febe92bcbdf19ad8b9be7588f12dad2aba82eab4c8a7a1815adf0a00e17c39f6188f4c6 SHA512 4b6a5a76ec2f020fe34cfa5f5bf4b518ab7d278ece657804663972b6a5ebd64f775bd75d229b7e202702bed9d5b63ddef4de6e274fafe3129809791c6802526a
DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indexmap-2.13.0.crate 102206 BLAKE2B 7f3d070b645741f5960647f64759840b1941c1e28f61ee04d44d7eba0d8f600949cf139bec5fddb1507e4d5a9e12fb709a16415aa014eaff8f5e87cce41a9394 SHA512 f5efe0010603a3f1da8955f5f97c9a39e4d2c5042c0829c057ad739687d990c100d1276022dec23e7cd70efecceca07ad735693bd8a1b21b507b8892110198ad
+DIST indexmap-2.14.0.crate 104085 BLAKE2B 828d8eede906c2908baecac840757ca8795587a552cc9dbcccde89a3b81444d99395670fd71404c33033aa5a1b905ed0621fc39236024c8b8b385e5d29ca6b5e SHA512 fa6bcaaf1b9bacabc72ae9d0569065325a6741b9ba5dff168ada6ece460175be47741d906d9326b48d30f6c55805d33fb64bfb497490482b4e412ac15a8ea55f
DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73
DIST interpolator-0.5.0.crate 29578 BLAKE2B 2c6522b4c0affb8cfd72927088eca1e2a533ff71ffad5bb335491ed5035ff1c42273ebe17eca48dad802c34691d328c46cc7f464ab43fed17409c8c2e0ac5dd0 SHA512 4e7cf0c077d2b7079113d5002d0157be3b801f72baca32f0255de7d8ad5d9ad5171d429e084a2760f8174ec2dd4463c50efea340cb5660a50c191e219919f8dc
DIST is-macro-0.3.7.crate 9060 BLAKE2B 2035633418156c187a58c308ee8ce9f184c0334b3e5a46af1377e05274be11e5c43df2b4ab2805343431a1e60296f12dad74d14099805f7ebc88886c7c885cfb SHA512 3b56dc6a95566711dac83c0b890b53ef86d9ea8ae6f2f51d8ae7b799f4daea372c353ed0a0429c35342934d4d71609194506782714d7816c6bb97cb4a4c87b5b
@@ -37,6 +43,7 @@ DIST manyhow-macros-0.11.4.crate 5162 BLAKE2B 637cf03d0c02eb7ea01ea8c29f83ac61d9
DIST memchr-2.7.6.crate 97616 BLAKE2B 3429786e97f1aa078892e417c8ed8198ec727969517309049b842e44097e58038583508aa974e6246888c18e11f9d23863c1bb012b542c5685250fe34e250d7b SHA512 38843817334da88ad74ce679b4401cf948cf8138815f3acc5eb0d005da3aabceb2216e20887e79344396569a2fa136e3aa1f7f3251a00d07dd6934cee79f4fad
DIST once_cell-1.21.3.crate 34534 BLAKE2B 3578aaef305cad2fdffdc40c392775a3540bfab3f3aeafd22466d9507bf8346b9fcc200929d48525b051070c0aaa423ecbcaa12868b34dca007991effb224166 SHA512 32a87506c6f4598f3ca2c88556014ef2093d5db9a08602335e847caa537a866492fa74c894e7e1da2e4289a1d3dbffcb90a9e37a4a1453203832f434b8206990
DIST ordermap-1.1.0.crate 70379 BLAKE2B 235d137ee63a22246afbbe548252d5fdedd4acb27ceea2b1ee63d3a625d10a80c0abcb121803515d1c9a92ebdae444725d3f6eff2546bc01f08788766b9ce8c1 SHA512 d462ab7b06b8b9578f26adb1fb203a452b84a1375ebbd7f4cccd85790f0a7fdc6b0ec71a233098130eee6cfb1505dcad27320fedeeb07d2abe6a33d4ad1a3bd3
+DIST ordermap-1.2.0.crate 70410 BLAKE2B 8480757700f887a649d4c3be20ce36a807594c06eeec9007e109b5603ca512088d9ff515d1452523c118ffe8b47964f19818107a87119040833f42fe051a5701 SHA512 2cebc637d738b6c432c290e0a9cd28ecb0d75491f591e8e629b9c8cc497f153164e89ab3bca01282a26196a4263965cea6583996b36f8604f62485f40d785bef
DIST phf-0.11.3.crate 23231 BLAKE2B 588ff9dfc05a3d2cbe223d97c36c8a596d89cd421b568a0526992a089958e4b4ae8f7d33b3f15cf935d20bffea8f60d39ef2d2e1904101f285ca9b8b8155ecb0 SHA512 20a834481bc43ac8c560b00e337294d3c14d1fe359e7f78ed08166b096305e40277f4cd3c179a740911b5c241aeb4e263afa1a50d37f383ef63da113bd6270a9
DIST phf_codegen-0.11.3.crate 13741 BLAKE2B 88b6f0c206a95945c115401a30ba1bbf6a74e3acd4458f892fcd1eae5312765ed4e17272a814b6242240b97cc0d4eaedbf8c1c37a090d9aeda6ab23bd2280e78 SHA512 e86c3b73de198aa0ac67beb6eeebb88865f77d075b9d7f290eb9b73bfdd6728d9479f796d56e4f3358226ee88b877d848017cd951a14804534e4cb656eed209e
DIST phf_generator-0.11.3.crate 15431 BLAKE2B 0c8fa88e391141d36d6f128fdc3708a87e34ebd56e201ad56d62de8c05e9bff62258dd7f3a03b432ddcbd83c4f61fb9a57d93574a9f9a68e931720733ecfe1c6 SHA512 52998e20648b6ecd1eaafa407f7da4667fa829d48fe0c9f8f718377cc86a232a6261fc2f831ffc7051b62dbdb880654b1207ac314e57b23d2b70f634d07c2115
@@ -58,6 +65,7 @@ DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST regex-automata-0.4.13.crate 625250 BLAKE2B e8682eff5df93737430a783cd913265dd45a9692fc4623a956557cd7d6553f34eff731f6f3ec5fed5c0dc6b7f8f31236203ad9f459a998fede053d990d9faea6 SHA512 f76939dc573a88d17b4cf37fedfcdf95202171ca8607374a5c2bcdc515abd1ef9231376175c6cf11cc567eddda34e0c5f90ed1c592f2c5efbd1dee883954a932
DIST ruff-5e4a3d9c3b381df20f6a52caef0f56ed0ebc74be.gh.tar.gz 11167684 BLAKE2B 89a5f63b0ad4a2886727fe00c3328d6540eb7b9c6b1b7c23a5c2347819a04695ae8ce79038f89f8b0c4f2b79972f1caba5f2f656b88eebb3a273d24b4106f700 SHA512 34911547e2eecb3dfe9b6170645628c9f15f34c3b35e62910918678db98ff0249f432265edb57b2b19e3132bc225373e85cd30391287c3295032a72eb4e1c552
+DIST ruff-66f93cf7ed4d36325f35a452e4afa28268fbcd28.gh.tar.gz 11513527 BLAKE2B e9138107582b4e364ff180104066169c860959845950f3b57d537f9054dee70b06b57218a93c930b87c3d6e019ba8436805134eb3a739051275153e066514144 SHA512 a6d868f6afbeab1a4dc261cd9c43df5114311747cec1cba265421da5934123e13fb98b87231b4632e0372d9d98fa890b13b7ad8b6817c5e132ad6d9868411561
DIST rustc-hash-2.1.1.crate 14154 BLAKE2B 7a1b3b82bbbf6a123512815c3e8f068a17890cbbb8b68e88a5a492f62469942fadd776207eebd913052a1c06e1fd37a549e86526b9fc8f08b9ca7cb0044ac16b SHA512 87097d98d47f327d000041ab13acddc366f1500d9c3e5c82169c3358112c7a7c03701c9b3c2c81d9f9da65b7ebac1c479b179dfaf7c059cd0b929b4673e51084
DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15
DIST ryu-1.0.22.crate 51321 BLAKE2B 1d575969b18e385b9805ada6d5acdeb1d1fb306da425b10378d13ecd619553d9cd07b9e134cb46d11ab956a19690c066ffd50848f713c63602a0fc20a885419d SHA512 542a991b438de374a8377dcc1501e55d919d480d3a0503097c24710472adca732c4de4f1e623b28b67763ab425aa8e234080a5abf222b5ead77a9352f617c2fa
diff --git a/dev-python/ast-serialize/ast-serialize-0.5.0.ebuild b/dev-python/ast-serialize/ast-serialize-0.5.0.ebuild
new file mode 100644
index 000000000000..dccc2c121955
--- /dev/null
+++ b/dev-python/ast-serialize/ast-serialize-0.5.0.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYPI_VERIFY_REPO=https://github.com/mypyc/ast_serialize
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.93.0"
+CRATES="
+ aho-corasick@1.1.4
+ anyhow@1.0.100
+ attribute-derive-macro@0.10.5
+ attribute-derive@0.10.5
+ bitflags@2.10.0
+ block-buffer@0.10.4
+ bstr@1.12.1
+ castaway@0.2.4
+ cfg-if@1.0.4
+ collection_literals@1.0.3
+ compact_str@0.9.0
+ cpufeatures@0.2.17
+ crypto-common@0.1.7
+ derive-where@1.6.0
+ digest@0.10.7
+ either@1.15.0
+ equivalent@1.0.2
+ generic-array@0.14.7
+ get-size-derive2@0.8.0
+ get-size2@0.8.0
+ getopts@0.2.24
+ getrandom@0.2.17
+ hashbrown@0.17.1
+ heck@0.5.0
+ indexmap@2.14.0
+ indoc@2.0.7
+ interpolator@0.5.0
+ is-macro@0.3.7
+ itertools@0.14.0
+ itoa@1.0.17
+ libc@0.2.180
+ log@0.4.29
+ manyhow-macros@0.11.4
+ manyhow@0.11.4
+ memchr@2.7.6
+ once_cell@1.21.3
+ ordermap@1.2.0
+ phf@0.11.3
+ phf_codegen@0.11.3
+ phf_generator@0.11.3
+ phf_shared@0.11.3
+ portable-atomic@1.13.0
+ ppv-lite86@0.2.21
+ proc-macro-utils@0.10.0
+ proc-macro2@1.0.106
+ pyo3-build-config@0.28.2
+ pyo3-ffi@0.28.2
+ pyo3-macros-backend@0.28.2
+ pyo3-macros@0.28.2
+ pyo3@0.28.2
+ quote-use-macros@0.8.4
+ quote-use@0.8.4
+ quote@1.0.44
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ regex-automata@0.4.13
+ rustc-hash@2.1.1
+ rustversion@1.0.22
+ ryu@1.0.22
+ serde@1.0.228
+ serde_core@1.0.228
+ serde_derive@1.0.228
+ sha1@0.10.6
+ siphasher@1.0.1
+ smallvec@1.15.1
+ static_assertions@1.1.0
+ syn@2.0.114
+ target-lexicon@0.13.5
+ thiserror-impl@2.0.18
+ thiserror@2.0.18
+ tinyvec@1.10.0
+ tinyvec_macros@0.1.1
+ typenum@1.19.0
+ unicode-ident@1.0.22
+ unicode-normalization@0.1.25
+ unicode-width@0.2.2
+ unicode_names2@1.3.0
+ unicode_names2_generator@1.3.0
+ version_check@0.9.5
+ wasi@0.11.1+wasi-snapshot-preview1
+ zerocopy-derive@0.8.33
+ zerocopy@0.8.33
+"
+
+declare -A GIT_CRATES=(
+ [ruff_python_ast]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_python_ast'
+ [ruff_python_parser]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_python_parser'
+ [ruff_python_trivia]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_python_trivia'
+ [ruff_source_file]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_source_file'
+ [ruff_text_size]='https://github.com/astral-sh/ruff;66f93cf7ed4d36325f35a452e4afa28268fbcd28;ruff-%commit%/crates/ruff_text_size'
+)
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings for mypy AST serialization"
+HOMEPAGE="
+ https://github.com/mypyc/ast_serialize/
+ https://pypi.org/project/ast-serialize/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/ast_serialize/ast_serialize.*"
+
+src_unpack() {
+ pypi_src_unpack
+ cargo_src_unpack
+}
diff --git a/dev-python/autobahn/autobahn-24.4.2.ebuild b/dev-python/autobahn/autobahn-24.4.2.ebuild
index d89eb296ef4d..1ced7f889867 100644
--- a/dev-python/autobahn/autobahn-24.4.2.ebuild
+++ b/dev-python/autobahn/autobahn-24.4.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2025 Gentoo Authors
+# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -48,7 +48,7 @@ BDEPEND="
>=dev-python/pytrie-0.4[${PYTHON_USEDEP}]
>=dev-python/cffi-1.14.5[${PYTHON_USEDEP}]
>=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}]
+ >=dev-python/libpass-1.7.4[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
@@ -112,7 +112,7 @@ pkg_postinst() {
optfeature "TLS transport encryption" \
"dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/qrcode dev-python/service-identity"
optfeature "WAMP-SCRAM authentication" \
- "dev-python/cffi dev-python/argon2-cffi dev-python/passlib"
+ "dev-python/cffi dev-python/argon2-cffi dev-python/libpass"
optfeature "native SIMD acceleration" "dev-python/cffi"
python_foreach_impl twisted-regen-cache
diff --git a/dev-python/burner-redis/burner-redis-0.1.7.ebuild b/dev-python/burner-redis/burner-redis-0.1.7.ebuild
index 52039f2c7269..23853fb051eb 100644
--- a/dev-python/burner-redis/burner-redis-0.1.7.ebuild
+++ b/dev-python/burner-redis/burner-redis-0.1.7.ebuild
@@ -99,6 +99,12 @@ LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
+BDEPEND="
+ test? (
+ dev-python/redis[${PYTHON_USEDEP}]
+ )
+"
+
EPYTEST_PLUGINS=( pytest-asyncio )
distutils_enable_tests pytest
diff --git a/dev-python/cloup/Manifest b/dev-python/cloup/Manifest
index 8a308fff6e90..89e0adc80bd7 100644
--- a/dev-python/cloup/Manifest
+++ b/dev-python/cloup/Manifest
@@ -1 +1 @@
-DIST cloup-3.0.9.gh.tar.gz 226131 BLAKE2B 9195cff3686b70b1152b610a1725831b41c6a524db0d14d47ba9e3de030133dd3367d3044dad18f9154943378c2c295b5ba24d4e00b2f287c83f9d81f71a7331 SHA512 eb4c4226d841b4f1d51a588ff38a70b290277668cb8a14aa95e950d9fb713788e4baeac93c22f4c76c8adf003f0b274f341ed9cd0e24da3cb197c37008c6403a
+DIST cloup-3.1.0.tar.gz 230167 BLAKE2B ad570f7d3149c6d8f09910cb9fbd17240f043d19d2ae1754ea5d27e5b1e7c0b97256aed999ccc2877b0b56b3215fb5286ed6a705fc9766c321cd3f07b394db85 SHA512 949ef0a65219db3dd90667d561f5ba499631f8b9fe1aab4ad90f0431ed80183477883176175b4904fd35b02cb30ed888aa009dcf5081ec7d51c6ac00a7ccd9e1
diff --git a/dev-python/cloup/cloup-3.0.9.ebuild b/dev-python/cloup/cloup-3.0.9.ebuild
deleted file mode 100644
index 4c58510bdd1d..000000000000
--- a/dev-python/cloup/cloup-3.0.9.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1
-
-DESCRIPTION="Click + option groups + constraints + aliases + help themes + ..."
-HOMEPAGE="https://github.com/janluke/cloup https://pypi.org/project/cloup/"
-SRC_URI="https://github.com/janluke/cloup/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DOCS+=( CHANGELOG.rst CREDITS.rst LICENSE examples )
-
-RDEPEND="
- >=dev-python/click-8.0[${PYTHON_USEDEP}]
- <dev-python/click-9.0[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-# doc? (
-# dev-python/sphinx-autoapi[${PYTHON_USEDEP}]
-# dev-python/sphinx-panels[${PYTHON_USEDEP}]
-# dev-python/sphinx-copybutton[${PYTHON_USEDEP}]
-# dev-python/sphinx-version-warning[${PYTHON_USEDEP}]
-# dev-python/sphinx-issues[${PYTHON_USEDEP}]
-# )
-
-distutils_enable_tests pytest
-# distutils_enable_sphinx docs # The doc need dev-python/sphinx < 5, which we don't have
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/cloup/cloup-3.1.0.ebuild b/dev-python/cloup/cloup-3.1.0.ebuild
new file mode 100644
index 000000000000..914fe343e877
--- /dev/null
+++ b/dev-python/cloup/cloup-3.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library to build command line interfaces based on Click"
+HOMEPAGE="
+ https://github.com/janLuke/cloup
+ https://pypi.org/project/cloup/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DOCS=( README.rst CREDITS.rst examples )
+
+RDEPEND="
+ >=dev-python/click-8.1.0[${PYTHON_USEDEP}]
+ <dev-python/click-9[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+distutils_enable_sphinx docs \
+ dev-python/furo \
+ dev-python/sphinx-autoapi \
+ dev-python/sphinx-copybutton \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-panels
+
+python_prepare_all() {
+ # Avoid unnecessary and unpackaged sphinx-version-warning
+ sed '/versionwarning.extension/d' -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/fastapi-sso/Manifest b/dev-python/fastapi-sso/Manifest
new file mode 100644
index 000000000000..967c6baa89fe
--- /dev/null
+++ b/dev-python/fastapi-sso/Manifest
@@ -0,0 +1 @@
+DIST fastapi-sso-0.21.1.gh.tar.gz 144609 BLAKE2B f413b83837d1ad13c98fd72a62cab99288a9bf38f0bf2a009800cc67194c320a11381777f97b07d78600b557d0f7c8ab03a7d22a1e0f3b0797864d7457fe8a15 SHA512 39df96ca46b919d9d176a1c5242d97432019a698648856866e7d226440166aeac63960e2afa2675542079feff6197532e64b4ddbdd69ec462ef7c1742c56b256
diff --git a/dev-python/fastapi-sso/fastapi-sso-0.21.1.ebuild b/dev-python/fastapi-sso/fastapi-sso-0.21.1.ebuild
new file mode 100644
index 000000000000..733ae6ea61e6
--- /dev/null
+++ b/dev-python/fastapi-sso/fastapi-sso-0.21.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="FastAPI plugin to enable SSO to most common providers"
+HOMEPAGE="
+ https://github.com/tomasvotava/fastapi-sso
+ https://pypi.org/project/fastapi-sso/
+"
+SRC_URI="
+ https://github.com/tomasvotava/fastapi-sso/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64" # ~arm64: fastapi
+
+# strictly >=pydantic-1.8.0; raised to 2.0.0 for email-validator-2.0.0
+RDEPEND="
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/fastapi-0.80[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.10.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-asyncio-0.24[${PYTHON_USEDEP}]
+ >=dev-python/uvicorn-0.23.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e '/--cov/d' pyproject.toml || die
+}
diff --git a/dev-python/fastapi-sso/metadata.xml b/dev-python/fastapi-sso/metadata.xml
new file mode 100644
index 000000000000..20f07fe1573a
--- /dev/null
+++ b/dev-python/fastapi-sso/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/fastmcp/fastmcp-3.2.4.ebuild b/dev-python/fastmcp/fastmcp-3.2.4.ebuild
index 8a3f87cd3fcc..c2d40895ba44 100644
--- a/dev-python/fastmcp/fastmcp-3.2.4.ebuild
+++ b/dev-python/fastmcp/fastmcp-3.2.4.ebuild
@@ -97,3 +97,14 @@ EPYTEST_IGNORE=(
# requires node module @modelcontextprotocol/conformance@latest
tests/conformance/test_conformance.py
)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # raise timeouts for slower CI systems
+ # https://bugs.gentoo.org/977930
+ sed -i -e 's/@pytest.mark.timeout(15)/@pytest.mark.timeout(60)/' \
+ tests/client/test_stdio.py || die
+ sed -i -e 's/INIT_TIMEOUT = 3/INIT_TIMEOUT = 10/' \
+ tests/client/test_stdio.py || die
+}
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index 278f9601f82b..aab0b2187e58 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -2,3 +2,4 @@ DIST greenlet-3.4.0.tar.gz 195913 BLAKE2B d3c07b1606315d99d401a874fedd290c0ce3eb
DIST greenlet-3.5.0.tar.gz 196995 BLAKE2B 1fd1ffd254cffc7eb858657ba75541bb289014ed05304afaa17556a41582fe3e5dd761784a5ba6e44d1c7e207fe6a674175477e8d7359feebda71c1731cd9659 SHA512 472b09d9f08d60ba1a4885ac678fd448b8e612d3553d712646e92b7e12cbe238ca6162c8809fedbb8a702603713d6f60650786e4db6ccabdbe454d067604c990
DIST greenlet-3.5.1.tar.gz 197356 BLAKE2B 3f227db8357e65b304ccd538046743ef6a5df18d390fb50dc5bdb419c039f9948fc228a6f60e4639507fd9b50be81e624b575eccd9adce694e18aae1aa89eb7f SHA512 b81fd3a55655457356c5087a5cb109fb5ef3d0ea7daf0a1bdfcb24772fecca50932c8c548d5edf6f36e5d980d9dfeb3ae1323aaa05d19d781b2b47021806d930
DIST greenlet-3.5.2.tar.gz 199243 BLAKE2B 04a81cfc8cf72ddab76c776a247a1eaab2a6af3e0d16affe8b9cd8b9f6dfd48f43be59db2e34a3617661c340a1768541cedbc20a2bb78212ba3af740b93a7f46 SHA512 709402d75fe0054f515722a2db0a0c92386e6598262f9b73346bf00466873056cd7c702320de79c1fa1d7bcdc818a9f974ecb1ab5d27f4ebeb7e1a9a86c43fbb
+DIST greenlet-3.5.3.tar.gz 200270 BLAKE2B cfcda747255fcae1406edaab4b934cf88d12ccf5cfcc81ed7575404ae24444ee763bed47666a5ab9911a6a2a0aa3e82a2e973358163932d600b035e06610635e SHA512 a6c2d188c0edc71e3820baa43f130b87d902c9b4dcc4e1f8bc627c0198266d088d6e9a635ff5c1ad939ee5ac019704c5abd7ecdd73f6e54bf08ccb86518b7fed
diff --git a/dev-python/greenlet/greenlet-3.5.3.ebuild b/dev-python/greenlet/greenlet-3.5.3.ebuild
new file mode 100644
index 000000000000..33588218e841
--- /dev/null
+++ b/dev-python/greenlet/greenlet-3.5.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+
+LICENSE="MIT PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa ~m68k ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # patch cflag manipulations out
+ sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
+}
+
+python_test() {
+ local -x GREENLET_SKIP_LEAKCHECKS=1
+ eunittest greenlet.tests
+}
diff --git a/dev-python/griffelib/Manifest b/dev-python/griffelib/Manifest
index 6bb5c026f78b..380ba834270a 100644
--- a/dev-python/griffelib/Manifest
+++ b/dev-python/griffelib/Manifest
@@ -1 +1,2 @@
DIST griffe-2.0.2.gh.tar.gz 432943 BLAKE2B b726fb17e34e5aa2a4e56f53be47369fca7cac1413394348cd2633ec2b70f554b58d52bc6791d7de98dae84d5740fd51c19548a5bd8aae695eb85fae1317b5ea SHA512 b13ae34a609fdd9ba258226d9d2306d355cabfc19631e0ee022501f635cd1c85b6c6c55432b3be1a29a17e1f36bd461e902f26a0b24ff12f82b1c42d7ac08b6b
+DIST griffe-2.1.0.gh.tar.gz 433747 BLAKE2B 004f5f2a8ecbba479e78bbec1ce035af4df6ede3be4351507942041fb544121b10094b6d596ed32c2a110877526f5966ea85ac29ff578cd1e53d34cccfc5903a SHA512 bc44c550356b80ceb333f6aa866b0fbd6d278fe43f69eb73b355835d2eb1e60c51a5a1c0630a44cdb086a2ffe2e0eb69f919561bbeb12a3ce95196ec40a23034
diff --git a/dev-python/griffelib/griffelib-2.0.2.ebuild b/dev-python/griffelib/griffelib-2.0.2.ebuild
index bd1fe426af84..56a05c58a8bf 100644
--- a/dev-python/griffelib/griffelib-2.0.2.ebuild
+++ b/dev-python/griffelib/griffelib-2.0.2.ebuild
@@ -27,6 +27,9 @@ KEYWORDS="~amd64 ~arm64"
# pdm-backend is used by scripts/get_version.py
BDEPEND="
dev-python/pdm-backend[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ )
"
EPYTEST_PLUGINS=()
diff --git a/dev-python/griffelib/griffelib-2.1.0.ebuild b/dev-python/griffelib/griffelib-2.1.0.ebuild
new file mode 100644
index 000000000000..792d7aa65f74
--- /dev/null
+++ b/dev-python/griffelib/griffelib-2.1.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_PN="griffe"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Signatures for entire Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe
+ https://github.com/mkdocstrings/griffe
+ https://pypi.org/project/griffelib/
+"
+SRC_URI="https://github.com/mkdocstrings/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+S="${WORKDIR}/${MY_P}/packages/griffelib"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# pdm-backend is used by scripts/get_version.py
+BDEPEND="
+ dev-python/pdm-backend[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/jsonschema-4.18[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires mkdocstrings
+ tests/test_api.py
+ # requires griffecli
+ tests/test_git.py
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # docs/schema.json for tests/test_encoders.py
+ ln -s ../../docs || die
+}
diff --git a/dev-python/httplib2/Manifest b/dev-python/httplib2/Manifest
index b9561638800b..d0a85b9b836d 100644
--- a/dev-python/httplib2/Manifest
+++ b/dev-python/httplib2/Manifest
@@ -1 +1,2 @@
DIST httplib2-0.31.1.gh.tar.gz 277455 BLAKE2B 10f488d9a75a1a003d2a3d17d55af640824e7af57fc0005224586851a795e2a73d79e1be5d0ffaaa6a3b9b3bae26db6a0fc83dd009c240276aa61bb629d4e931 SHA512 c5b8ad2685ea7e26ab0b99c3856a64fc81f4986d4d925fee2391f3609abadfd76f1e5974ab3d93244f9b9dbd2260bbc3152842a8b14acb597f5bb998ddc91162
+DIST httplib2-0.32.0.gh.tar.gz 280378 BLAKE2B 504a133af9ade2d9e6fe8506e8ba25e6aeb9381db2f0018357ff341e3fb45993e5f7d99a99737a00cc955afcf5086462ff3a6060930465cbdbc7114e5472e7e4 SHA512 c63e4c1ed24df3bcc353a554b08298eb9d25a908d3f03caca8372169cd22ad17e731a228c2d4c1d66914bccd4713da9f0e5899df177a6ea06e287fd6b7b2f8d6
diff --git a/dev-python/httplib2/httplib2-0.32.0.ebuild b/dev-python/httplib2/httplib2-0.32.0.ebuild
new file mode 100644
index 000000000000..dee928438ee8
--- /dev/null
+++ b/dev-python/httplib2/httplib2-0.32.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+DESCRIPTION="A comprehensive HTTP client library"
+HOMEPAGE="
+ https://pypi.org/project/httplib2/
+ https://github.com/httplib2/httplib2/
+"
+SRC_URI="
+ https://github.com/httplib2/httplib2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="socks5"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ socks5? ( dev-python/pysocks[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-libs/openssl
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pysocks[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{forked,timeout} )
+# note: tests are racy with xdist
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/--cov/d' setup.cfg || die
+ # remove bundled certs, we always want system certs via certifi
+ rm httplib2/cacerts.txt || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # TODO: there is something broken with pytest.mark.forked in pytest>=8.3.3
+ # work around that via --forked for now
+ epytest --forked
+}
diff --git a/dev-python/httpx2/Manifest b/dev-python/httpx2/Manifest
index 11fdf3f7e74a..6d832149447f 100644
--- a/dev-python/httpx2/Manifest
+++ b/dev-python/httpx2/Manifest
@@ -1 +1,2 @@
DIST httpx2-2.4.0.gh.tar.gz 2049043 BLAKE2B ec36c399853c4264bfb8247b770f6ddddecab3de150e75659455820fed1d41758326201684c1ec4adaa4a2e5451fceeba58b4ef0210aed7978e285b750ccf806 SHA512 f6033c1032faa078cb954fc9107a3c34ad46a6ab71ef426048f64147b94bd1737ab80447e5bcceec7c3147fd9ccfdf1b58dbaac5d3b9ab8b9bbb46f9e28617ab
+DIST httpx2-2.5.0.gh.tar.gz 2053138 BLAKE2B 8d436c215dcb47664c41f0b286bfd614e9eef08161a3c534a40bac5e59d5fe57ec51f87ead1498965d13ad41c4939b3a93b2a053ac2a73d0927593aa8cb61a2a SHA512 45cfadee3c884843e595eb8cffb0887fbee98c069d94c1e5c2498e7ac8c90b414c7d4fff2e8ed4a03589b56b605566674f2dd20e22738aa92812795b50c287f3
diff --git a/dev-python/httpx2/httpx2-2.5.0.ebuild b/dev-python/httpx2/httpx2-2.5.0.ebuild
new file mode 100644
index 000000000000..6efa5e47d706
--- /dev/null
+++ b/dev-python/httpx2/httpx2-2.5.0.ebuild
@@ -0,0 +1,104 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+# This package combines httpx2 and httpcore2 (because of exact version pin).
+DESCRIPTION="The next generation HTTP client (Pydantic fork)"
+HOMEPAGE="
+ https://pypi.org/project/httpx2/
+ https://pypi.org/project/httpcore2/
+ https://github.com/pydantic/httpx2/
+"
+SRC_URI="
+ https://github.com/pydantic/httpx2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ dev-python/anyio[${PYTHON_USEDEP}]
+ >=dev-python/idna-3.18[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.16[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+ ' 3.12)
+ cli? (
+ =dev-python/click-8*[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ >=dev-python/rich-10[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/uv-dynamic-versioning[${PYTHON_USEDEP}]
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/h2[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}]
+ ' 3.12 3.13)
+ )
+"
+
+EPYTEST_PLUGINS=( anyio pytest-{httpbin,trio} )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x UV_DYNAMIC_VERSIONING_BYPASS=${PV}
+
+ cd src/httpcore2 || die
+ distutils-r1_python_compile
+ cd ../httpx2 || die
+ distutils-r1_python_compile
+ cd ../.. || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # random HTTP header case mismatch
+ tests/httpx2/test_main.py::test_auth
+ tests/httpx2/test_main.py::test_binary
+ tests/httpx2/test_main.py::test_follow_redirects
+ tests/httpx2/test_main.py::test_get
+ tests/httpx2/test_main.py::test_json
+ tests/httpx2/test_main.py::test_post
+ tests/httpx2/test_main.py::test_redirects
+ tests/httpx2/test_main.py::test_verbose
+ # Internet
+ tests/httpcore2/test_cancellations.py::test_h2_timeout_during_request
+ tests/httpx2/client/test_proxies.py::test_async_proxy_close
+ tests/httpx2/client/test_proxies.py::test_sync_proxy_close
+ # unexpected logs from uvicorn
+ tests/httpx2/test_utils.py::test_logging_request
+ tests/httpx2/test_utils.py::test_logging_redirect_chain
+ )
+
+ local EPYTEST_IGNORE=()
+ if ! use cli; then
+ EPYTEST_IGNORE+=(
+ tests/httpx2/test_main.py
+ )
+ fi
+
+ epytest tests/{httpcore2,httpx2}
+}
diff --git a/dev-python/icoextract/Manifest b/dev-python/icoextract/Manifest
new file mode 100644
index 000000000000..e4b748f78570
--- /dev/null
+++ b/dev-python/icoextract/Manifest
@@ -0,0 +1 @@
+DIST icoextract-0.3.0.tar.gz 56040 BLAKE2B eb3c2030be51c98780fc247532140550b1efb992b2c425e7c911d50a8d6ccf2f9cedbd5efca417ae1390826f23938f64e61a6903f674d28221cbb720d4be5803 SHA512 9fc607edac2184cf655841f5886b9933e723f0bf53cf9d611522f67270231870febfe26e755bfd66e59b6e6970c1609f77c0512a57f5920c5b44d70882c2bc19
diff --git a/dev-python/icoextract/icoextract-0.3.0.ebuild b/dev-python/icoextract/icoextract-0.3.0.ebuild
new file mode 100644
index 000000000000..0c15ee94851d
--- /dev/null
+++ b/dev-python/icoextract/icoextract-0.3.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Icon extractor for Windows executables (.exe/.dll/.mun)"
+HOMEPAGE="https://github.com/jlu5/icoextract"
+SRC_URI="https://github.com/jlu5/icoextract/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pefile[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-util/mingw64-toolchain
+ media-gfx/imagemagick
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+src_test() {
+ emake -C tests
+ distutils-r1_src_test
+}
+
+pkg_postinst() {
+ optfeature "the thumbnailer" dev-python/pillow
+}
diff --git a/dev-python/icoextract/metadata.xml b/dev-python/icoextract/metadata.xml
new file mode 100644
index 000000000000..214ffe5b7164
--- /dev/null
+++ b/dev-python/icoextract/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Pavel Sobolev</name>
+ <email>contact@paveloom.dev</email>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/jlu5/icoextract/issues</bugs-to>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index e3b9bcd591dd..303caeafe623 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -4,3 +4,5 @@ DIST ipython-9.14.0.tar.gz 4432601 BLAKE2B 996998361fc0503d2ef7e6f8928917495f51e
DIST ipython-9.14.0.tar.gz.provenance 9740 BLAKE2B 95418d7244f3c58491752779e9b9012a125004d359e8a1f6f18f89bf12ba6835104147ca7d8d14a02d8303783012b4b1f96e0cd44accb61d2cc0b9a0d5cf09ee SHA512 7d472a1014c1740dc221986bcce831e5632545bad635ed4047cf6225c24eb7b11b762282bea95dcd21391506e581f5f683f803f0abff001f316093843105a346
DIST ipython-9.14.1.tar.gz 4433457 BLAKE2B ea140038e628767dc44fb1cbbab393ae14a3b06f13908957cd8f1790aee82225a31c3f5cc390d87697c00921d995045da6692af4c1beb4d505f9c2e75fc7d4b0 SHA512 1ffdd0ae5640e8f9c50a9f6f490394dfaf0aeb2ccfa0206923773057d45f57f8091ebbd7d33eec1a2a44ed0d7fe5946635556995de88ee19c1caa47e98235c91
DIST ipython-9.14.1.tar.gz.provenance 9787 BLAKE2B 6b6ede8bfb37cee2d9af4d290439a89c40952b6a5a3d49efe6245f5ac01454d377c00823796661fdf248095561f3da81658c069bb3c6e8893954639713356840 SHA512 7d76ae2f9e7a680414d84c76f76e05589d0df5fbbf05f92b6d9d7428d4e377a2972e2ded9a2e23b0c3b25eaf5a829b2cafcec1e8c1bde215edeb4802d7e08258
+DIST ipython-9.15.0.tar.gz 4442580 BLAKE2B b00d3c5f982cee6520c58b8fa134d210844c63067083390fd5c462523154e274575d850664ef196192e511edfd9cbd66fedc878bbd08f588134784ecd888163f SHA512 120f1f42d58e6844bb48073e6f91520c46d3c08a8d5345e310493e29bd7a1abf9ce654beaf2c8abc9f6feb7d9b1d8b5a9538f1e13e3c3d49068e5743163f2d32
+DIST ipython-9.15.0.tar.gz.provenance 9767 BLAKE2B 099f94a81f4237125d58fccded24a97f7bd62094b8eb3f4ee6f8fedaf5a9414740fcbb3f6be1d75ab45d5fbefe40159dcccdf03ec32bacbad18f79629c59d738 SHA512 bafe3c12ca0ebd02dbebdb2f14ad49ef49f33075f889fcb899f68bcccb8f4adf6cf7df8e6949562d7ce9632b2a2305ce0d5bbed4d8f428ae479ada2cd60c3711
diff --git a/dev-python/ipython/ipython-9.15.0.ebuild b/dev-python/ipython/ipython-9.15.0.ebuild
new file mode 100644
index 000000000000..8d7c72a165d5
--- /dev/null
+++ b/dev-python/ipython/ipython-9.15.0.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_VERIFY_REPO=https://github.com/ipython/ipython
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE='readline(+),sqlite,threads(+)'
+
+inherit distutils-r1 optfeature toolchain-funcs pypi virtualx
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="
+ https://ipython.org/
+ https://github.com/ipython/ipython/
+ https://pypi.org/project/ipython/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples gui notebook nbconvert +smp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/decorator-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.18.2[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1.6[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.7[${PYTHON_USEDEP}]
+ >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}]
+ <dev-python/prompt-toolkit-3.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-7[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/stack-data-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ >=dev-python/setuptools-80[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-2.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0.0[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/testpath-0.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-asyncio )
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ gui? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ ' 3.{12..14})
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ # Rename the test directory to reduce sys.path pollution
+ # https://github.com/ipython/ipython/issues/12892
+ mv IPython/extensions/{,ipython_}tests || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
+ local EPYTEST_DESELECT=()
+
+ if [[ $(tc-get-ptr-size) == 4 ]] ; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/ipython/ipython/issues/15107
+ IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorator_from_other_module
+ IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorators
+ IPython/extensions/tests/test_deduperreload.py::DecoratorPatchingSuite::test_method_decorator
+ )
+ fi
+
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed on ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy?
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ # With pypy not an option the dosym becomes unconditional
+ # TODO2: figure out what TODO meant.
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
+
+pkg_postinst() {
+ optfeature "code formatting" dev-python/black
+ optfeature "sympyprinting" dev-python/sympy
+ optfeature "cythonmagic" dev-python/cython
+ optfeature "%lprun magic command" dev-python/line-profiler
+ optfeature "%matplotlib magic command" dev-python/matplotlib-inline
+
+ if use nbconvert; then
+ if ! has_version virtual/pandoc ; then
+ einfo "Node.js will be used to convert notebooks to other formats"
+ einfo "like HTML. Support for that is still experimental. If you"
+ einfo "encounter any problems, please use app-text/pandoc instead."
+ fi
+ fi
+}
diff --git a/dev-python/jinxed/Manifest b/dev-python/jinxed/Manifest
index 86a9163928d9..e31c8622f660 100644
--- a/dev-python/jinxed/Manifest
+++ b/dev-python/jinxed/Manifest
@@ -1 +1,2 @@
DIST jinxed-2.0.1.tar.gz 127988 BLAKE2B d3a376006709e2c391bc474d5d2e23591e05c309ff9b656c0b3fefb7f8462718ff60421726f5f5895049b1715e487a9410c2c9df574e8f0e3f2892505a5f7a0c SHA512 f37085c6830a33546d20f31dc75242d6a86ec1a070b3597692b1d5eda168569492d9d1a0c4f04e5b6e0c18cca90c82ec2c1164bbb5ab05bf552db8ff86d6b2da
+DIST jinxed-2.0.4.tar.gz 135991 BLAKE2B 8cef75c0acddc90c9474ecc2e66ff979752d35d64fdfbdcab4a49171942537daa30218cc044315b2c0c14e494b5c728b70e0198f9fb218aec6dc2ea275131178 SHA512 eb6df36e19ae0a40bc8894cb3332d98beda2ac63daff2a639d4f79a22d09a5f044778148a7447905d9d936a2c431f9cee338b91bfd0cbc911a532ae7634fad35
diff --git a/dev-python/jinxed/jinxed-2.0.4.ebuild b/dev-python/jinxed/jinxed-2.0.4.ebuild
new file mode 100644
index 000000000000..7f2fc766afc9
--- /dev/null
+++ b/dev-python/jinxed/jinxed-2.0.4.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure-Python implementation of a subset of the Python curses library"
+HOMEPAGE="
+ https://github.com/Rockhopper-Technologies/jinxed/
+ https://pypi.org/project/jinxed/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/jiter/jiter-0.15.0.ebuild b/dev-python/jiter/jiter-0.15.0.ebuild
index 8b08e0af63a8..2a35e858eb46 100644
--- a/dev-python/jiter/jiter-0.15.0.ebuild
+++ b/dev-python/jiter/jiter-0.15.0.ebuild
@@ -8,7 +8,7 @@ DISTUTILS_USE_PEP517=( maturin crates/jiter-python )
PYPI_VERIFY_REPO=https://github.com/pydantic/jiter
PYTHON_COMPAT=( python3_{13..14} )
-RUST_MIN_VER="1.87.0"
+RUST_MIN_VER="1.88.0"
CRATES="
ahash@0.8.12
aho-corasick@1.1.4
diff --git a/dev-python/joserfc/Manifest b/dev-python/joserfc/Manifest
index 707a45cb54e3..a1a6ebe8fdf1 100644
--- a/dev-python/joserfc/Manifest
+++ b/dev-python/joserfc/Manifest
@@ -1,2 +1,4 @@
DIST joserfc-1.6.4.tar.gz 231866 BLAKE2B c5da74b036daa54836ed5d1fb0b1767424f49e4b91028eb82a71fb0bc0ffe7a7aab74ec9ffdbe66bc94e6f9a21eea4c3a0a3ea9c46bdc7ee2f698ca2b3973ba3 SHA512 8e55fbb3ed33f99da37769e4d3af62b99ba7ff94f8e70524164fa771da6ca23b6a0fc27a3e15e4c9985f89474a1c37a88ea82072a558bdd946ad609c06defa8d
DIST joserfc-1.6.4.tar.gz.provenance 9446 BLAKE2B d394ab7aeb0a12fb6bf9812f867647225b8269af41abc1001e8c76cace7d7fc3e980226574d42e240b430b505dfe5de782cb96f0694d12a1f6a8e9cb995e9cbc SHA512 4b4f38f21233f69479afb1c4f0dcdbdf85d6a01f283a462e984a663a64fec7f6aae49bc3ed083a2cce63729b16ed57d6c1042d4a771eef2af689000f0e684770
+DIST joserfc-1.7.1.tar.gz 233181 BLAKE2B fe8873119516cfb9ecc935cbd8e957dd56bf2f7624bad4095d4d15b75cc34c4a9c0eb660875fb7e521f7161595ee2fd638f3f47e22835421cacfd5e4fe8cbcb1 SHA512 dd4cdc173cb733e8ce6a114620eae371df7afde4dba27850e0235f79acb9accc7b45fc8e444b80c6b17443a943c93f5bf2c0f770e1d530ffee10d2f91d89d25b
+DIST joserfc-1.7.1.tar.gz.provenance 9298 BLAKE2B 9de763008965bf5aecb213fbd2593bd1a2f39324d529e92e735827f3d4c23e38e484d9cb7fb435a244cef3e6777f09ff830cbc3ee3e2a4b8aa50be1cd37515f8 SHA512 345d5fe176d3ef06329682338acebd59cf6132534f13c37f7fa3e726737a8d2a3d7d91f57cd3b661c13aedaba4a8fc2c6b418f13ff5e45c743c81e912adcbedf
diff --git a/dev-python/joserfc/joserfc-1.7.1.ebuild b/dev-python/joserfc/joserfc-1.7.1.ebuild
new file mode 100644
index 000000000000..b8b5d1a5f15e
--- /dev/null
+++ b/dev-python/joserfc/joserfc-1.7.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/authlib/joserfc
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python library for JOSE RFCs: JWS, JWE, JWK, JWA, JWT"
+HOMEPAGE="
+ https://github.com/authlib/joserfc/
+ https://pypi.org/project/joserfc/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-45.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/json-repair/Manifest b/dev-python/json-repair/Manifest
new file mode 100644
index 000000000000..6a5bf0630aa0
--- /dev/null
+++ b/dev-python/json-repair/Manifest
@@ -0,0 +1 @@
+DIST json-repair-0.61.0.gh.tar.gz 2564244 BLAKE2B 48aa27476104a68a087db8fb4a990644cabc1447780f103c87a45f8bf9663fa05cd8132b5f76578727dd9b6893dd476962e1ff14608ad29ad2880f2213604dad SHA512 8feef307f7b3030a6828c4ffa65f273d8e531d4582cad22cd32e4bceef27f70d4a85ab6a491c9b5b1a8f4e6c60e3c9036c588f601b7c9745f83a17502e8c4a32
diff --git a/dev-python/json-repair/json-repair-0.61.0.ebuild b/dev-python/json-repair/json-repair-0.61.0.ebuild
new file mode 100644
index 000000000000..7a42b021a172
--- /dev/null
+++ b/dev-python/json-repair/json-repair-0.61.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_PN="json_repair"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A package to repair broken json strings"
+HOMEPAGE="
+ https://github.com/mangiucugna/json_repair
+ https://pypi.org/project/json-repair/
+"
+SRC_URI="
+ https://github.com/mangiucugna/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+# mypy is used in tests for type inference
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # pytest-benchmark
+ tests/test_performance.py
+)
diff --git a/dev-python/json-repair/metadata.xml b/dev-python/json-repair/metadata.xml
new file mode 100644
index 000000000000..20f07fe1573a
--- /dev/null
+++ b/dev-python/json-repair/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/passlib/Manifest b/dev-python/libpass/Manifest
index 67c0ac3ae6e4..2d4236e2ca9b 100644
--- a/dev-python/passlib/Manifest
+++ b/dev-python/libpass/Manifest
@@ -1,2 +1 @@
DIST libpass-1.9.3.tar.gz 692901 BLAKE2B b7b19ae4a9e7e2d65062d8d51e11fb8caec1da7bedacf88b9b2114013d2a578e64a5ca195d168982a52f7ca143eea5adbc5b33c955e175b7f2dda07bd93e24a2 SHA512 2581412ed18d3b2953f2679a05ce7158095850fb37e16a744a1c80bd1afbcf2d0852619ff9b06322b38004ff01e0d335cefaecb49cf9552a6a478566067aa0bc
-DIST passlib-1.7.4.tar.gz 689844 BLAKE2B 38f616105ba70cf93cf36383c73f2a4da7bf66ced2844effffe74d9f7c29ee0aece5652974dd1414f16e32fbe6957e2e921cf01bc59daa70195a6d50a4a3bf2f SHA512 350bd6da5ac57e6c266ffe8bf9684c8c2cce3fc6b513eb6c7bc1b302d2d8a1b701e9c01c953782520a2ac37b7ec1f6d7bd5855f99f6ee0e2dbbf33f2d49a9530
diff --git a/dev-python/passlib/passlib-1.9.3.ebuild b/dev-python/libpass/libpass-1.9.3.ebuild
index fc2caba459bb..9e7c6e00e34a 100644
--- a/dev-python/passlib/passlib-1.9.3.ebuild
+++ b/dev-python/libpass/libpass-1.9.3.ebuild
@@ -4,7 +4,6 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYPI_PN=libpass
PYTHON_COMPAT=( python3_{13..14} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/passlib/metadata.xml b/dev-python/libpass/metadata.xml
index 606c1115c64a..606c1115c64a 100644
--- a/dev-python/passlib/metadata.xml
+++ b/dev-python/libpass/metadata.xml
diff --git a/dev-python/lupa/Manifest b/dev-python/lupa/Manifest
new file mode 100644
index 000000000000..f5a7b5ddeb54
--- /dev/null
+++ b/dev-python/lupa/Manifest
@@ -0,0 +1 @@
+DIST lupa-2.8.tar.gz 6156370 BLAKE2B ae0736482d29951480e61c58fcf16f45734ae63851cfb5fe1f0f59a913b9fcf29844ed9b3da69fc158694e71a46a122afb197a75ac0d8b0cb2bc3a0281d4d1a5 SHA512 cd755597635b70fbd37c545011a2203cc0df7a854e1bc1c664e697f1d3c6940f4a1e2df32dbfa0fc409248664ae400303a68763fab1a4b0d1bb20b86feb877c8
diff --git a/dev-python/lupa/lupa-2.8.ebuild b/dev-python/lupa/lupa-2.8.ebuild
new file mode 100644
index 000000000000..66812818ae24
--- /dev/null
+++ b/dev-python/lupa/lupa-2.8.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 lua pypi
+
+DESCRIPTION="Python wrapper around Lua and LuaJIT"
+HOMEPAGE="
+ https://github.com/scoder/lupa
+ https://pypi.org/project/lupa/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+REQUIRED_USE="${LUA_REQUIRED_USE} ${PYTHON_REQUIRED_USE}"
+
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-python/cython-3.2.4[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ mv lupa/tests . || die
+ sed -i "s/lupa.tests/tests/g" tests/test.py || die
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ --no-bundle
+ --with-cython
+ )
+
+ local -a config_items
+ _build_config_items() {
+ local incdir=$(lua_get_include_dir "${ELUA}")
+ local libpath=$(lua_get_shared_lib "${ELUA}")
+ local modname="${ELUA/./}"
+
+ config_items+=(
+ "dict(extra_objects=['${libpath}'], include_dirs=['${incdir}'], libversion='${modname}')"
+ )
+ }
+ lua_foreach_impl _build_config_items
+
+ local IFS=","
+ local configs="[${config_items[*]}]"
+
+ sed -i "s|^configs = get_lua_build_from_arguments()|configs = ${configs}|" setup.py || die
+}
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ EPYTEST_DESELECT=(
+ # not a test case
+ tests/test.py::TestOverflowMixin
+ )
+
+ rm -rf lupa || die
+ epytest tests/test.py
+}
diff --git a/dev-python/lupa/metadata.xml b/dev-python/lupa/metadata.xml
new file mode 100644
index 000000000000..20f07fe1573a
--- /dev/null
+++ b/dev-python/lupa/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/nest-asyncio2/Manifest b/dev-python/nest-asyncio2/Manifest
index bb8a124f5198..fee81e207e51 100644
--- a/dev-python/nest-asyncio2/Manifest
+++ b/dev-python/nest-asyncio2/Manifest
@@ -1 +1,2 @@
DIST nest_asyncio2-1.7.0.tar.gz 13797 BLAKE2B 0c575ea965b49c6f4d4b9b764e2c4595de6fae45d03ad058e93ec01d8f5a25414cbdf6d2c54a08a6644d0cc31836c7809f5e35ebdece60e0919be836524c1e95 SHA512 3bbdbca192ed0dbd9417ba7dff2d39d1729b49ef258a747c2afd8164f3894269267d238f49ea9c8c2df2004c21893ed2c619cba2a424343eeb705b8880bc79e0
+DIST nest_asyncio2-1.7.2.tar.gz 14743 BLAKE2B 556fce95a1ae50b486e41c20a945da10cd570911475e20a8c1a258c0ef657e4cbf4d4a62f3f27f75f02f3dfbd2bc52ddb7d001c8edc8172ac134e80a7d082980 SHA512 8487fd49ff1f21d3c0f89549782f760126c1e1fb9b5c9db0bff6c1a7d4d8c1a945729a79ff7af9543ef58d50c14830aeedaaa6c35f4a2510630fa7a32c9002e1
diff --git a/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild b/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild
new file mode 100644
index 000000000000..91b87c2ab79b
--- /dev/null
+++ b/dev-python/nest-asyncio2/nest-asyncio2-1.7.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Patch asyncio to allow nested event loops"
+HOMEPAGE="
+ https://github.com/Chaoses-Ib/nest-asyncio2/
+ https://pypi.org/project/nest-asyncio2/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/opentelemetry-semantic-conventions-ai/Manifest b/dev-python/opentelemetry-semantic-conventions-ai/Manifest
new file mode 100644
index 000000000000..fbbf628ae99a
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions-ai/Manifest
@@ -0,0 +1 @@
+DIST openllmetry-0.61.0.gh.tar.gz 17449039 BLAKE2B 7e613bfb27a3cfec57871641b1fefe899ae2392625ada49b5fc9972bdeb813fbb70049518775a28a71e9ac8e1b68b9bb06ab8620d8db383ad88451f15c48a4db SHA512 4cf5888dcff966f5c1b86a4c809c6f839d5d1a9cb56bc68bb224119e70e9c718950347cf588920cd896a0bfa150bb12ac3ba29e0f1774bc95a7a6f36eb0b087c
diff --git a/dev-python/opentelemetry-semantic-conventions-ai/metadata.xml b/dev-python/opentelemetry-semantic-conventions-ai/metadata.xml
new file mode 100644
index 000000000000..20f07fe1573a
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions-ai/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>falbrechtskirchinger@gmail.com</email>
+ <name>Florian Albrechtskirchinger</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-semantic-conventions-ai/opentelemetry-semantic-conventions-ai-0.5.2.ebuild b/dev-python/opentelemetry-semantic-conventions-ai/opentelemetry-semantic-conventions-ai-0.5.2.ebuild
new file mode 100644
index 000000000000..b319b4f95880
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions-ai/opentelemetry-semantic-conventions-ai-0.5.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2026 Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_PV=0.61.0
+MY_P="openllmetry-${MY_PV}"
+DESCRIPTION="OpenTelemetry Semantic Conventions for AI applications"
+HOMEPAGE="
+ https://github.com/traceloop/openllmetry
+ https://pypi.org/project/opentelemetry-semantic-conventions-ai/
+"
+SRC_URI="
+ https://github.com/traceloop/openllmetry/archive/refs/tags/v${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/opentelemetry-api-1.38.0[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-semantic-conventions-0.59_beta0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/passlib/files/passlib-1.7.4-bcrypt.patch b/dev-python/passlib/files/passlib-1.7.4-bcrypt.patch
deleted file mode 100644
index 19bb604dbef4..000000000000
--- a/dev-python/passlib/files/passlib-1.7.4-bcrypt.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -r 7aafcc60b4f5 passlib/handlers/bcrypt.py
---- a/passlib/handlers/bcrypt.py Thu Oct 08 15:01:32 2020 -0400
-+++ b/passlib/handlers/bcrypt.py Wed Oct 01 09:04:12 2025 +0200
-@@ -366,6 +366,8 @@
- NOTE: if in future we need to deliberately create hashes which have this bug,
- can use something like 'hashpw(repeat_string(secret[:((1+secret) % 256) or 1]), 72)'
- """
-+ return False
-+
- # check if it exhibits wraparound bug
- secret = (b"0123456789"*26)[:255]
- bug_hash = ident.encode("ascii") + b"04$R1lJ2gkNaoPGdafE.H.16.nVyh2niHsGJhayOHLMiXlI45o8/DU.6"
-@@ -609,7 +611,7 @@
- except ImportError: # pragma: no cover
- return False
- try:
-- version = _bcrypt.__about__.__version__
-+ version = _bcrypt.__version__
- except:
- log.warning("(trapped) error reading bcrypt version", exc_info=True)
- version = '<unknown>'
diff --git a/dev-python/passlib/passlib-1.7.4-r5.ebuild b/dev-python/passlib/passlib-1.7.4-r5.ebuild
deleted file mode 100644
index 3cc6320df1ca..000000000000
--- a/dev-python/passlib/passlib-1.7.4-r5.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..14} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Password hashing framework supporting over 20 schemes"
-HOMEPAGE="
- https://foss.heptapod.net/python-libs/passlib/-/wikis/home
- https://pypi.org/project/passlib/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE="doc test-rust"
-
-RDEPEND="
- dev-python/pkg-resources[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/scrypt[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- )
-"
-
-EPYTEST_PLUGINS=()
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # combined bcrypt compatibility fixes
- # https://foss.heptapod.net/python-libs/passlib/-/issues/190
- # https://foss.heptapod.net/python-libs/passlib/-/issues/196
- "${FILESDIR}/${P}-bcrypt.patch"
- )
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken all the time by new django releases
- passlib/tests/test_ext_django.py
-
- # bcrypt now disallows implicit password truncation
- passlib/tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_70_hashes
- passlib/tests/test_handlers_bcrypt.py::bcrypt_bcrypt_test::test_secret_w_truncate_size
- passlib/tests/test_handlers_django.py::django_bcrypt_test::test_secret_w_truncate_size
- )
-
- case ${EPYTHON} in
- python3.13*|python3.14*)
- EPYTEST_DESELECT+=(
- # crypt module has been removed, so the platform backend
- # does not work anymore
- passlib/tests/test_handlers.py::{des,md5,sha256,sha512}_crypt_os_crypt_test
- )
- ;;
- esac
-
- # skip fuzzing tests, they are very slow
- epytest -k "not fuzz_input"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
-}
-
-pkg_postinst() {
- optfeature "Argon2 support" dev-python/argon2-cffi
- optfeature "bcrypt support" dev-python/bcrypt
- optfeature "scrypt support" dev-python/scrypt
- optfeature "Time-based One-Time Password (TOTP) support" dev-python/cryptography
-}
diff --git a/dev-python/pydocket/Manifest b/dev-python/pydocket/Manifest
index fd75a97b6b34..fed6e672502e 100644
--- a/dev-python/pydocket/Manifest
+++ b/dev-python/pydocket/Manifest
@@ -1 +1,2 @@
DIST pydocket-0.21.1.tar.gz 399652 BLAKE2B f9ab6e069368fd1939b323d7e12fe9be954af0920ca12058b3dad12dabab48abe6f6227bbf34fe9f24adca1dd6274ac9866b8f9b62da8a2ad971708687dcba68 SHA512 350dbd2003db4dc3525ba6c2e6150857061d3fb0cdc46a3fce6f3fcfe61f0056f456a4d549efba3ef4c5d6070a8c4ad6af3327ef2173de10dc866a52e0089f5d
+DIST pydocket-0.22.0.tar.gz 407557 BLAKE2B f451435dfe9c76090e2d2af37321747d79e3b7b5869370a92cd09735cfa1490b0eb140890834715c445ecc67a85085d7148416c6ab51681671f58b31e4dd52d2 SHA512 49f8acfbce87ac90114463d40dcf5f6dffd76e350eef87f185d643eca3edddfc3b2b49ad444b6e737454968c8648def0577df9fbf2059e69e2f706689f234bc3
diff --git a/dev-python/pydocket/pydocket-0.21.1.ebuild b/dev-python/pydocket/pydocket-0.21.1.ebuild
index ced4615340d5..f0ef12d514b2 100644
--- a/dev-python/pydocket/pydocket-0.21.1.ebuild
+++ b/dev-python/pydocket/pydocket-0.21.1.ebuild
@@ -34,6 +34,12 @@ RDEPEND="
>=dev-python/uncalled-for-0.3.2[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ >=dev-python/docker-7.1.0[${PYTHON_USEDEP}]
+ )
+"
+
EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
EPYTEST_XDIST=1
distutils_enable_tests pytest
@@ -47,13 +53,15 @@ EPYTEST_DESELECT=(
)
src_prepare() {
+ distutils-r1_src_prepare
+
+ # no coverage
sed -i \
-e '/--cov/d' \
-e '/--numprocesses/d' \
-e '/--maxprocesses/d' \
pyproject.toml || die
-
- distutils-r1_src_prepare
+ rm tests/sitecustomize.py || die
}
python_test() {
diff --git a/dev-python/pydocket/pydocket-0.22.0.ebuild b/dev-python/pydocket/pydocket-0.22.0.ebuild
new file mode 100644
index 000000000000..f0ef12d514b2
--- /dev/null
+++ b/dev-python/pydocket/pydocket-0.22.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="A distributed background task system for Python functions"
+HOMEPAGE="
+ https://docket.lol/
+ https://github.com/chrisguidry/docket
+ https://pypi.org/project/pydocket/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/burner-redis-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/cloudpickle-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/cronsim-2.6[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-api-1.33.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.21.1[${PYTHON_USEDEP}]
+ >=dev-python/py-key-value-aio-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-json-logger-2.0.7[${PYTHON_USEDEP}]
+ >=dev-python/redis-5[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.9.4[${PYTHON_USEDEP}]
+ >=dev-python/typer-0.15.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/uncalled-for-0.3.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/docker-7.1.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,timeout} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires dev-python/opentelemetry-exporter-prometheus
+ tests/instrumentation/test_export.py::test_exports_metrics_as_prometheus_metrics
+
+ # fails with xdist
+ tests/instrumentation/test_tracing.py::test_admission_blocked_span_has_ok_status
+)
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # no coverage
+ sed -i \
+ -e '/--cov/d' \
+ -e '/--numprocesses/d' \
+ -e '/--maxprocesses/d' \
+ pyproject.toml || die
+ rm tests/sitecustomize.py || die
+}
+
+python_test() {
+ local -x REDIS_VERSION="memory"
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "metrics" dev-python/opentelemetry-sdk
+}
diff --git a/dev-python/pypiserver/pypiserver-2.4.1.ebuild b/dev-python/pypiserver/pypiserver-2.4.1.ebuild
index 58459e88b8ba..9f445f5cfc84 100644
--- a/dev-python/pypiserver/pypiserver-2.4.1.ebuild
+++ b/dev-python/pypiserver/pypiserver-2.4.1.ebuild
@@ -38,7 +38,7 @@ BDEPEND="
dev-python/setuptools-git[${PYTHON_USEDEP}]
test? (
>=dev-python/build-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/passlib-1.6[${PYTHON_USEDEP}]
+ >=dev-python/libpass-1.6[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/webtest[${PYTHON_USEDEP}]
)
diff --git a/dev-python/pyrefly/Manifest b/dev-python/pyrefly/Manifest
index 4556ee6aa0d9..9f13323d2109 100644
--- a/dev-python/pyrefly/Manifest
+++ b/dev-python/pyrefly/Manifest
@@ -286,12 +286,12 @@ DIST prost-types-0.11.9.crate 40809 BLAKE2B fae812d78c5199ae8d383f1abe801cd928e7
DIST pulldown-cmark-0.13.3.crate 154953 BLAKE2B f732e8af5ff90ae77d923ce484f14c710771fc504965a50558f6cb27cf69fdd159eff85f143fe0f167698521ea8dc3bdf1931b040e616f24e76b1d3a6b9ec206 SHA512 8cd256b719c803f5bafe99df8754f518f04c977100e2a786b7cbc35cc1937f1f9595de299868e6fc595e4431ec52b84d4c427844f8852070e00d19057fe8ee32
DIST pulldown-cmark-0.13.4.crate 155043 BLAKE2B 78a6de2dffbb66a4e64a2bf38a018c0ed894bb345f23a507ee92bc58abfdaf110ae9089e46085091801bf0d40a923f8442aa9e1ba05ffaecf1e5a9b6c42f77ad SHA512 99f4e4b95680a7c94d2d629e5e255b8d379cef2f25dd349628abd254781e81bc8d287fc7cd19f117c8f624b459b71507ed1ac61563465f612f19324086564a3b
DIST pulldown-cmark-escape-0.11.0.crate 6719 BLAKE2B 232d5e5efaa6c9b5ba140051e21cbc16b46b32fc40931bf434fe25c24fea5d8a39e47926a6256a826548081e246b4ae36c41c7449a866cdaf60037eb64ee0965 SHA512 b8244d6c93a983bcade5e1ff699f334aa72eb638b7e4d22cc746b713b1d0144e6c1eac243476362a77bfed37a3a13a6315ac8d57920dadee7d2734f4d96023e0
-DIST pyrefly-0.64.1.tar.gz 5678602 BLAKE2B bd5febf5f561576fb25f81550bcb84edf4dc9ded9b0451cf51d61611831e47ee750cf0e44fcceed231305251ad4fed2e084f23cc4b611597888eb1b5d4ef9585 SHA512 846f6fe31096d8deee7760fc20a998f38fec6984f6b31bcf6a9b8f984e18801ff5a4c81baefcad31235cdd12b9f38f2a95f178058130a69c30a2028327cc80be
-DIST pyrefly-0.64.1.tar.gz.provenance 9565 BLAKE2B 759704ab47ba5454c799a43e1359f12bb02296e39dd0827f55195249500d8e080610ba92d3b354aa4da41511e730da4c29281cf14f11e5e7e1346a3e6fc7ec2f SHA512 f3530bc953e6d81bb2271c8e244fa46be162470cc02ad9dae4abacb53c24b4189bf0461ba67ba1650af76d4b3dd2785a8e9c938e6c8a30e00c549b19e920f1ab
DIST pyrefly-1.0.0.tar.gz 5677995 BLAKE2B a0668f10fbcd4f0ec2023198304fff8610c1cc28afbe9c721d5146da66f624a87cb0a8c92211278dc29559ec3189313fb768ee1b93d563196099384f421d6ca0 SHA512 295ce622a253989788efb32bfb7406ce7481804e7bbee4b51fe2e612b182850b97505aaf2803f07bee384db2555ae55c2a2e77eb82ea33998b02627eb59d304c
DIST pyrefly-1.0.0.tar.gz.provenance 9796 BLAKE2B d089bb90b537936ca4d4061897e50e9e16218b38f429bc92721847dea8da23ef2d57020b258332c79270f82a0c313063e0cea72fd2ed40b0120159b698680ea3 SHA512 eda161ce6fc4f8ecfa7a6700d3bd798962d95c802a72fe3288f8383cf2661be8c22d4cf3ba322552fc758d97ffccc212740a4031c9c1adb1e168f1ca4a11c89f
DIST pyrefly-1.1.0.tar.gz 5880100 BLAKE2B b5dab29f6c9f23cc0aede6c10136f4744bb8e4e7883300cd10d711413d3bd17c02ca148294867c29385b6c73b87f57c79cc61a233c8a473329e4313dd2541482 SHA512 d41d895de8d5eacbf931e823f39be70166fd9cf062df86e85615c147fb50bf1b5a485ea873ae6e0ddbe982790f1ad3e22d065aa87b5efed73af1027f8e04c80b
DIST pyrefly-1.1.0.tar.gz.provenance 9810 BLAKE2B 5d0cf3dbbd4eb448ab4d68f3eb810ed999ac6805498482b229bdebf24ebc46119558792fc79e13e1b89c6ada199977315b3e356e79b3af38b0b5caa3bef29b0f SHA512 fe0f26bdf1b63476c1bfd229a8b57fba96dc5cc349ece9621a51a6246305a5889932735a9096d2345846f26685911039920c557300fef6255ba877efdeb91b33
+DIST pyrefly-1.1.1.tar.gz 5880491 BLAKE2B 05ffcc698801a20ddc0bc8bdac2e8b2ad34ee4f4616ac9333b2647fae2c729519a6bc783d345d16b13e2586a997165ce27f569484b2180a757811aad8296e692 SHA512 649d158d596ec4ef1d75d0e4b4afb8256afc201902c3c8d9ba594551a736866df8480d33ec17c695ab1a538ff08dce5d7e6960dd5e631cae72c74c307e752758
+DIST pyrefly-1.1.1.tar.gz.provenance 9763 BLAKE2B 10aa57c8c4ac6fe48a3079b2c276aba10d5e7d13a1a5c79298c51fbdedc2b399672fcd8b1417dabe52e5878d92e3709ca5125115f95e57452f9e5dee5ea489a3 SHA512 f8f4c53c33731fb7d92b744cfa3c3f48f3ece2e414cda2be15112fa9e4401ebdac0c9e749f25a648d640e387707682470b5c00328c6a232e12a5ffbf4bb380b8
DIST quickcheck-6ecdf5bb4b0132ce66670b4d46453aa022ea892c.gh.tar.gz 29222 BLAKE2B 6ef1d6f2fb27f382c78691a952363d5a4263a20f85ba19cba8010b5d7ef6d862f7f5f5c0cb88949a59e81143ba3aeaa4fd2e4cda7371de771ef8f5ca3a5c0d3c SHA512 e52a65947432f3a92d47c54df3645a1b3aa721b74c1357281d9d06c56b85e816794082dfaa1f2f9de2239fa156e2eb18003c6ca4fe3b13fcec4dd90a157aadb1
DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0
DIST quote-use-0.8.4.crate 3067 BLAKE2B e60ff6700aceb55275013c5cb12f5d6b358879d31173d32aa40d3cc07bfdef26ff70a441e6c56719a43aff527dbc46558117380a0a5ba3a51bc90adcd6eba610 SHA512 eb14fc2fa9f63ab7c544eba0f0de36516896d7389c9bbef82ca4ad9343c720261943d512d04f195989f8fd4347ec169ad400a96ab8d36e9ccac7567b2f22d19a
diff --git a/dev-python/pyrefly/pyrefly-1.1.0.ebuild b/dev-python/pyrefly/pyrefly-1.1.0.ebuild
index 06602e1a7602..d7adb9e545ed 100644
--- a/dev-python/pyrefly/pyrefly-1.1.0.ebuild
+++ b/dev-python/pyrefly/pyrefly-1.1.0.ebuild
@@ -5,7 +5,7 @@
EAPI=8
-RUST_MIN_VER="1.89"
+RUST_MIN_VER="1.93"
PYPI_VERIFY_REPO=https://github.com/facebook/pyrefly/
CRATES="
@@ -451,9 +451,6 @@ src_prepare() {
}
src_configure() {
- # Requires nightly
- export RUSTC_BOOTSTRAP=1
-
# zstd-sys https://wiki.gentoo.org/wiki/Project:Rust/sys_crates#zstd-sys
export ZSTD_SYS_USE_PKG_CONFIG=1
@@ -476,5 +473,8 @@ src_test() {
local -x REPORT_TEST_PATH="${S}/lib/test/report/test_files"
local -x STUBGEN_TEST_PATH="${S}/lib/test/stubgen"
+ local -x COVERAGE_TEST_PATH="${S}/lib/test/coverage/test_files"
+ local -x SHAPE_DSL_TEST_PATH="${WORKDIR}/${P}/tensor-shapes"
+
cargo_src_test --no-fail-fast
}
diff --git a/dev-python/pyrefly/pyrefly-0.64.1.ebuild b/dev-python/pyrefly/pyrefly-1.1.1.ebuild
index f0bf73fdf977..d7adb9e545ed 100644
--- a/dev-python/pyrefly/pyrefly-0.64.1.ebuild
+++ b/dev-python/pyrefly/pyrefly-1.1.1.ebuild
@@ -5,25 +5,22 @@
EAPI=8
-RUST_MIN_VER="1.89"
+RUST_MIN_VER="1.93"
PYPI_VERIFY_REPO=https://github.com/facebook/pyrefly/
CRATES="
- Inflector@0.11.4
addr2line@0.25.1
- adler2@2.0.0
- ahash@0.8.12
+ adler2@2.0.1
aho-corasick@1.1.4
- allocative@0.3.4
- allocative_derive@0.3.3
+ allocative@0.3.6
+ allocative_derive@0.3.6
allocator-api2@0.2.21
- android_system_properties@0.1.5
anstream@0.6.21
anstream@1.0.0
- anstyle-parse@0.2.0
+ anstyle-parse@0.2.7
anstyle-parse@1.0.0
- anstyle-query@1.0.0
- anstyle-wincon@3.0.7
+ anstyle-query@1.1.5
+ anstyle-wincon@3.0.11
anstyle@1.0.14
anyhow@1.0.102
append-only-vec@0.1.8
@@ -32,41 +29,38 @@ CRATES="
arrayref@0.3.9
arrayvec@0.7.6
atomic@0.5.3
- attribute-derive-macro@0.10.3
- attribute-derive@0.10.3
- autocfg@1.1.0
+ attribute-derive-macro@0.10.5
+ attribute-derive@0.10.5
+ autocfg@1.5.1
backtrace-on-stack-overflow@0.3.0
base64@0.22.1
bitflags@1.3.2
- bitflags@2.11.1
+ bitflags@2.13.0
blake3@1.8.2
- block-buffer@0.10.2
+ block-buffer@0.10.4
+ bs58@0.5.1
bstr@1.12.1
- bumpalo@3.20.2
+ bumpalo@3.20.3
byteorder@1.5.0
bytes@1.11.1
- capnp@0.25.4
+ capnp@0.25.5
castaway@0.2.4
- cc@1.2.61
+ cc@1.2.63
cfg-if@1.0.4
chacha20@0.10.0
- chrono@0.4.44
+ chrono@0.4.45
clap@4.6.1
clap_builder@4.6.0
clap_derive@4.6.1
- clap_lex@1.0.0
- codespan-reporting@0.13.1
- collection_literals@1.0.2
- colorchoice@1.0.0
- compact_str@0.8.0
- compact_str@0.9.0
- configparser@3.1.0
+ clap_lex@1.1.0
+ collection_literals@1.0.3
+ colorchoice@1.0.5
+ compact_str@0.9.1
+ configparser@3.2.0
console@0.16.1
console_error_panic_hook@0.1.7
- const-str@0.4.3
constant_time_eq@0.3.1
convert_case@0.11.0
- core-foundation-sys@0.8.7
cpufeatures@0.2.17
cpufeatures@0.3.0
crossbeam-channel@0.5.15
@@ -74,31 +68,29 @@ CRATES="
crossbeam-epoch@0.9.18
crossbeam-utils@0.8.21
crypto-common@0.1.7
- ctor@0.1.26
+ ctor@1.0.7
darling@0.23.0
darling_core@0.23.0
darling_macro@0.23.0
- dashmap@5.5.3
- dashmap@6.1.0
- deranged@0.5.5
+ dashmap@6.2.1
+ deranged@0.5.8
derivative@2.2.0
- derive-where@1.5.0
+ derive-where@1.6.1
diff@0.1.13
digest@0.10.7
+ displaydoc@0.2.6
dupe@0.9.1
dupe_derive@0.9.1
- dyn-clone@1.0.20
- either@1.15.0
+ either@1.16.0
embedded-io@0.7.1
encode_unicode@1.0.0
enum-iterator-derive@1.5.0
enum-iterator@2.3.0
- env_logger@0.8.4
equivalent@1.0.2
errno@0.3.14
faster-hex@0.6.1
fastrand@2.4.1
- filetime@0.2.27
+ filetime@0.2.29
find-msvc-tools@0.1.9
foldhash@0.1.5
foldhash@0.2.0
@@ -118,26 +110,23 @@ CRATES="
fuzzy-matcher@0.3.7
fxhash@0.2.1
generic-array@0.14.7
- get-size-derive2@0.7.4
- get-size2@0.7.4
- getopts@0.2.21
+ get-size-derive2@0.9.0
+ get-size2@0.9.0
+ getopts@0.2.24
getrandom@0.2.17
getrandom@0.3.4
- getrandom@0.4.1
+ getrandom@0.4.2
gimli@0.32.3
glob@0.3.3
globset@0.4.18
- hashbrown@0.12.3
hashbrown@0.14.5
hashbrown@0.15.5
hashbrown@0.16.1
- hashbrown@0.17.0
+ hashbrown@0.17.1
heck@0.5.0
hex@0.4.3
home@0.5.12
human_bytes@0.4.3
- iana-time-zone-haiku@0.1.1
- iana-time-zone@0.1.65
icu_collections@2.2.0
icu_locale_core@2.2.0
icu_normalizer@2.2.0
@@ -148,65 +137,60 @@ CRATES="
id-arena@2.3.0
ident_case@1.0.1
idna@1.1.0
- idna_adapter@1.2.1
- ignore@0.4.25
+ idna_adapter@1.2.2
+ ignore@0.4.26
index_vec@0.1.4
- indexmap@1.9.2
indexmap@2.14.0
indicatif@0.18.4
inotify-sys@0.1.5
- inotify@0.11.1
- instant@0.1.12
+ inotify@0.11.2
interpolator@0.5.0
- is-macro@0.3.6
- is_terminal_polyfill@1.70.1
- itertools@0.10.5
+ is-macro@0.3.7
+ is_terminal_polyfill@1.70.2
itertools@0.14.0
itoa@0.4.8
itoa@1.0.18
jobserver@0.1.34
- js-sys@0.3.95
- kqueue-sys@1.0.4
- kqueue@1.1.1
+ js-sys@0.3.100
+ kqueue-sys@1.1.2
+ kqueue@1.2.0
lazy_static@1.5.0
leb128fmt@0.1.0
- libc@0.2.183
- libmimalloc-sys@0.1.44
- libredox@0.1.12
- link-cplusplus@1.0.12
+ libc@0.2.186
+ libmimalloc-sys@0.1.49
+ link-section@0.18.2
+ linktime-proc-macro@0.2.0
linux-raw-sys@0.12.1
linux-raw-sys@0.4.15
- litemap@0.8.1
+ litemap@0.8.2
lock_api@0.4.14
- lock_free_hashtable@0.1.2
- log@0.4.29
+ lock_free_hashtable@0.1.4
+ log@0.4.32
lsp-server@0.7.9
manyhow-macros@0.11.4
manyhow@0.11.4
maplit@1.0.2
matchers@0.2.0
- memchr@2.8.0
+ memchr@2.8.1
memmap2@0.9.10
memoffset@0.6.5
memory-stats@1.2.0
- mimalloc@0.1.48
+ mimalloc@0.1.52
miniz_oxide@0.8.8
- mio@1.2.0
+ mio@1.2.1
nix@0.23.1
- notify-types@2.0.0
+ notify-types@2.1.0
notify@8.2.0
- nu-ansi-term@0.50.3
num-bigint@0.4.6
- num-conv@0.2.0
+ num-conv@0.2.2
num-integer@0.1.46
num-traits@0.2.19
- num_threads@0.1.3
object@0.37.3
once_cell@1.21.4
+ once_cell_polyfill@1.70.2
+ ordermap@1.2.0
os_str_bytes@7.1.1
- parking_lot@0.11.2
parking_lot@0.12.5
- parking_lot_core@0.8.5
parking_lot_core@0.9.12
parse-display-derive@0.8.2
parse-display@0.8.2
@@ -217,59 +201,47 @@ CRATES="
percent-encoding@2.3.2
phf@0.11.3
phf_codegen@0.11.3
- phf_generator@0.11.1
+ phf_generator@0.11.3
phf_shared@0.11.3
pin-project-lite@0.2.17
pkg-config@0.3.33
portable-atomic@1.13.1
- potential_utf@0.1.4
+ potential_utf@0.1.5
powerfmt@0.2.0
ppv-lite86@0.2.21
pretty_assertions@1.4.1
prettyplease@0.2.37
proc-macro-utils@0.10.0
proc-macro2@1.0.106
- prost-derive@0.11.9
- prost-types@0.11.9
- prost@0.11.9
pulldown-cmark-escape@0.11.0
- pulldown-cmark@0.13.3
+ pulldown-cmark@0.13.4
quote-use-macros@0.8.4
quote-use@0.8.4
quote@1.0.45
- r-efi@5.2.0
+ r-efi@5.3.0
+ r-efi@6.0.0
rand@0.10.1
- rand@0.8.5
- rand@0.9.4
+ rand@0.8.6
rand_chacha@0.3.1
- rand_chacha@0.9.0
rand_core@0.10.1
rand_core@0.6.4
- rand_core@0.9.5
rayon-core@1.13.0
rayon@1.12.0
- redox_syscall@0.2.10
- redox_syscall@0.5.6
- redox_syscall@0.7.0
+ redox_syscall@0.5.18
ref-cast-impl@1.0.25
ref-cast@1.0.25
regex-automata@0.4.14
regex-syntax@0.7.5
regex-syntax@0.8.10
regex@1.12.3
- relative-path@1.9.3
rustc-demangle@0.1.27
rustc-hash@2.1.2
rustix@0.38.44
rustix@1.1.4
- rustversion@1.0.22
ryu@0.2.8
ryu@1.0.23
same-file@1.0.6
- schemars@0.9.0
- schemars@1.2.1
scopeguard@1.2.0
- scratch@1.0.6
seahash@4.1.0
semver@1.0.28
serde-wasm-bindgen@0.6.5
@@ -278,26 +250,26 @@ CRATES="
serde_bytes@0.11.19
serde_core@1.0.228
serde_derive@1.0.228
- serde_json@1.0.149
+ serde_json@1.0.150
serde_jsonrc@0.1.0
serde_repr@0.1.20
serde_spanned@1.1.1
- serde_with@3.18.0
- serde_with_macros@3.18.0
+ serde_with@3.21.0
+ serde_with_macros@3.21.0
sha2@0.10.9
- sharded-slab@0.1.4
- shlex@1.3.0
- signal-hook-registry@1.4.5
- siphasher@1.0.1
+ sharded-slab@0.1.7
+ shlex@2.0.1
+ signal-hook-registry@1.4.8
+ siphasher@1.0.3
slab@0.4.12
smallvec@1.15.1
- socket2@0.6.3
- sorted_vector_map@0.2.1
- stable_deref_trait@1.2.0
- starlark_map@0.13.0
+ socket2@0.6.4
+ stable_deref_trait@1.2.1
+ starlark_map@0.14.2
static_assertions@1.1.0
- static_interner@0.1.1
- strsim@0.10.0
+ static_interner@0.1.3
+ strong_hash@0.1.0
+ strong_hash_derive@0.1.0
strsim@0.11.1
structmeta-derive@0.2.0
structmeta@0.2.0
@@ -305,10 +277,10 @@ CRATES="
syn@1.0.109
syn@2.0.117
synstructure@0.13.2
- tar@0.4.45
+ tar@0.4.46
tempfile@3.27.0
- termcolor@1.4.1
terminal_size@0.4.4
+ thin-vec@0.2.18
thiserror-impl@1.0.69
thiserror-impl@2.0.18
thiserror@1.0.69
@@ -317,53 +289,48 @@ CRATES="
tikv-jemalloc-sys@0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7
tikv-jemallocator@0.6.1
time-core@0.1.8
- time-macros@0.2.27
time@0.3.47
tinystr@0.8.3
tinyvec@1.11.0
- tinyvec_macros@0.1.0
+ tinyvec_macros@0.1.1
tokio-macros@2.7.0
tokio-util@0.6.10
- tokio@1.52.1
- toml@0.9.12+spec-1.1.0
- toml_datetime@0.7.5+spec-1.1.0
- toml_edit@0.23.10+spec-1.0.0
+ tokio@1.52.3
+ toml@1.1.2+spec-1.1.0
+ toml_datetime@1.1.1+spec-1.1.0
+ toml_edit@0.25.12+spec-1.1.0
toml_parser@1.1.2+spec-1.1.0
toml_writer@1.1.1+spec-1.1.0
tracing-attributes@0.1.31
tracing-core@0.1.36
- tracing-log@0.2.0
- tracing-serde@0.2.0
tracing-subscriber@0.3.23
tracing@0.1.44
- triomphe@0.1.15
- typenum@1.19.0
+ typenum@1.20.1
unicase@2.9.0
unicode-ident@1.0.24
unicode-normalization@0.1.25
- unicode-segmentation@1.13.2
- unicode-width@0.1.14
+ unicode-segmentation@1.13.3
unicode-width@0.2.2
unicode-xid@0.2.6
- unicode_names2@1.2.2
- unicode_names2_generator@1.2.2
- unit-prefix@0.5.1
+ unicode_names2@1.3.0
+ unicode_names2_generator@1.3.0
+ unit-prefix@0.5.2
url@2.5.8
utf8_iter@1.0.4
utf8parse@0.2.2
- uuid-rng-internal@1.23.1
- uuid@1.23.1
+ uuid-rng-internal@1.23.3
+ uuid@1.23.3
valuable@0.1.1
vec1@1.12.1
version_check@0.9.5
walkdir@2.5.0
- wasi@0.11.0+wasi-snapshot-preview1
- wasip2@1.0.1+wasi-0.2.4
+ wasi@0.11.1+wasi-snapshot-preview1
+ wasip2@1.0.3+wasi-0.2.9
wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
- wasm-bindgen-macro-support@0.2.118
- wasm-bindgen-macro@0.2.118
- wasm-bindgen-shared@0.2.118
- wasm-bindgen@0.2.118
+ wasm-bindgen-macro-support@0.2.123
+ wasm-bindgen-macro@0.2.123
+ wasm-bindgen-shared@0.2.123
+ wasm-bindgen@0.2.123
wasm-encoder@0.244.0
wasm-metadata@0.244.0
wasmparser@0.244.0
@@ -374,62 +341,47 @@ CRATES="
winapi-util@0.1.11
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
- windows-core@0.62.2
- windows-implement@0.60.2
- windows-interface@0.59.3
windows-link@0.2.1
- windows-result@0.4.1
- windows-strings@0.5.1
- windows-sys@0.48.0
windows-sys@0.52.0
windows-sys@0.59.0
windows-sys@0.60.2
windows-sys@0.61.2
- windows-targets@0.48.5
windows-targets@0.52.6
- windows-targets@0.53.2
- windows_aarch64_gnullvm@0.48.5
+ windows-targets@0.53.5
windows_aarch64_gnullvm@0.52.6
- windows_aarch64_gnullvm@0.53.0
- windows_aarch64_msvc@0.48.5
+ windows_aarch64_gnullvm@0.53.1
windows_aarch64_msvc@0.52.6
- windows_aarch64_msvc@0.53.0
- windows_i686_gnu@0.48.5
+ windows_aarch64_msvc@0.53.1
windows_i686_gnu@0.52.6
- windows_i686_gnu@0.53.0
+ windows_i686_gnu@0.53.1
windows_i686_gnullvm@0.52.6
- windows_i686_gnullvm@0.53.0
- windows_i686_msvc@0.48.5
+ windows_i686_gnullvm@0.53.1
windows_i686_msvc@0.52.6
- windows_i686_msvc@0.53.0
- windows_x86_64_gnu@0.48.5
+ windows_i686_msvc@0.53.1
windows_x86_64_gnu@0.52.6
- windows_x86_64_gnu@0.53.0
- windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnu@0.53.1
windows_x86_64_gnullvm@0.52.6
- windows_x86_64_gnullvm@0.53.0
- windows_x86_64_msvc@0.48.5
+ windows_x86_64_gnullvm@0.53.1
windows_x86_64_msvc@0.52.6
- windows_x86_64_msvc@0.53.0
- winnow@0.7.15
+ windows_x86_64_msvc@0.53.1
winnow@1.0.1
wit-bindgen-core@0.51.0
wit-bindgen-rust-macro@0.51.0
wit-bindgen-rust@0.51.0
- wit-bindgen@0.46.0
wit-bindgen@0.51.0
+ wit-bindgen@0.57.1
wit-component@0.244.0
wit-parser@0.244.0
- writeable@0.6.2
+ writeable@0.6.3
xattr@1.6.1
xxhash-rust@0.8.15
yansi@1.0.1
yoke-derive@0.8.2
- yoke@0.8.2
- zerocopy-derive@0.8.48
- zerocopy@0.8.48
+ yoke@0.8.3
+ zerocopy-derive@0.8.50
+ zerocopy@0.8.50
zerofrom-derive@0.1.7
- zerofrom@0.1.7
+ zerofrom@0.1.8
zerotrie@0.2.4
zerovec-derive@0.11.3
zerovec@0.11.6
@@ -441,23 +393,17 @@ CRATES="
declare -A GIT_CRATES=(
[backtrace]='https://github.com/rust-lang/backtrace-rs;df979dcf80027eb047d7bb9e0874710c15009f31;backtrace-rs-%commit%'
- [cxx-build]='https://github.com/facebookexperimental/cxx;d98f6c434f8e6a018533c31a7a4cf7cdc7252210;cxx-%commit%/gen/build'
- [cxx]='https://github.com/facebookexperimental/cxx;d98f6c434f8e6a018533c31a7a4cf7cdc7252210;cxx-%commit%'
- [cxxbridge-cmd]='https://github.com/facebookexperimental/cxx;d98f6c434f8e6a018533c31a7a4cf7cdc7252210;cxx-%commit%/gen/cmd'
- [cxxbridge-flags]='https://github.com/facebookexperimental/cxx;d98f6c434f8e6a018533c31a7a4cf7cdc7252210;cxx-%commit%/flags'
- [cxxbridge-macro]='https://github.com/facebookexperimental/cxx;d98f6c434f8e6a018533c31a7a4cf7cdc7252210;cxx-%commit%/macro'
- [displaydoc]='https://github.com/yaahc/displaydoc;7dc6e324b1788a6b7fb9f3a1953c512923a3e9f0;displaydoc-%commit%'
- [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%'
- [quickcheck]='https://github.com/jakoschiko/quickcheck;6ecdf5bb4b0132ce66670b4d46453aa022ea892c;quickcheck-%commit%'
- [ruff_annotate_snippets]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_annotate_snippets'
- [ruff_cache]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_cache'
- [ruff_diagnostics]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_diagnostics'
- [ruff_notebook]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_notebook'
- [ruff_python_ast]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_python_ast'
- [ruff_python_parser]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_python_parser'
- [ruff_python_trivia]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_python_trivia'
- [ruff_source_file]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_source_file'
- [ruff_text_size]='https://github.com/astral-sh/ruff;474b00568ad78f02ad8e19b8166cbeb6d69f8511;ruff-%commit%/crates/ruff_text_size'
+ [lsp-types]='https://github.com/astral-sh/lsp-types;e15db0593f0ecbbd80599c3f5880e4bf5da1ca0c;lsp-types-%commit%'
+ [ruff_annotate_snippets]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_annotate_snippets'
+ [ruff_cache]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_cache'
+ [ruff_diagnostics]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_diagnostics'
+ [ruff_notebook]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_notebook'
+ [ruff_python_ast]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_python_ast'
+ [ruff_python_parser]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_python_parser'
+ [ruff_python_trivia]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_python_trivia'
+ [ruff_source_file]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_source_file'
+ [ruff_text_size]='https://github.com/astral-sh/ruff;db5aa0a5f1b92cb91d910bf0866a967554dd94f5;ruff-%commit%/crates/ruff_text_size'
+ [rustversion]='https://github.com/fbsource/rustversion;3f072e049635b7463275fc4edebbbed3840d9297;rustversion-%commit%'
)
inherit cargo pypi
@@ -505,14 +451,10 @@ src_prepare() {
}
src_configure() {
- # Requires nightly
- export RUSTC_BOOTSTRAP=1
-
# zstd-sys https://wiki.gentoo.org/wiki/Project:Rust/sys_crates#zstd-sys
export ZSTD_SYS_USE_PKG_CONFIG=1
cargo_src_configure
-
}
src_test() {
@@ -531,5 +473,8 @@ src_test() {
local -x REPORT_TEST_PATH="${S}/lib/test/report/test_files"
local -x STUBGEN_TEST_PATH="${S}/lib/test/stubgen"
+ local -x COVERAGE_TEST_PATH="${S}/lib/test/coverage/test_files"
+ local -x SHAPE_DSL_TEST_PATH="${WORKDIR}/${P}/tensor-shapes"
+
cargo_src_test --no-fail-fast
}
diff --git a/dev-python/rebulk/Manifest b/dev-python/rebulk/Manifest
index 8cefaeb936ce..7a1d22ad91b5 100644
--- a/dev-python/rebulk/Manifest
+++ b/dev-python/rebulk/Manifest
@@ -1 +1,2 @@
DIST rebulk-3.2.0.gh.tar.gz 254923 BLAKE2B ea9501aa70d7842fecab8621ca7c58aed76dba419c46f92e0fc7fa7e300f0ac9d7a457fc3b6bd14d02296449e15c918d63be8060ab1df4a51fe77e383daf6c33 SHA512 17928a0fcf1a78a592289bb9c7c0ea48e8b4d93ccd77793065a51a54258c2af857e9da6955cad552fa53caf76a95ee002a789c35fe248a909971c8afc7b6dfa5
+DIST rebulk-4.1.0.tar.gz 47804 BLAKE2B 4af11e28bb2b3604f0e2311b6abe311afcf061d98c3218ca0aa0171f37f235942a343322c0ef3261a078f71e3c9b64755576acbe554e04afe66fa8ec0e9b1e1f SHA512 839ca9e21a466b4f232ef58570237a59038f7ca2b75f19ff27da7d8cb0b46cce682ba6709d336dcb4d4fed190627b9a1801a64b0b1f207aecb27c058fcff8b96
diff --git a/dev-python/rebulk/rebulk-4.1.0.ebuild b/dev-python/rebulk/rebulk-4.1.0.ebuild
new file mode 100644
index 000000000000..dd118e4f640a
--- /dev/null
+++ b/dev-python/rebulk/rebulk-4.1.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=uv-build
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library that performs advanced searches in strings"
+HOMEPAGE="
+ https://github.com/Toilal/rebulk/
+ https://pypi.org/project/rebulk/
+"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index a3e4078bf344..6c8cf1e6301d 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1 +1,2 @@
DIST sqlglot-30.11.0.tar.gz 5893125 BLAKE2B e9ba0fa6d52f15970ac9afd23f6336febc94fc6f01ce9db03111fd62e7b9d55172a4b9a2405c0086b540187802651825b9db87af3f1a248b6228536bf3d88562 SHA512 f751b1680b7f8a330f5264a79a571552d8e571dd0966099928c8600e646bd2a7b585c95ec534bd1efe68e3f19c943fa88bcdf8aa9cd9bd8787f47040c70cc343
+DIST sqlglot-30.12.0.tar.gz 5905110 BLAKE2B 0c69697a4d5f2c98970bbbf8778305601f43f3f594d3eb5a848ed462ec22b01647db8336c227d66977b3c95bcc28f979fcedd0c96a39b3bf57ebc2579850c1ae SHA512 843a6bccea5a8cae20efe536d15f0146493d00ba548a2f2bfe4375b6172c0cfe16800117f2a81cd52bf2829a1f3a1158eca85d911bb7beeefe5d809e8aea33ab
diff --git a/dev-python/sqlglot/sqlglot-30.12.0.ebuild b/dev-python/sqlglot/sqlglot-30.12.0.ebuild
new file mode 100644
index 000000000000..063fa5096326
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-30.12.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2023-2026 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_{13..14} )
+
+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/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+# Native extensions removed: it uses mypyc which is incredibly slow
+# and then the extension crashes anyway. Upstream uses their own mypy
+# fork which might help but that's just insane.
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+python_test() {
+ 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"
+ )
+
+ rm -rf sqlglot || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/syrupy/Manifest b/dev-python/syrupy/Manifest
index e69a62bac6da..fbc6f6d721ae 100644
--- a/dev-python/syrupy/Manifest
+++ b/dev-python/syrupy/Manifest
@@ -1,2 +1,4 @@
DIST syrupy-5.3.1.tar.gz 83987 BLAKE2B c4be861eb695f7615a2c47fa23da065516e14df8541e89c69da33be85c01590cb663138f3d97e339e9b8273405b1fc35fa272b55ebfba698025b03bfff63d34c SHA512 d9e2efcab3ecef699df14b6a8dfdc1fa28e7007010e042013e5d43d56c23ea912311be0ff397db4add7e7a2f1e5a8b8ae401f57e23f759abe70bdf6ad0c6774d
DIST syrupy-5.3.1.tar.gz.provenance 9793 BLAKE2B de4074fca40c56f3517040d98c26ac2f5985ef33fcd14a0146054475f1c3adc6e23a322b81191fb84c296c9728fa02d0b193a0c0373151d4c3287333e78251c8 SHA512 f48bb5a19575a6122fd29d250c0ad28ef18212bad80e43b4407f19650f5845361f1e1e4a097e95f8ec501a7b445af85b8213dff726821378f0cdd42942f24929
+DIST syrupy-5.3.4.tar.gz 87078 BLAKE2B 5cdd37f060611cf651e510cc3f7e9ba684c4ff561f8c6e70fbd494f2e2c8a865f1cdc30a0f15e7e1d8cb86612a0416a02c3d80c03df1cd91a04a1841087298a2 SHA512 c5caabfcd17862c352efe49035ebd68960dcfe6b5fb0830d67350eae3236c2f385e9bd6c046a4bd0216e2f8e8609d4f1aebdf12083598ba14f213c65ebd40f4a
+DIST syrupy-5.3.4.tar.gz.provenance 9793 BLAKE2B e5ced34de898326a3df3d7c9f89b63d3ad6958aefef3a1c83bf85a4087d56cfcad8d05cf2889a93d2b10397055dad36b05806982c426bbeeb6d7ab7ad4a42cb4 SHA512 52cfaec0f39b4d987277937422229c2c8f36728e1dbeb353522cdbdb5276c68e1b4733b3c1e4993736fc9c0165e1b8c75961d5eda9756944b72de391f510cb3b
diff --git a/dev-python/syrupy/syrupy-5.3.4.ebuild b/dev-python/syrupy/syrupy-5.3.4.ebuild
new file mode 100644
index 000000000000..79ebfc3cbb57
--- /dev/null
+++ b/dev-python/syrupy/syrupy-5.3.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_VERIFY_REPO=https://github.com/syrupy-project/syrupy
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The sweeter pytest snapshot plugin"
+HOMEPAGE="
+ https://github.com/syrupy-project/syrupy/
+ https://pypi.org/project/syrupy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pydantic-2.13.4[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+# pytest-xdist used inside tests
+EPYTEST_PLUGINS=( "${PN}" hypothesis pytest-xdist )
+distutils_enable_tests pytest
diff --git a/dev-python/tables/files/tables-3.11.1-blosc2-3.1.patch b/dev-python/tables/files/tables-3.11.1-blosc2-3.1.patch
new file mode 100644
index 000000000000..820ec3b79df9
--- /dev/null
+++ b/dev-python/tables/files/tables-3.11.1-blosc2-3.1.patch
@@ -0,0 +1,17 @@
+From 25b4701e8a75c33fa2c05d192c061ea6855fa861 Mon Sep 17 00:00:00 2001
+From: Antonio Valentino <antonio.valentino@tiscali.it>
+Date: Sat, 9 May 2026 11:13:47 +0200
+Subject: [PATCH] Fix compatibility with c-blosc2 v3.x
+
+diff --git a/setup.py b/setup.py
+index 5d10d2cc5..80ef98aaa 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1251,6 +1251,7 @@ def compiler_has_flags(compiler, flags):
+ "include_dirs": inc_dirs,
+ }
+ def_macros.extend(abi3_macros)
++ def_macros.append(("BLOSC2_MAX_DIM", 8))
+ extension_kwargs.update(abi3_ext_kwargs)
+
+ extensions = [
diff --git a/dev-python/tables/tables-3.11.1-r1.ebuild b/dev-python/tables/tables-3.11.1-r1.ebuild
new file mode 100644
index 000000000000..04d9433be9fc
--- /dev/null
+++ b/dev-python/tables/tables-3.11.1-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2026 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_{13..14} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 prefix pypi
+
+DESCRIPTION="Hierarchical datasets for Python"
+HOMEPAGE="
+ https://www.pytables.org/
+ https://github.com/PyTables/PyTables/
+ https://pypi.org/project/tables/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+cpudetection examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:0=
+ app-arch/lz4:0=
+ >=app-arch/zstd-1.0.0:=
+ >=dev-libs/c-blosc-1.11.1:0=
+ >=dev-libs/c-blosc2-2.11.0:=
+ dev-libs/lzo:2=
+ >=dev-python/numpy-1.19.0:=[${PYTHON_USEDEP}]
+ >=sci-libs/hdf5-1.8.4:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ >=dev-python/cython-3.1[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/PyTables/PyTables/commit/25b4701e8a75c33fa2c05d192c061ea6855fa861
+ "${FILESDIR}/${P}-blosc2-3.1.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ rm -r c-blosc/{blosc,internal-complibs} || die
+
+ sed -i -e '/blosc2/d' pyproject.toml || die
+ hprefixify -w '/prefixes =/' setup.py
+
+ # TODO
+ sed -i -e 's:test_write_chunk_filtermask:_&:' \
+ tables/tests/test_direct_chunk.py || die
+
+ export PYTABLES_NO_EMBEDDED_LIBS=1
+ export USE_PKGCONFIG=TRUE
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" tables/tests/test_all.py -v || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r contrib examples
+ docompress -x /usr/share/doc/${PF}/{contrib,examples}
+ fi
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index 919a2f5b8ce7..6b2852e4b7c6 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1,3 +1,4 @@
DIST translate-3.19.10.gh.tar.gz 1353016 BLAKE2B 7da28b38c72fd834edceb0f556a13967f75e139418145f5baf981cdde2cb1cab7fae3503b9aae88be395d4e2bc99422d9b06fbb0247b379d6020201729526c67 SHA512 3a26ad243203fff2352f714e19a9024dfe39d5a46a14ba6682efb54f2832866a246446328be79b8efc39b89bf48e150dd90e289082e164376381ba64ff64f88f
DIST translate-3.19.11.gh.tar.gz 1355618 BLAKE2B 65424bb83f67c04566611ebd426ad6dd233cebab252b09768cc5253c44d9291a543fe91a91e23ecbc8fdc5586fdb340fcb40f26028dcbf9973a8a20d7dd91f2c SHA512 776392694ff9802b74e90c5ac01d2f74da9069840c73b24ad6b7f6ffa4c912acd14a4ef8f390fd74acd48e01b0364ac69faf47027725c41775685b03032732a6
DIST translate-3.19.12.gh.tar.gz 1363988 BLAKE2B 2a9b9ffc74de96d31fafef18c3576b56834844bfcd459bff0eb7eff01938bbf48ec9051ac97de4e5862bf5c6438d599c0055a50d0a8e661d816fc2d4f95729d4 SHA512 8ee6753d20d4a5bb460a23c7538c2d90be98023d61661b6e036d88d6003f18d4b51ec4673f3ce562b5ecba903a63e0dfa16205548477366c796f9714a541a2b7
+DIST translate-3.19.13.gh.tar.gz 1365289 BLAKE2B 533cbe8be6e5585157bf63518b9f53f359626c04e1c495d8dc713c3ed00ac43fc5591a2db8c6686776ad440c8711d8e5544003abf11fe9bb457df5ea5a3364d0 SHA512 814ad39c2d49f3c96079039173949a09649ef671516f0c77ce749b0c3b7b8978d4217458e7e39f9c10f497f5bd013f80796fa098794cd59ee33c52466beed867
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.19.13.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.19.13.ebuild
new file mode 100644
index 000000000000..87c171eea069
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.19.13.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ >=dev-python/unicode-segmentation-rs-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.2.14[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( syrupy )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip unnecessary pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+}
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}"/usr/share/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ tests/translate/convert/test_fluent2po.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! has_version "dev-python/iniparse[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! has_version "media-video/gaupol[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/typer/Manifest b/dev-python/typer/Manifest
index 79d5f5fa5212..b5e6f647557a 100644
--- a/dev-python/typer/Manifest
+++ b/dev-python/typer/Manifest
@@ -1,2 +1,3 @@
DIST typer-0.25.1.tar.gz 122276 BLAKE2B 08089d17ca0c038806d0dcc5795d5f88cd0e0163697288b5ae003bdfcaf95537ff465874f1bb5510fe84e0ae1f7ea9c68ebe08639253a0575c220b26297abeb2 SHA512 26e9927a82d8e17e8eae370b7235a7481b6d875c77c5600f8390c22a5274b3a0e3abe14d1c2eae93850613bf685555afe67a2e495687328615c65fc8d27bcb7b
DIST typer-0.26.7.tar.gz 201709 BLAKE2B 7c596ef29150726a82261b9f19374418a5380e3de6d8d43cb10299bf6f3afe3c428e92bdd3923ed0485819e0b68d5f0e93df567ef193294c6734dff2a9907186 SHA512 6efa29c2fc45d1c28acd6cbbe49e63784a51c26c833dff20e55281f45b2282838d5ebd7939693ffcc185a9a95ec00485c749183d19d6b33cd41eb402b314bbcc
+DIST typer-0.26.8.tar.gz 202097 BLAKE2B efe6413355b2db0cb8f4c6b2692ca9d5ec7fc89f789163711001ced9688337ff80b1ff351dfb6b55c42c9b301ef48f184b3bbdbd9ba636e7fcf3d733de773d95 SHA512 5550332a799655e25c85ee70f4904c4b0f8f6942c9815c09e10c2b3f5d0a9663165e78bb6b8bfaad5498b55bfd4e63abd5d733bd96cf1c05f2abc0e9adb32c18
diff --git a/dev-python/typer/typer-0.26.8.ebuild b/dev-python/typer/typer-0.26.8.ebuild
new file mode 100644
index 000000000000..f875bee44d47
--- /dev/null
+++ b/dev-python/typer/typer-0.26.8.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 shell-completion pypi
+
+DESCRIPTION="Build great CLIs. Easy to code. Based on Python type hints"
+HOMEPAGE="
+ https://typer.tiangolo.com/
+ https://github.com/fastapi/typer/
+ https://pypi.org/project/typer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.8.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.3.0[${PYTHON_USEDEP}]
+ cli? ( !dev-lang/erlang )
+"
+BDEPEND="
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # LLM crap
+ rm -r typer/.agents || die
+ if ! use cli; then
+ sed -i -e '/typer\.cli/d' pyproject.toml || die
+ fi
+}
+
+python_test() {
+ # See scripts/tests.sh
+ local -x TERMINAL_WIDTH=3000
+ local -x _TYPER_FORCE_DISABLE_TERMINAL=1
+ local -x _TYPER_RUN_INSTALL_COMPLETION_TESTS=1
+
+ # needed to import tests.util somewhere deep in tests
+ local -x PYTHONPATH=${S}
+
+ epytest
+}
+
+python_install() {
+ if use cli && [[ ! ${COMPLETIONS_INSTALLED} ]]; then
+ local -x _TYPER_COMPLETE_TEST_DISABLE_SHELL_DETECTION=1
+ newbashcomp - typer < <(typer --show-completion bash || die)
+ newzshcomp - typer < <(typer --show-completion zsh || die)
+ newfishcomp - typer < <(typer --show-completion fish || die)
+ COMPLETIONS_INSTALLED=1
+ fi
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest
index ac494b2d9d55..0c2d0b164ae2 100644
--- a/dev-python/uv-build/Manifest
+++ b/dev-python/uv-build/Manifest
@@ -3,3 +3,4 @@ DIST uv_build-0.11.19.tar.gz 398965 BLAKE2B 01f2ba93ad45b68649599ace9a678478a9a5
DIST uv_build-0.11.21.tar.gz 400102 BLAKE2B 17766a7ebbfb0ec01b2f0ef76332c30b4bb9010c4ea0cf29a217a4ea45df8a3680c831c00974ad6732c847b5caae7aadf4e3639eff77223ef21a77040993e562 SHA512 7ee8b981791533f35313afde228b38de5dd460713a9453b61f620df63f5a6feb0cb2cd18e2a3fb29199e13a9781f31bf850002f9b4a747c14e3cf0579f8ba970
DIST uv_build-0.11.23.tar.gz 402105 BLAKE2B af9b72353cf82896795545201e911ed7a26f690bce392597bf8ba602594637cdd0562bccbac56d34ca0b2bee274cd533af1c8b79a73e5177711ef8b62e0b7a53 SHA512 730ceaad2e1ea092dfc37ac46ba631cf9e549415240e223e93d56afa1738b1bcdaa79427336ca13d273645ac8e5e9adb8ea6edbefa62c76b1380c7f663f8c77d
DIST uv_build-0.11.24.tar.gz 401361 BLAKE2B cdafaca66f3a6dd5db0f9e7520428790b1ebaf98d2adc8fe5a4f4b7754649cc50559066343bc2d95ff2634ceedf69f4f19bc33d88da3a2212f8c06531c5fb917 SHA512 3dfb1a9af61ce8f666c161f63a77f609c68f0578e1bd6eadc8bf9f681dabfc7427418e99e134334aea8f96bc6ea9537b62f162200050078fcfc187fd8c0eb0f1
+DIST uv_build-0.11.25.tar.gz 404894 BLAKE2B 6922a5e91c5c657ca5ed90edb0250cbd7192d208cdc135d8c5de74c04de8b91c10d7c0d52d58224a6cb60c7114ecbdcbc2181ac18b0b69cf41d88fd007329a36 SHA512 9315f67c76004b6b45e08d8cad53e5ac4f04a2342e18768523e71f9dc2f7e81aec599f968983df3237d1ad3dc9b87b088f99d2ea79994543fa3623ab21ae5730
diff --git a/dev-python/uv-build/uv-build-0.11.25.ebuild b/dev-python/uv-build/uv-build-0.11.25.ebuild
new file mode 100644
index 000000000000..d66584ed2ede
--- /dev/null
+++ b/dev-python/uv-build/uv-build-0.11.25.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2025-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maturin compiles uv-build executable for every impl, we do not want
+# that, so we use another backend. And since we use another backend,
+# why not dogfood it in the first place?
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP517 uv build backend"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv-build/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/uv-${PV}
+"
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/build[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # use the executable from dev-python/uv instead of building
+ # a largely overlapping uv-build executable (at least for now)
+ sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
+
+ # replace the build-system section
+ sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["uv_build<9999"]
+ build-backend = "uv_build"
+ backend-path = ["src"]
+ EOF
+
+ # rename to make uv-build find it
+ mv python src || die
+}
+
+python_test() {
+ "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
+
+ local zip_result=$(
+ unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
+ )
+ local zip_expected="\
+Archive: dist/uv_build-${PV}-py3-none-any.whl
+ testing: uv_build/ OK
+ testing: uv_build/__init__.py OK
+ testing: uv_build/__main__.py OK
+ testing: uv_build/py.typed OK
+ testing: uv_build-${PV}.dist-info/ OK
+ testing: uv_build-${PV}.dist-info/WHEEL OK
+ testing: uv_build-${PV}.dist-info/METADATA OK
+ testing: uv_build-${PV}.dist-info/RECORD OK
+No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
+"
+ if [[ ${zip_result} != ${zip_expected} ]]; then
+ eerror ".zip result:\n${zip_result}"
+ eerror ".zip expected:\n${zip_expected}"
+ die ".whl result mismatch"
+ fi
+
+ local tar_result=$(
+ tar -tf "dist/uv_build-${PV}.tar.gz" || die
+ )
+ local tar_expected="\
+uv_build-${PV}/PKG-INFO
+uv_build-${PV}/
+uv_build-${PV}/README.md
+uv_build-${PV}/pyproject.toml
+uv_build-${PV}/src
+uv_build-${PV}/src/uv_build
+uv_build-${PV}/src/uv_build/__init__.py
+uv_build-${PV}/src/uv_build/__main__.py
+uv_build-${PV}/src/uv_build/py.typed\
+"
+ if [[ ${tar_result} != ${tar_expected} ]]; then
+ eerror ".tar.gz result:\n${tar_result}"
+ eerror ".tar.gz expected:\n${tar_expected}"
+ die ".tar.gz result mismatch"
+ fi
+}
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
index ad2725d6cfe3..582c85d3cd16 100644
--- a/dev-python/uv/Manifest
+++ b/dev-python/uv/Manifest
@@ -8,3 +8,5 @@ DIST uv-0.11.23-crates.tar.xz 43596924 BLAKE2B deeafbb1c13c2ae42f4ba12e7c220f518
DIST uv-0.11.23.gh.tar.gz 5488941 BLAKE2B 0d54f3f8568787cc2c6e9d1eb5dbd6f94d2d408f3872d4ca3557989f38def6ed11380e90583ab9ee162a9a2a60e1f47311f7ed3c93096117d044b580fa9a1de7 SHA512 4d40479ca540294fbdb346ca8c2dcb91fef572d1e663951ffea2370f9d09f12140aed2029be1178332874ac80150155b88774798c6424686badf7eeef646ce3f
DIST uv-0.11.24-crates.tar.xz 43622872 BLAKE2B 42ae58c7be399b917935d18840aea0a37545fe8f55eb236946804d6d937f8c29b31076f82bb67927ebd6cbd8505ac8d66317bc3c1426edeb5d45a5ded3feb6aa SHA512 745779a5ca9f604ed37506951cb1848d21ae3e63cfb1a17ecdd0603670a18e44eb084a4f7e92f582b9d3682218f54c6c29fffb63c58edbb79b72970d57a436a5
DIST uv-0.11.24.gh.tar.gz 5503210 BLAKE2B b73f436de8b937c05c7d54edeef28ee658784c99df2bbd6ece638f799083b51b5d59fc57913c9a5daa58b5d44f69a3f5a3c0c0f1987cda35aa110326923fcb35 SHA512 4927f0280b4041293180db6efed8c31facbb23cb4349a2383ef0488c26b21a3fc6ab98f94e7ff41bf4411f65d158208345632e130a6fae9f2bc85d40deddefec
+DIST uv-0.11.25-crates.tar.xz 43779192 BLAKE2B ae9d16ba3f8a5a719b6f52980c3b8ce6f874494f861cdad065ead5f3a19b80794bc4dda451710f061b45bdaa05a5587aacb5a583d01dd7cb74d800be4d5e3293 SHA512 0dc611e6aef1fa0861fbc63eba94e588022cb3974aa788c3e595cea04adf0c4165316e6cacb8cf073acc22db84bc61da7de0218ac51665b0e6aa215b6a1cc1e8
+DIST uv-0.11.25.gh.tar.gz 5538598 BLAKE2B 47198e379339a963a90b394b29271e2b276ced739f4320daf279eabc53cd0bab1698a57f336ed3270a4b8f40fa4f6a8f8b201603ed3952d282d220b0e290418a SHA512 9b993ae026d55ee8dfe13101e0fdbe026d81b77ff42b20ad42ff72c9708f2d767cde94010e69cd4f65fa8821c43958bc665893761119770deba70823d895298c
diff --git a/dev-python/uv/uv-0.11.25.ebuild b/dev-python/uv/uv-0.11.25.ebuild
new file mode 100644
index 000000000000..e5931b30ed3e
--- /dev/null
+++ b/dev-python/uv/uv-0.11.25.ebuild
@@ -0,0 +1,163 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+RUST_MIN_VER="1.94.0"
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
+ CDLA-Permissive-2.0 ISC MIT MIT-0 MPL-2.0 Unicode-3.0
+ Unicode-DFS-2016 ZLIB
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ dev-lang/python:3.13
+ !!~dev-python/uv-0.5.0
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+ rust_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # force thin lto, makes build much faster and less memory hungry
+ # (i.e. makes it possible to actually build uv on 32-bit PPC)
+ sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
+
+ # enable system libraries where supported
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
+
+ # remove unbundled sources, just in case
+ find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
+
+ # bzip2-sys requires a pkg-config file
+ # https://github.com/alexcrichton/bzip2-rs/issues/104
+ mkdir "${T}/pkg-config" || die
+ export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
+ cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
+ Name: bzip2
+ Version: 9999
+ Description:
+ Libs: -lbz2
+ EOF
+
+ # uv is now forcing bundled liblzma, sigh
+ sed -i -e '/xz/s:"static"::' Cargo.toml || die
+}
+
+src_configure() {
+ local myfeatures=(
+ test-git
+ test-pypi
+ test-python
+ )
+
+ cargo_src_configure --no-default-features
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ dobin "$(cargo_target_dir)"/{uv,uvx}
+
+ insinto /etc/xdg/uv
+ newins - uv.toml <<-EOF || die
+ # These defaults match Fedora, see:
+ # https://src.fedoraproject.org/rpms/uv/pull-request/18
+
+ # By default ("automatic"), uv downloads missing Python versions
+ # automatically and keeps them in the user's home directory.
+ # Disable that to make downloading opt-in, and especially
+ # to avoid unnecessarily fetching custom Python when the distro
+ # package would be preferable. Python builds can still be
+ # downloaded manually via "uv python install".
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-downloads
+ python-downloads = "manual"
+
+ # By default ("managed"), uv always prefers self-installed
+ # Python versions over the system Python, independently
+ # of versions. Since we generally expect users to use that
+ # to install old Python versions not in ::gentoo anymore,
+ # this effectively means that uv would end up preferring very
+ # old Python versions over the newer ones that are provided
+ # by the system. Default to using the system versions to avoid
+ # this counter-intuitive behavior.
+ #
+ # https://docs.astral.sh/uv/reference/settings/#python-preference
+ python-preference = "system"
+ EOF
+}
diff --git a/dev-python/vcsgraph/Manifest b/dev-python/vcsgraph/Manifest
index 0334b1906ffc..3f17fd512877 100644
--- a/dev-python/vcsgraph/Manifest
+++ b/dev-python/vcsgraph/Manifest
@@ -1,2 +1,5 @@
DIST vcsgraph-0.3.0-crates.tar.xz 1958984 BLAKE2B e315d3dca011e5ad422e4944a2972ca8698c3b8993e7c7f8be6c81a9dd04e6188a2ad41432ed6364713ecc7037f484c6c4812af5f783f15779b4ddaaead9bb0c SHA512 73e3a54e2a5aae51135c73c72316f49e0d52f4ccef7dc3a1540b1040d47a334d7a19ddaca841009dc01fa7aa36daea337df417cfd976c90b9fc0e57f0bb82d00
DIST vcsgraph-0.3.0.gh.tar.gz 101890 BLAKE2B 5508bc0d5b480decaba64f98a598d0cd1168f5869e316820cf948538b3cdcf2575d8038e5d01765ad8594cceae3b7fa255958c32ec07424e784eacf4f1477d2e SHA512 8e60badda65836a9ecc2a1d9558395c3f7e856d7fc5d2bbce7639c288d41fadb6a343f1df3f0c42592eb842ac0789e2df356ba77e81e6e784d7fe4bfa7e1566b
+DIST vcsgraph-0.3.2-crates.tar.xz 1958984 BLAKE2B e315d3dca011e5ad422e4944a2972ca8698c3b8993e7c7f8be6c81a9dd04e6188a2ad41432ed6364713ecc7037f484c6c4812af5f783f15779b4ddaaead9bb0c SHA512 73e3a54e2a5aae51135c73c72316f49e0d52f4ccef7dc3a1540b1040d47a334d7a19ddaca841009dc01fa7aa36daea337df417cfd976c90b9fc0e57f0bb82d00
+DIST vcsgraph-0.3.2.tar.gz 99202 BLAKE2B 670a41a48f10c24ff15a590db7393bcc2d5ff1ae8f8c816ed4e3a574b963f6b5b183435a4832998b316f7e3971626010410a8dd8a741a574ab4b2b283079a7db SHA512 2aa4802221d4a4cc4bc0f341ef521912bc493cbe1765a7880b4dedc1f598e7f398c7781d6a0a222a2cd4afcc17178fb50347c6c06bda1071d0b22c65885c654c
+DIST vcsgraph-0.3.2.tar.gz.provenance 9838 BLAKE2B 4724f8083025ca24eb3881aa8f964ae4b13d74384ea722d422587ffec345840963461cd34e62be92361754618a24c3107eb6f29e538d4f05bca1616f2be51568 SHA512 5553f43e89d8e236c5e7bb5f061f6f9e8b6bbf667b77e13defeb1c0c3de69734911d344c54772eb31e8a447371e2d322dad1fe9eb9bd647ad77939288a13deb4
diff --git a/dev-python/vcsgraph/vcsgraph-0.3.2.ebuild b/dev-python/vcsgraph/vcsgraph-0.3.2.ebuild
new file mode 100644
index 000000000000..95d184667fca
--- /dev/null
+++ b/dev-python/vcsgraph/vcsgraph-0.3.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/breezy-team/vcsgraph
+PYTHON_COMPAT=( python3_{13..14} )
+
+RUST_MIN_VER="1.83"
+CRATES=""
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Graph algorithms for version control systems"
+HOMEPAGE="
+ https://pypi.org/project/vcsgraph/
+ https://github.com/breezy-team/vcsgraph/
+"
+SRC_URI+="
+ https://github.com/gentoo-crate-dist/${PN}/releases/download/v${PV}/${P}-crates.tar.xz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/vcsgraph/_graph_rs.*.so"
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}