diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest index 2df9e1d16f9e3..9d72c1a4178e5 100644 --- a/dev-python/pydantic/Manifest +++ b/dev-python/pydantic/Manifest @@ -35,6 +35,7 @@ DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd401 DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 DIST jiter-0.11.1.crate 154396 BLAKE2B 5e510ad85739de9965c6f802df761252bcd2e57467adcee5a8ddcb41819d785463f0edce379ae243fc4b00e7d6f9016f8eb247d92ad5fb53239219fb4b0b1708 SHA512 977d20ba5ea1d770cf27434eefba328a36768160b2673b516eadc6fdc09654482967d9561515e6295b6892c65dcc0316b9bb1c5123b140eb10438dd88282e8a2 DIST jiter-0.13.0.crate 154087 BLAKE2B 6d43652729056d95805bfd38cebb5d9c0724369494989a95fd286c6e4e129725b58acaf08363a6205205ae6618783d14e6e6e928418f6a5ec6748483b3fdcd59 SHA512 7c9bc52c49811c96c0beaefc96a990d979811e717f002693fb19313c1a10764f7483d3e6f7648cf89a675d75c02f8dc1be13bee00109b51828e95a5825bcea8d +DIST jiter-0.14.0.crate 155564 BLAKE2B d31c05d688da325b8708ec499e2e962dfdcf0dfb4a0242446bcfd5fa50cd7806f8dd21cf33565ed62377b568ec7f1edeeb17b77a105dfd2ec635b88dda381d55 SHA512 ac3d398d1ab8c3323d7a218f29fddf10642464b1097bfa5498496b5bc01379291ab7565e56cf1490e3287e4593f6352b9c7aaec8afff60a078362c71bbba945c DIST js-sys-0.3.77.crate 55538 BLAKE2B 8a4c04a8e93bf5dab63784a24320a314cc5cb629df788e116c452857b8c049c6bf357f3bf8f35086eaa81bc2d7f0954001addfd0577d845844871ee138e81bc6 SHA512 d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255 DIST lexical-parse-float-1.0.5.crate 186731 BLAKE2B 145c7cda05e7f1c949a693e77df96f6eaedb7005d864a819e522a787d05102c44352a28ac1e4598162841214bc3f1350ed121e30ca6aa5e243dc78ef1a64fa05 SHA512 3785bac5f2694febf1ce5f094ff04dc032fc1adf992949087bb18f8316fdaf416701365b34defd2529012d077032fe62ba32f898a6dfad7eefb8b7b59a06742e DIST lexical-parse-integer-1.0.5.crate 36912 BLAKE2B de63a3241c79a79b12fcc7ac515812bcd17cbd74c10bf0e2d329f4630218001118424b7016918cdfcbe27d5cbb77caf7f6c759883dea4e957d28e44437427cb7 SHA512 3239abf7200d3c480f19848d197168dea36428b1edfa565e21a568642400a32136020b2308a81f55aeaee9f8c7db448d913b1971eab4f146ef2c1a7e29cc9715 @@ -55,20 +56,28 @@ DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6 DIST pydantic-2.11.7.tar.gz 788350 BLAKE2B 4767f593beb649fe3139f3b22e3814a9f56793494dc17428cf70952451e9112d03b275c0af979f0f0159b25deae2e2794bfdb1392e2c3499220ad3cd67945414 SHA512 54ee1a49d5a429cad31928425c197139ae3cce004d8f3530835ce39897be9afa6aea35e639af1d6290bace7148e1369ce66840e26bced329bc2e7d93b3dad6e5 DIST pydantic-2.12.5.tar.gz 821591 BLAKE2B 7b139db92fc103cc5e0e5820a3541af8ffaa850ecca9d0136f09768bf5f51ceddb933b12434ea3428b9e2f10e587d9227ec22ced9609b83759765446e6a9cb9d SHA512 93968bf402ba1b2ea48375be021f8e2cfc61bee2cb39a7ec470bf445d752f1bfd638dd951b34f443ddb6a853aa81f1860b11cc6478eb20c142e48347c80ec827 DIST pydantic-2.12.5.tar.gz.provenance 9274 BLAKE2B 9796b665fbb38345b99cbe1ca5890c14a1bbdc2f1995f69685aab53590aaabdc841544d4cacb0e723414bfc8cc18b0368ae958d486b84bfdd201537c78eab3a4 SHA512 e95f64e35c6fbc35d3d6fee2b1104b0a48df5fc0376d95dc4102961f957eed6ebbcb51903cd51e7a61dbd97e6f0e0b5c1d50e26a352018e4a1079169e34a249a +DIST pydantic-2.13.0.tar.gz 843468 BLAKE2B 7b4149a6645e2210a2cc677337d02d2958b412d6f623bdc74448314c06791d873258e35223a4e647a945e68186d6c20c82df2ce7593b3010cf578758ce2d0b17 SHA512 8e8587bfa8c0301c618af192826288020bcb8ab0d3cf27f29e92d61d465de2b8feda07ea4de2ec851c1ceef14c854f9b2bbb61f5f32c79be2528b532a6a87d4b +DIST pydantic-2.13.0.tar.gz.provenance 9100 BLAKE2B 1b275087801a2bd65a6dda25eee447fb03ef2b9b33414a946b8c2bfcd303ddf22a27d5d6df3831d8ea2d21018fac646da184fca635fb48ea905c26633fc94ebd SHA512 7b47143fced3520d99b3fff7156102299875a00d08ea558b9260a7c1833504e2edbed6545bf21cd323105995f8849d3740f01c3e474576924d9f2986f1bf5302 DIST pydantic-2.13.0b3.tar.gz 841035 BLAKE2B 8abe85c8bf03d89621b5230c55a5e5ca65ab4429d91cbdefa95bdc2d2385f8906f24d03e9c8e8769ecdcad5111b378fcaebe2241dca4eb614980f2edea944b9d SHA512 f16a630e7311b37d54be9558bfafbd988d476bc6a120aba004d91733fe9722788c732953d9670df40bb3222c07641940f5684264d9998dda788f1bf6b9c2609d DIST pydantic-2.13.0b3.tar.gz.provenance 9430 BLAKE2B 63fa74fe50a3b879841580cd28606eeac0b9a55bcab651bd2504e66336c10ff557ff2efe86e21106beaf3e4927c4f787674a8863e3ef0698c868b20a25e967b7 SHA512 ac4d225bbb6b0b1cd94b497d121df3b9865748e7e7cba63754756056c1a27cf8bc03c824404c7a906b5fefa8d4dbe385ee4e56397a5176246d443445c52a5687 DIST pydantic_core-2.41.5.tar.gz 460952 BLAKE2B dd7d45acdc5f3093668cb57813c0c4e40e5916d04f75ef8f06308ec00243c9b0469cba5ffd2eb8449e11279d28c12ccc039dc03ed108cdb879da675d9f61aebe SHA512 1447f257efdbad0f70b490569c073696f8bdcdbd0baccac40e843520eb3cabfd23d499dca31afdc67581dd6a690cc138b882f393a91f57afcc309c800b9620c3 DIST pydantic_core-2.45.0.tar.gz 471391 BLAKE2B bd88e8d2b6683d7275bae392a42ee207aed60022acd46137b3ffe5bef48b6d7a3ca0a76388b1849a3e08e2bd6a5041029b0777dfba5cbf1cf3b44d468761f098 SHA512 dd9ad080637dbe2f9150cb32b691873544301b5d9bde16aa394f8b3e5fe99a6bbb2df49241849b0f19cf90316160358e2b0b8c18b6861cf78d37e5b9205299f5 +DIST pydantic_core-2.46.0.tar.gz 471441 BLAKE2B 26a135a6c7a5cfbb36beecef35ce25b7f8c236cfe724f921a1cf51ab85a2ffed7ec924544f1c3f1270d413e703947938b9a3df7ad07a338794eb26cb992bf9ed SHA512 417bfb49944f3d0739e6413e826db1c2e6b2262875b1921446cfb770c4af71003a50cfd5557e3f61ffe7dee14e34b260d071fcd7c053a2683f9915508f48cc57 DIST pyo3-0.26.0.crate 1151579 BLAKE2B bcc8236785502928bf4a0b7a320e0a8f3d6140c562de4351a52d015aaebb8dd6b4d68fe607c8ea13ec66941c8f01d2c18c4249adfacb521355d4bf158667f3a3 SHA512 e073a4d893f88aa0301ef0ead78048137515edd93c490e6dccbc301ff65a208534c65c1d216b04639d4b1ec1e4b69bc87bd34974e5d0659134c28dcce589c194 DIST pyo3-0.28.2.crate 1202843 BLAKE2B 18158e22631ab35348eab1f117f16b311932de832d910f37a71cf481ec04ced03c37baaf63f1c8afc7ecccef039fc8f9072cbe0dd5109a74e7fb9f6b3ddb18a4 SHA512 fd4a03eb1cdfa40c1ed67b588cd4da31c90972f95c669b20a1099fb9304cd9506337f674e0bc9efd1d22a453162aac79a36ab18ca97eaca3515d640e2e9b923f +DIST pyo3-0.28.3.crate 1204476 BLAKE2B 8540a1c51bac4fbe04ea34d5ce38471c13d5a3f0759e60cf21d67e846b00feb8316e70f32cb8dc6b74d09f0901ffc83d5f41b1a06da6d34790ef13e4cefcad45 SHA512 f955957eec4b95cc9337d331bba3bba52b4754b301cf86cd974601e64eb20c2424023b19be89a224661fe2e185de646cd3d0d00705b6b5cbd139856c9443a247 DIST pyo3-build-config-0.26.0.crate 34309 BLAKE2B 5ea8b51da2f425674cd3bfcc1090ffdd08da01d2161dc66b08995c20cc859422f9f84077c545e5a0580182910aeb9dbba97838915148a82b86948d1cca3c8722 SHA512 a982d0a0baa4af58c2cef7c0c4b2671e3f559ca7f30586eda9fbd05e842efa2bfea0089ddbc729225b848871f6a25f85e86576e1dff519192ba289cd92c6aa8b DIST pyo3-build-config-0.28.2.crate 35958 BLAKE2B 87163e11ff52061e11943f54e0fea1101ec6f877b4e6ecda33e32a19d1a8af3a6a83ab23d17f744fb0176e35f819669e931f88c55d611c8f7ea52eacd1c683a3 SHA512 f9b4863baffdf474ba9121edc19323d91565dd1411acabda03a307c8aae4969657167a80e197d4c8656e711e424053aced6a1de7978cedd38815304835fc5dbb +DIST pyo3-build-config-0.28.3.crate 35961 BLAKE2B 61a0101913c6d563721049ca99256c2aefd89b017a7e18c82f4a6aceca0aefeaa71fd559cd43adfb5034ce076c904e5188f8f73961ea217287fbfd12caab9401 SHA512 78f85696901b16540d42187d10e888bd929b9f23415faeb73f9798abda1af3506a308145dd4113b070521271c72624d7930fb4b19bad25aa1afd3082030c9126 DIST pyo3-ffi-0.26.0.crate 78247 BLAKE2B 65f1c399bc763bf8afc36ccac27d28242ebcccebd08ab8d9b3165ca5c9abb10f76e76fe5a250aa1e0cdc1d1e8a613160660f07bc0dbc2812675acb9dfc8e89c2 SHA512 91c2ae828e997dee5e48d839794727e94576228e9329c358a3bc77a59f8f37fa0ae6c2579229782b3f46ab90725844ce9194b9de4d3849d824adf1d40743bf7e DIST pyo3-ffi-0.28.2.crate 80837 BLAKE2B ac17690399e5cf84602a974860d84856d9489c7d94ec618cdb3b4c5bcee81d3767a727f22dca0a06d492ee28ecf24c84f48cd391a6d81229b1464fbb17654ac5 SHA512 f6b4fdea320922b81395e593fe135fd4b4f483250fe94d84019c97a3a9f98b6e2122134e09613021f194782038ffea1d32d3c65b1458e15ce3021d39fd582738 +DIST pyo3-ffi-0.28.3.crate 80881 BLAKE2B 4ac7066c911e2aec18aa9245efed00585d063f81d69910e6a146f8efbf2939ab5de519bbf2a3dde78b40c264e97c62490db80e9b2e84aaf080d63659a6676459 SHA512 ec49b5cc67d19f46c9daea76b37b4988af0f63b9ed67c71190f015a0aa9691d4a8ffd4128413de430928428e1e8e26d44c3103f561e6b71b7e8c4597ab602d9f DIST pyo3-macros-0.26.0.crate 8906 BLAKE2B 60eef72d27b5bc922b75f71ae24bb6f380288cb3a619bf2940b0de47b27e86cce0ffdb1fbdc9c0540d3f15c9df4884497aa1e6efec0f1579ac722b414818a428 SHA512 07bcddba0926c3dff7629da3260f9a38593fbb337b6a68d55c223f5944d912885e5319cd635ae1785026fed4adea1fcc19695ae83aca5bea127c5a8868fd2c43 DIST pyo3-macros-0.28.2.crate 8960 BLAKE2B 54fdb3f2d04c1f04d3cdb4d8422cd9fe1098df2f2740eaf61e2868e19f0a93c677486cef56576e39ba2010e426901c95846b7b81285858094ef1fdf48edc65b1 SHA512 7125a41bd5ceaa5c85a2ac5ed1bf07708cf95f58dd18a8ba9000a3139ebc06e90776b4254820410e940c80ed45f7c09165c8fe57d8f79069622849c6c0861bcb +DIST pyo3-macros-0.28.3.crate 8963 BLAKE2B ca9967cfba565b873ed77565ff6eb8408473c227d191797e9db8c6b5cbc89abc17ffd57ae71e28877088fe19373da2f503cdefeae6b0a47796f6abcf62044f08 SHA512 57d178bd9b53dd98916e60c89bc26c34f9949829dc17bf7d6cc15b704bba7c874d85d6bd3c827d401268660a79230a6e32711048da939ec4e22342f3e08046d1 DIST pyo3-macros-backend-0.26.0.crate 81809 BLAKE2B 73885035855daf00b001e97e0a5ebe09412d212c8f01aa4db6638ef09990bf1bccbacf2e5a7e6ec21929bb1c2beba06587ecdb6ee954eda9e9c51c6c276cea95 SHA512 4146011a8ef18ecaa44b425eebe6e5e1370945063b98aaa83452e57b66aefbf5d483367b1d4d44aa5091303c4ba7f568c6428ecec0cfa6c90ba41631d4e99367 DIST pyo3-macros-backend-0.28.2.crate 87939 BLAKE2B c70e46d44c935e58957cd53a76a1e6d2e97ee1bdc39c926b1a23ce391785f212c30e150286fc78724e945679ac1ff04a10ec958b6d3dfe30c4acee795f6c2e63 SHA512 24203c47d91be9acc949cfc70ec8b4aa32e089275cf9b0061a9909f5e60895c56446692be0056e13cc4df8efc0698e0655626f9524241b54cd172d8a25e42f98 +DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f08b9e460a2bd02089e08e58dac2cb747afbc0cdfe64018ed4c8cb0bbbd1d22e3eb05a6a72b020da6b71a584ec51ca8d24292 SHA512 45ce31ed64ee4fd0249736d480c9840a756bc45934d6803ae11e0680057ecf4cc74c71b47ccf9241fc3ab5c1e0b9c758426f08bd523d1ace92fc308302ea3c84 DIST python3-dll-a-0.2.14.crate 103489 BLAKE2B a2868aa62d9b5f33ba0ab3be85f486e7b0594b8e535749e251ae9c829eabf9f0211f928c729b0f5b847a89be978c4b5648d333ac657a82acaa3c39520dfe0b8c SHA512 fde53bac2b7009d409d5dfab991b431aea7c16c5e0227a7bb143e73a043cd0490cec2647f73cfc34f73a192e9b365a70fd5b42d969beb2e3251dff44230a2040 DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685 DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d @@ -105,6 +114,7 @@ DIST utf16_iter-1.0.5.crate 9736 BLAKE2B edcd9776113d4d2b267a9cbd58cab11c5497ff1 DIST utf8_iter-1.0.4.crate 10437 BLAKE2B 1e7a8b9241ebbb62cb497542b970473780f735010a0af900771a43abceae4e7f362d21d4f79f7c00630e4549400875ea17574b2cbe4f5ea19e8ed428e3b5577d SHA512 a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 DIST uuid-1.18.1.crate 60468 BLAKE2B 0e70361595e8d0baf8c4c69a09878fd39fee414d404a7b3cb457ad60cd3cd351418a8981090f4c3d507fee42c575eaf6699f494a604da0470573e81b7a56366e SHA512 2a088f752c4dc05291b8563f83ff8efd6534697f55da76baa89d64122ae436a7f0e19fa46a9e615d4e9b013bbc575bbe0f7646c182b37a6c24edcfe24e518400 DIST uuid-1.21.0.crate 62247 BLAKE2B 684b85cdf88f11f2252ec62c0c6d43900b4bd076b47dd90b2d96231ec747713683b59535d0d737f3e81312f278d2c36c6e9666a3c83576d8034e850d37a46fc4 SHA512 af0eccf18ddc91b72e0043ece56e7a4679181d9a85b84d04dd2012f4215d43bbbfcb3114e8b086841aa4512beb6bebad4d43a092cba7f5efdd4771f70317c6e5 +DIST uuid-1.23.0.crate 63006 BLAKE2B 77bcbf3c658f0bb5d09bed862b9a8720110d62094a2bf9065ab8f98e6c458e4213767a9152280bdd71941eae7077036deae56adbcdddc14fdcbbac4cbd030061 SHA512 60e476dcbc407a0447f362ee019abb128c0441503e0adacdcac5685ecc16aa680faa575b25fcce147e9c49bfb5b8fa04964a25c5d7e4e9870e0078bf8f18fabf DIST version_check-0.9.5.crate 15554 BLAKE2B 131e75cc287518831e142430e2a39b48e4275874f4473780d47a27552294097aa1cddb65c385583e1022478f940b495eb43c24a8b1617b8ac5a24af3340c0d72 SHA512 d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db DIST wasi-0.14.2+wasi-0.2.4.crate 140921 BLAKE2B 6b3ce7cb8ed888ad65053352b02b827bced3b59118d546ba593ffa9de48305bef62419751036e22b0f95c22fe34ea1d7bdf7fee0f6981181026d1eedfacf73d9 SHA512 57e47ba27fb2b66b34f017c85743b99687eb8bcdc1312fb36e30d0c501e670f00dc7d6113730d819364abef5e8ec04d95f0d1150ec2b6049e605fa8bbdaa2cb3 DIST wasm-bindgen-0.2.100.crate 48288 BLAKE2B 8fc4f71c7d6cef15f131a9bdbb50e3eaf9f3894a5b6c1d73876824efb731b46e8c3449947893103f23bc15cad228a1b8bcccd45ada20df53b3f3dde6e419c184 SHA512 2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3 diff --git a/dev-python/pydantic/pydantic-2.13.0.ebuild b/dev-python/pydantic/pydantic-2.13.0.ebuild new file mode 100644 index 0000000000000..12d2c8e9bc424 --- /dev/null +++ b/dev-python/pydantic/pydantic-2.13.0.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=hatchling +# no provenance for pydantic-core: +# https://github.com/pydantic/pydantic-core/issues/1842 +PYPI_VERIFY_REPO=https://github.com/pydantic/pydantic +PYTHON_COMPAT=( pypy3_11 python3_{11..14} ) + +PYDANTIC_CORE_PV=2.46.0 +RUST_MIN_VER="1.88.0" +CRATES=" + ahash@0.8.12 + aho-corasick@1.1.3 + allocator-api2@0.2.21 + autocfg@1.3.0 + base64@0.22.1 + bitflags@2.9.1 + bitvec@1.0.1 + bumpalo@3.19.0 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + equivalent@1.0.2 + foldhash@0.2.0 + form_urlencoded@1.2.2 + funty@2.0.0 + getrandom@0.3.3 + hashbrown@0.16.1 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@1.1.0 + idna_adapter@1.2.0 + itoa@1.0.11 + jiter@0.14.0 + js-sys@0.3.77 + lexical-parse-float@1.0.5 + lexical-parse-integer@1.0.5 + lexical-util@1.0.6 + libc@0.2.155 + litemap@0.7.3 + log@0.4.27 + lru@0.16.3 + memchr@2.7.4 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.21.3 + percent-encoding@2.3.2 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.28.3 + pyo3-ffi@0.28.3 + pyo3-macros-backend@0.28.3 + pyo3-macros@0.28.3 + pyo3@0.28.3 + python3-dll-a@0.2.14 + quote@1.0.44 + r-efi@5.2.0 + radium@0.7.0 + regex-automata@0.4.13 + regex-syntax@0.8.5 + regex@1.12.3 + rustversion@1.0.17 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + serde_json@1.0.149 + smallvec@1.15.1 + speedate@0.17.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.27.2 + strum_macros@0.27.2 + syn@2.0.82 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.13.4 + tinystr@0.7.6 + unicode-ident@1.0.12 + url@2.5.8 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.23.0 + version_check@0.9.5 + wasi@0.14.2+wasi-0.2.4 + wasm-bindgen-backend@0.2.100 + wasm-bindgen-macro-support@0.2.100 + wasm-bindgen-macro@0.2.100 + wasm-bindgen-shared@0.2.100 + wasm-bindgen@0.2.100 + wit-bindgen-rt@0.39.0 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.8.25 + zerocopy@0.8.25 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 + zmij@1.0.6 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Data parsing and validation using Python type hints" +HOMEPAGE=" + https://github.com/pydantic/pydantic/ + https://pypi.org/project/pydantic/ +" +# pydantic-core & pydantic have a perfect circular test dep now +SRC_URI+=" + $(pypi_sdist_url pydantic_core "${PYDANTIC_CORE_PV}") + ${CARGO_CRATE_URIS} +" +PYDANTIC_CORE_S=${WORKDIR}/pydantic_core-${PYDANTIC_CORE_PV} + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/annotated-types-0.6.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.14.1[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] + dev-python/tzdata[${PYTHON_USEDEP}] + !dev-python/pydantic-core +" +BDEPEND=" + >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}] + dev-util/maturin[${PYTHON_USEDEP}] + test? ( + $(python_gen_cond_dep ' + dev-python/cloudpickle[${PYTHON_USEDEP}] + ' 'python3*') + dev-python/dirty-equals[${PYTHON_USEDEP}] + >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}] + >=dev-python/faker-18.13.0[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" +# pydantic-core +BDEPEND+=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( hypothesis pytest-mock ) +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_unpack() { + pypi_src_unpack + cargo_src_unpack +} + +src_prepare() { + sed -i -e '/benchmark/d' {.,"${PYDANTIC_CORE_S}"}/pyproject.toml || die + sed -i -e '/^strip/d' "${PYDANTIC_CORE_S}"/Cargo.toml || die + distutils-r1_src_prepare +} + +python_compile() { + distutils-r1_python_compile + + local DISTUTILS_USE_PEP517=maturin + local DISTUTILS_UPSTREAM_PEP517=maturin + cd "${PYDANTIC_CORE_S}" || die + distutils-r1_python_compile + cd - >/dev/null || die +} + +python_test() { + local EPYTEST_DESELECT=( + # == pydantic == + # -Werror, sigh + tests/test_types_typeddict.py::test_readonly_qualifier_warning + + # == pydantic-core == + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + local EPYTEST_IGNORE=( + # require pytest-examples (pydantic) + tests/test_docs.py + # benchmarks (both) + tests/benchmarks + ) + + if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + # (pydantic) + tests/test_pickle.py + ) + fi + + cd "${PYDANTIC_CORE_S}" || die + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3* ]] && cargo_src_test + epytest -o xfail_strict=False -o addopts= + cd - 2>/dev/null || die + + epytest +}