Disable database/opensearch
[oi-userland.git] / components / python / cattrs / patches / 04-test-nan.patch
blob4fc307f832ee07f99e0787390770ff2016ec9dc5
1 https://github.com/python-attrs/cattrs/pull/576
3 --- cattrs-24.1.2/pdm.lock.orig
4 +++ cattrs-24.1.2/pdm.lock
5 @@ -249,62 +249,82 @@
7 [[package]]
8 name = "coverage"
9 -version = "7.4.0"
10 +version = "7.6.1"
11 requires_python = ">=3.8"
12 summary = "Code coverage measurement for Python"
13 files = [
14 - {file = "coverage-7.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36b0ea8ab20d6a7564e89cb6135920bc9188fb5f1f7152e94e8300b7b189441a"},
15 - {file = "coverage-7.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0676cd0ba581e514b7f726495ea75aba3eb20899d824636c6f59b0ed2f88c471"},
16 - {file = "coverage-7.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0ca5c71a5a1765a0f8f88022c52b6b8be740e512980362f7fdbb03725a0d6b9"},
17 - {file = "coverage-7.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7c97726520f784239f6c62506bc70e48d01ae71e9da128259d61ca5e9788516"},
18 - {file = "coverage-7.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:815ac2d0f3398a14286dc2cea223a6f338109f9ecf39a71160cd1628786bc6f5"},
19 - {file = "coverage-7.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:80b5ee39b7f0131ebec7968baa9b2309eddb35b8403d1869e08f024efd883566"},
20 - {file = "coverage-7.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5b2ccb7548a0b65974860a78c9ffe1173cfb5877460e5a229238d985565574ae"},
21 - {file = "coverage-7.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:995ea5c48c4ebfd898eacb098164b3cc826ba273b3049e4a889658548e321b43"},
22 - {file = "coverage-7.4.0-cp310-cp310-win32.whl", hash = "sha256:79287fd95585ed36e83182794a57a46aeae0b64ca53929d1176db56aacc83451"},
23 - {file = "coverage-7.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:5b14b4f8760006bfdb6e08667af7bc2d8d9bfdb648351915315ea17645347137"},
24 - {file = "coverage-7.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:04387a4a6ecb330c1878907ce0dc04078ea72a869263e53c72a1ba5bbdf380ca"},
25 - {file = "coverage-7.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea81d8f9691bb53f4fb4db603203029643caffc82bf998ab5b59ca05560f4c06"},
26 - {file = "coverage-7.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74775198b702868ec2d058cb92720a3c5a9177296f75bd97317c787daf711505"},
27 - {file = "coverage-7.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76f03940f9973bfaee8cfba70ac991825611b9aac047e5c80d499a44079ec0bc"},
28 - {file = "coverage-7.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:485e9f897cf4856a65a57c7f6ea3dc0d4e6c076c87311d4bc003f82cfe199d25"},
29 - {file = "coverage-7.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6ae8c9d301207e6856865867d762a4b6fd379c714fcc0607a84b92ee63feff70"},
30 - {file = "coverage-7.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bf477c355274a72435ceb140dc42de0dc1e1e0bf6e97195be30487d8eaaf1a09"},
31 - {file = "coverage-7.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:83c2dda2666fe32332f8e87481eed056c8b4d163fe18ecc690b02802d36a4d26"},
32 - {file = "coverage-7.4.0-cp311-cp311-win32.whl", hash = "sha256:697d1317e5290a313ef0d369650cfee1a114abb6021fa239ca12b4849ebbd614"},
33 - {file = "coverage-7.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:26776ff6c711d9d835557ee453082025d871e30b3fd6c27fcef14733f67f0590"},
34 - {file = "coverage-7.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:13eaf476ec3e883fe3e5fe3707caeb88268a06284484a3daf8250259ef1ba143"},
35 - {file = "coverage-7.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846f52f46e212affb5bcf131c952fb4075b55aae6b61adc9856222df89cbe3e2"},
36 - {file = "coverage-7.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26f66da8695719ccf90e794ed567a1549bb2644a706b41e9f6eae6816b398c4a"},
37 - {file = "coverage-7.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:164fdcc3246c69a6526a59b744b62e303039a81e42cfbbdc171c91a8cc2f9446"},
38 - {file = "coverage-7.4.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:316543f71025a6565677d84bc4df2114e9b6a615aa39fb165d697dba06a54af9"},
39 - {file = "coverage-7.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bb1de682da0b824411e00a0d4da5a784ec6496b6850fdf8c865c1d68c0e318dd"},
40 - {file = "coverage-7.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0e8d06778e8fbffccfe96331a3946237f87b1e1d359d7fbe8b06b96c95a5407a"},
41 - {file = "coverage-7.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a56de34db7b7ff77056a37aedded01b2b98b508227d2d0979d373a9b5d353daa"},
42 - {file = "coverage-7.4.0-cp312-cp312-win32.whl", hash = "sha256:51456e6fa099a8d9d91497202d9563a320513fcf59f33991b0661a4a6f2ad450"},
43 - {file = "coverage-7.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:cd3c1e4cb2ff0083758f09be0f77402e1bdf704adb7f89108007300a6da587d0"},
44 - {file = "coverage-7.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e9d1bf53c4c8de58d22e0e956a79a5b37f754ed1ffdbf1a260d9dcfa2d8a325e"},
45 - {file = "coverage-7.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:109f5985182b6b81fe33323ab4707011875198c41964f014579cf82cebf2bb85"},
46 - {file = "coverage-7.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cc9d4bc55de8003663ec94c2f215d12d42ceea128da8f0f4036235a119c88ac"},
47 - {file = "coverage-7.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc6d65b21c219ec2072c1293c505cf36e4e913a3f936d80028993dd73c7906b1"},
48 - {file = "coverage-7.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a10a4920def78bbfff4eff8a05c51be03e42f1c3735be42d851f199144897ba"},
49 - {file = "coverage-7.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b8e99f06160602bc64da35158bb76c73522a4010f0649be44a4e167ff8555952"},
50 - {file = "coverage-7.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7d360587e64d006402b7116623cebf9d48893329ef035278969fa3bbf75b697e"},
51 - {file = "coverage-7.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:29f3abe810930311c0b5d1a7140f6395369c3db1be68345638c33eec07535105"},
52 - {file = "coverage-7.4.0-cp38-cp38-win32.whl", hash = "sha256:5040148f4ec43644702e7b16ca864c5314ccb8ee0751ef617d49aa0e2d6bf4f2"},
53 - {file = "coverage-7.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:9864463c1c2f9cb3b5db2cf1ff475eed2f0b4285c2aaf4d357b69959941aa555"},
54 - {file = "coverage-7.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:936d38794044b26c99d3dd004d8af0035ac535b92090f7f2bb5aa9c8e2f5cd42"},
55 - {file = "coverage-7.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:799c8f873794a08cdf216aa5d0531c6a3747793b70c53f70e98259720a6fe2d7"},
56 - {file = "coverage-7.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7defbb9737274023e2d7af02cac77043c86ce88a907c58f42b580a97d5bcca9"},
57 - {file = "coverage-7.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1526d265743fb49363974b7aa8d5899ff64ee07df47dd8d3e37dcc0818f09ed"},
58 - {file = "coverage-7.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf635a52fc1ea401baf88843ae8708591aa4adff875e5c23220de43b1ccf575c"},
59 - {file = "coverage-7.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:756ded44f47f330666843b5781be126ab57bb57c22adbb07d83f6b519783b870"},
60 - {file = "coverage-7.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0eb3c2f32dabe3a4aaf6441dde94f35687224dfd7eb2a7f47f3fd9428e421058"},
61 - {file = "coverage-7.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bfd5db349d15c08311702611f3dccbef4b4e2ec148fcc636cf8739519b4a5c0f"},
62 - {file = "coverage-7.4.0-cp39-cp39-win32.whl", hash = "sha256:53d7d9158ee03956e0eadac38dfa1ec8068431ef8058fe6447043db1fb40d932"},
63 - {file = "coverage-7.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfd2a8b6b0d8e66e944d47cdec2f47c48fef2ba2f2dff5a9a75757f64172857e"},
64 - {file = "coverage-7.4.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:c530833afc4707fe48524a44844493f36d8727f04dcce91fb978c414a8556cc6"},
65 - {file = "coverage-7.4.0.tar.gz", hash = "sha256:707c0f58cb1712b8809ece32b68996ee1e609f71bd14615bd8f87a1293cb610e"},
66 + {file = "coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16"},
67 + {file = "coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36"},
68 + {file = "coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02"},
69 + {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc"},
70 + {file = "coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23"},
71 + {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34"},
72 + {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c"},
73 + {file = "coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959"},
74 + {file = "coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232"},
75 + {file = "coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0"},
76 + {file = "coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93"},
77 + {file = "coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3"},
78 + {file = "coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff"},
79 + {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d"},
80 + {file = "coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6"},
81 + {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56"},
82 + {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234"},
83 + {file = "coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133"},
84 + {file = "coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c"},
85 + {file = "coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6"},
86 + {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"},
87 + {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"},
88 + {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"},
89 + {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"},
90 + {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"},
91 + {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"},
92 + {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"},
93 + {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"},
94 + {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"},
95 + {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"},
96 + {file = "coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106"},
97 + {file = "coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9"},
98 + {file = "coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c"},
99 + {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a"},
100 + {file = "coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060"},
101 + {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862"},
102 + {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388"},
103 + {file = "coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155"},
104 + {file = "coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a"},
105 + {file = "coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129"},
106 + {file = "coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e"},
107 + {file = "coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962"},
108 + {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb"},
109 + {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704"},
110 + {file = "coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b"},
111 + {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f"},
112 + {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223"},
113 + {file = "coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3"},
114 + {file = "coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f"},
115 + {file = "coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657"},
116 + {file = "coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0"},
117 + {file = "coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a"},
118 + {file = "coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b"},
119 + {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3"},
120 + {file = "coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de"},
121 + {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6"},
122 + {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569"},
123 + {file = "coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989"},
124 + {file = "coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7"},
125 + {file = "coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8"},
126 + {file = "coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255"},
127 + {file = "coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8"},
128 + {file = "coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2"},
129 + {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a"},
130 + {file = "coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc"},
131 + {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004"},
132 + {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb"},
133 + {file = "coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36"},
134 + {file = "coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c"},
135 + {file = "coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca"},
136 + {file = "coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df"},
137 + {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"},
140 [[package]]
141 @@ -339,12 +359,12 @@
143 [[package]]
144 name = "execnet"
145 -version = "2.0.2"
146 -requires_python = ">=3.7"
147 +version = "2.1.1"
148 +requires_python = ">=3.8"
149 summary = "execnet: rapid multi-Python deployment"
150 files = [
151 - {file = "execnet-2.0.2-py3-none-any.whl", hash = "sha256:88256416ae766bc9e8895c76a87928c0012183da3cc4fc18016e6f050e025f41"},
152 - {file = "execnet-2.0.2.tar.gz", hash = "sha256:cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af"},
153 + {file = "execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc"},
154 + {file = "execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3"},
157 [[package]]
158 @@ -365,17 +385,17 @@
160 [[package]]
161 name = "hypothesis"
162 -version = "6.90.0"
163 +version = "6.111.2"
164 requires_python = ">=3.8"
165 summary = "A library for property-based testing"
166 dependencies = [
167 - "attrs>=19.2.0",
168 + "attrs>=22.2.0",
169 "exceptiongroup>=1.0.0; python_version < \"3.11\"",
170 "sortedcontainers<3.0.0,>=2.1.0",
172 files = [
173 - {file = "hypothesis-6.90.0-py3-none-any.whl", hash = "sha256:4d7d3d3d5e4e4a9954b448fc8220cd73573e3e32adb00059f6907de6b55dcd5e"},
174 - {file = "hypothesis-6.90.0.tar.gz", hash = "sha256:0ab33900b9362318bd03d911a77a0dda8629c1877420074d87ae466919f6e4c0"},
175 + {file = "hypothesis-6.111.2-py3-none-any.whl", hash = "sha256:055e8228958e22178d6077e455fd86a72044d02dac130dbf9c8b31e161b9809c"},
176 + {file = "hypothesis-6.111.2.tar.gz", hash = "sha256:0496ad28c7240ee9ba89fcc7fb1dc74e89f3e40fbcbbb5f73c0091558dec8e6e"},
179 [[package]]
180 @@ -897,12 +917,12 @@
182 [[package]]
183 name = "pluggy"
184 -version = "1.3.0"
185 +version = "1.5.0"
186 requires_python = ">=3.8"
187 summary = "plugin and hook calling mechanisms for python"
188 files = [
189 - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"},
190 - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"},
191 + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"},
192 + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"},
195 [[package]]
196 @@ -1030,7 +1050,7 @@
198 [[package]]
199 name = "pytest"
200 -version = "8.0.0"
201 +version = "8.3.2"
202 requires_python = ">=3.8"
203 summary = "pytest: simple powerful testing with Python"
204 dependencies = [
205 @@ -1038,12 +1058,12 @@
206 "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"",
207 "iniconfig",
208 "packaging",
209 - "pluggy<2.0,>=1.3.0",
210 - "tomli>=1.0.0; python_version < \"3.11\"",
211 + "pluggy<2,>=1.5",
212 + "tomli>=1; python_version < \"3.11\"",
214 files = [
215 - {file = "pytest-8.0.0-py3-none-any.whl", hash = "sha256:50fb9cbe836c3f20f0dfa99c565201fb75dc54c8d76373cd1bde06b06657bdb6"},
216 - {file = "pytest-8.0.0.tar.gz", hash = "sha256:249b1b0864530ba251b7438274c4d251c58d868edaaec8762893ad4a0d71c36c"},
217 + {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"},
218 + {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"},
221 [[package]]
222 @@ -1062,16 +1082,16 @@
224 [[package]]
225 name = "pytest-xdist"
226 -version = "3.4.0"
227 -requires_python = ">=3.7"
228 +version = "3.6.1"
229 +requires_python = ">=3.8"
230 summary = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs"
231 dependencies = [
232 - "execnet>=1.1",
233 - "pytest>=6.2.0",
234 + "execnet>=2.1",
235 + "pytest>=7.0.0",
237 files = [
238 - {file = "pytest-xdist-3.4.0.tar.gz", hash = "sha256:3a94a931dd9e268e0b871a877d09fe2efb6175c2c23d60d56a6001359002b832"},
239 - {file = "pytest_xdist-3.4.0-py3-none-any.whl", hash = "sha256:e513118bf787677a427e025606f55e95937565e06dfaac8d87f55301e57ae607"},
240 + {file = "pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7"},
241 + {file = "pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d"},
244 [[package]]
245 --- cattrs-24.1.2/pyproject.toml.orig
246 +++ cattrs-24.1.2/pyproject.toml
247 @@ -7,13 +7,13 @@
248 "ruff>=0.0.277",
250 test = [
251 - "hypothesis>=6.79.4",
252 - "pytest>=7.4.0",
253 + "hypothesis>=6.111.2",
254 + "pytest>=8.3.2",
255 "pytest-benchmark>=4.0.0",
256 "immutables>=0.20",
257 "typing-extensions>=4.7.1",
258 - "coverage>=7.4.0",
259 - "pytest-xdist>=3.4.0",
260 + "coverage>=7.6.1",
261 + "pytest-xdist>=3.6.1",
263 docs = [
264 "sphinx>=5.3.0",
265 --- cattrs-24.1.2/tests/test_baseconverter.py.orig
266 +++ cattrs-24.1.2/tests/test_baseconverter.py
267 @@ -15,7 +15,7 @@
268 unstructure_strats = one_of(just(s) for s in UnstructureStrategy)
271 -@given(simple_typed_classes(newtypes=False), unstructure_strats)
272 +@given(simple_typed_classes(newtypes=False, allow_nan=False), unstructure_strats)
273 def test_simple_roundtrip(cls_and_vals, strat):
275 Simple classes with metadata can be unstructured and restructured.
276 @@ -43,7 +43,7 @@
277 assert inst == converter.structure(converter.unstructure(inst), cl)
280 -@given(nested_typed_classes(newtypes=False))
281 +@given(nested_typed_classes(newtypes=False, allow_nan=False))
282 def test_nested_roundtrip(cls_and_vals):
284 Nested classes with metadata can be unstructured and restructured.
285 @@ -55,7 +55,7 @@
286 assert inst == converter.structure(converter.unstructure(inst), cl)
289 -@given(nested_typed_classes(kw_only=False, newtypes=False))
290 +@given(nested_typed_classes(kw_only=False, newtypes=False, allow_nan=False))
291 def test_nested_roundtrip_tuple(cls_and_vals):
293 Nested classes with metadata can be unstructured and restructured.
294 @@ -70,8 +70,8 @@
296 @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow])
297 @given(
298 - simple_typed_classes(defaults=False, newtypes=False),
299 - simple_typed_classes(defaults=False, newtypes=False),
300 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
301 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
302 unstructure_strats,
304 def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat):
305 @@ -113,8 +113,8 @@
306 @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax")
307 @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow])
308 @given(
309 - simple_typed_classes(defaults=False, newtypes=False),
310 - simple_typed_classes(defaults=False, newtypes=False),
311 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
312 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
313 unstructure_strats,
315 def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat):
316 @@ -153,7 +153,7 @@
317 assert inst == converter.structure(converter.unstructure(inst), C)
320 -@given(simple_typed_classes(defaults=False, newtypes=False))
321 +@given(simple_typed_classes(defaults=False, newtypes=False, allow_nan=False))
322 def test_optional_field_roundtrip(cl_and_vals):
324 Classes with optional fields can be unstructured and structured.
325 @@ -175,7 +175,7 @@
328 @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax")
329 -@given(simple_typed_classes(defaults=False, newtypes=False))
330 +@given(simple_typed_classes(defaults=False, newtypes=False, allow_nan=False))
331 def test_310_optional_field_roundtrip(cl_and_vals):
333 Classes with optional fields can be unstructured and structured.
334 --- cattrs-24.1.2/tests/test_converter.py.orig
335 +++ cattrs-24.1.2/tests/test_converter.py
336 @@ -40,7 +40,10 @@
337 unstructure_strats = one_of(just(s) for s in UnstructureStrategy)
340 -@given(simple_typed_classes() | simple_typed_dataclasses(), booleans())
341 +@given(
342 + simple_typed_classes(allow_nan=False) | simple_typed_dataclasses(allow_nan=False),
343 + booleans(),
345 def test_simple_roundtrip(cls_and_vals, detailed_validation):
347 Simple classes with metadata can be unstructured and restructured.
348 @@ -54,8 +57,8 @@
351 @given(
352 - simple_typed_classes(kw_only=False, newtypes=False)
353 - | simple_typed_dataclasses(newtypes=False),
354 + simple_typed_classes(kw_only=False, newtypes=False, allow_nan=False)
355 + | simple_typed_dataclasses(newtypes=False, allow_nan=False),
356 booleans(),
358 def test_simple_roundtrip_tuple(cls_and_vals, dv: bool):
359 @@ -72,7 +75,7 @@
360 assert inst == converter.structure(unstructured, cl)
363 -@given(simple_typed_attrs(defaults=True))
364 +@given(simple_typed_attrs(defaults=True, allow_nan=False))
365 def test_simple_roundtrip_defaults(attr_and_vals):
367 Simple classes with metadata can be unstructured and restructured.
368 @@ -87,7 +90,9 @@
369 assert inst == converter.structure(converter.unstructure(inst), cl)
372 -@given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False))
373 +@given(
374 + simple_typed_attrs(defaults=True, kw_only=False, newtypes=False, allow_nan=False)
376 def test_simple_roundtrip_defaults_tuple(attr_and_vals):
378 Simple classes with metadata can be unstructured and restructured.
379 @@ -103,7 +108,8 @@
382 @given(
383 - simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False),
384 + simple_typed_classes(newtypes=False, allow_nan=False)
385 + | simple_typed_dataclasses(newtypes=False, allow_nan=False),
386 unstructure_strats,
388 def test_simple_roundtrip_with_extra_keys_forbidden(cls_and_vals, strat):
389 @@ -200,7 +206,7 @@
390 assert cve.value.exceptions[0].extra_fields == {"b"}
393 -@given(nested_typed_classes(defaults=True, min_attrs=1), booleans())
394 +@given(nested_typed_classes(defaults=True, min_attrs=1, allow_nan=False), booleans())
395 def test_nested_roundtrip(cls_and_vals, omit_if_default):
397 Nested classes with metadata can be unstructured and restructured.
398 @@ -214,7 +220,9 @@
401 @given(
402 - nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False),
403 + nested_typed_classes(
404 + defaults=True, min_attrs=1, kw_only=False, newtypes=False, allow_nan=False
405 + ),
406 booleans(),
408 def test_nested_roundtrip_tuple(cls_and_vals, omit_if_default: bool):
409 @@ -233,8 +241,8 @@
411 @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow])
412 @given(
413 - simple_typed_classes(defaults=False, newtypes=False),
414 - simple_typed_classes(defaults=False, newtypes=False),
415 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
416 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
417 unstructure_strats,
419 def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat):
420 @@ -278,8 +286,8 @@
421 @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax")
422 @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow])
423 @given(
424 - simple_typed_classes(defaults=False, newtypes=False),
425 - simple_typed_classes(defaults=False, newtypes=False),
426 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
427 + simple_typed_classes(defaults=False, newtypes=False, allow_nan=False),
428 unstructure_strats,
430 def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat):
431 @@ -320,7 +328,7 @@
432 assert inst == converter.structure(unstructured, C)
435 -@given(simple_typed_classes(defaults=False))
436 +@given(simple_typed_classes(defaults=False, allow_nan=False))
437 def test_optional_field_roundtrip(cl_and_vals):
439 Classes with optional fields can be unstructured and structured.
440 @@ -342,7 +350,7 @@
443 @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax")
444 -@given(simple_typed_classes(defaults=False))
445 +@given(simple_typed_classes(defaults=False, allow_nan=False))
446 def test_310_optional_field_roundtrip(cl_and_vals):
448 Classes with optional fields can be unstructured and structured.
449 @@ -363,7 +371,7 @@
450 assert inst == converter.structure(unstructured, C)
453 -@given(simple_typed_classes(defaults=True))
454 +@given(simple_typed_classes(defaults=True, allow_nan=False))
455 def test_omit_default_roundtrip(cl_and_vals):
457 Omit default on the converter works.
458 --- cattrs-24.1.2/tests/test_gen_dict.py.orig
459 +++ cattrs-24.1.2/tests/test_gen_dict.py
460 @@ -160,9 +160,9 @@
463 @given(
464 - cl_and_vals=nested_typed_classes()
465 - | simple_typed_classes()
466 - | simple_typed_dataclasses(),
467 + cl_and_vals=nested_typed_classes(allow_nan=False)
468 + | simple_typed_classes(allow_nan=False)
469 + | simple_typed_dataclasses(allow_nan=False),
470 dv=...,
472 def test_unmodified_generated_structuring(cl_and_vals, dv: bool):
473 @@ -185,7 +185,9 @@
476 @given(
477 - simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data()
478 + simple_typed_classes(min_attrs=1, allow_nan=False)
479 + | simple_typed_dataclasses(min_attrs=1, allow_nan=False),
480 + data(),
482 def test_renaming(cl_and_vals, data):
483 converter = Converter()
484 --- cattrs-24.1.2/tests/typed.py.orig
485 +++ cattrs-24.1.2/tests/typed.py
486 @@ -67,7 +67,7 @@
487 newtypes=True,
488 text_codec: str = "utf8",
489 allow_infinity=None,
490 - allow_nan=None,
491 + allow_nan=True,
492 ) -> SearchStrategy[Tuple[Type, PosArgs, KwArgs]]:
493 """Yield tuples of (class, values)."""
494 return lists_of_typed_attrs(
495 @@ -82,7 +82,9 @@
496 ).flatmap(partial(_create_hyp_class, frozen=frozen))
499 -def simple_typed_dataclasses(defaults=None, min_attrs=0, frozen=False, newtypes=True):
500 +def simple_typed_dataclasses(
501 + defaults=None, min_attrs=0, frozen=False, newtypes=True, allow_nan=True
503 """Yield tuples of (class, values)."""
504 return lists_of_typed_attrs(
505 defaults,
506 @@ -90,15 +92,20 @@
507 for_frozen=frozen,
508 allow_mutable_defaults=False,
509 newtypes=newtypes,
510 + allow_nan=allow_nan,
511 ).flatmap(partial(_create_dataclass, frozen=frozen))
514 def simple_typed_classes_and_strats(
515 - defaults=None, min_attrs=0, kw_only=None, newtypes=True
516 + defaults=None, min_attrs=0, kw_only=None, newtypes=True, allow_nan=True
517 ) -> SearchStrategy[Tuple[Type, SearchStrategy[PosArgs], SearchStrategy[KwArgs]]]:
518 """Yield tuples of (class, (strategies))."""
519 return lists_of_typed_attrs(
520 - defaults, min_size=min_attrs, kw_only=kw_only, newtypes=newtypes
521 + defaults,
522 + min_size=min_attrs,
523 + kw_only=kw_only,
524 + newtypes=newtypes,
525 + allow_nan=allow_nan,
526 ).flatmap(_create_hyp_class_and_strat)
529 @@ -111,7 +118,7 @@
530 newtypes=True,
531 text_codec="utf8",
532 allow_infinity=None,
533 - allow_nan=None,
534 + allow_nan=True,
535 ) -> SearchStrategy[List[Tuple[_CountingAttr, SearchStrategy[PosArg]]]]:
536 # Python functions support up to 255 arguments.
537 return lists(
538 @@ -142,7 +149,7 @@
539 newtypes=True,
540 text_codec="utf8",
541 allow_infinity=None,
542 - allow_nan=None,
543 + allow_nan=True,
544 ) -> SearchStrategy[Tuple[_CountingAttr, SearchStrategy[PosArgs]]]:
545 if not is_39_or_later:
546 res = (
547 @@ -400,7 +407,7 @@
549 @composite
550 def float_typed_attrs(
551 - draw, defaults=None, kw_only=None, allow_infinity=None, allow_nan=None
552 + draw, defaults=None, kw_only=None, allow_infinity=None, allow_nan=True
555 Generate a tuple of an attribute and a strategy that yields floats for that
556 @@ -832,7 +839,7 @@
559 def _create_hyp_nested_strategy(
560 - simple_class_strategy: SearchStrategy, kw_only=None, newtypes=True
561 + simple_class_strategy: SearchStrategy, kw_only=None, newtypes=True, allow_nan=True
562 ) -> SearchStrategy[Tuple[Type, SearchStrategy[PosArgs], SearchStrategy[KwArgs]]]:
564 Create a recursive attrs class.
565 @@ -847,7 +854,8 @@
566 attrs_and_classes: SearchStrategy[
567 Tuple[List[Tuple[_CountingAttr, PosArgs]], Tuple[Type, SearchStrategy[PosArgs]]]
568 ] = tuples(
569 - lists_of_typed_attrs(kw_only=kw_only, newtypes=newtypes), simple_class_strategy
570 + lists_of_typed_attrs(kw_only=kw_only, newtypes=newtypes, allow_nan=allow_nan),
571 + simple_class_strategy,
574 return nested_classes(attrs_and_classes)
575 @@ -891,22 +899,37 @@
578 def nested_typed_classes_and_strat(
579 - defaults=None, min_attrs=0, kw_only=None, newtypes=True
580 + defaults=None, min_attrs=0, kw_only=None, newtypes=True, allow_nan=True
581 ) -> SearchStrategy[Tuple[Type, SearchStrategy[PosArgs]]]:
582 return recursive(
583 simple_typed_classes_and_strats(
584 - defaults=defaults, min_attrs=min_attrs, kw_only=kw_only, newtypes=newtypes
585 + defaults=defaults,
586 + min_attrs=min_attrs,
587 + kw_only=kw_only,
588 + newtypes=newtypes,
589 + allow_nan=allow_nan,
590 + ),
591 + partial(
592 + _create_hyp_nested_strategy,
593 + kw_only=kw_only,
594 + newtypes=newtypes,
595 + allow_nan=allow_nan,
597 - partial(_create_hyp_nested_strategy, kw_only=kw_only, newtypes=newtypes),
598 max_leaves=20,
602 @composite
603 -def nested_typed_classes(draw, defaults=None, min_attrs=0, kw_only=None, newtypes=True):
604 +def nested_typed_classes(
605 + draw, defaults=None, min_attrs=0, kw_only=None, newtypes=True, allow_nan=True
607 cl, strat, kwarg_strat = draw(
608 nested_typed_classes_and_strat(
609 - defaults=defaults, min_attrs=min_attrs, kw_only=kw_only, newtypes=newtypes
610 + defaults=defaults,
611 + min_attrs=min_attrs,
612 + kw_only=kw_only,
613 + newtypes=newtypes,
614 + allow_nan=allow_nan,
617 return cl, draw(strat), draw(kwarg_strat)
618 --- cattrs-24.1.2/tests/untyped.py.orig
619 +++ cattrs-24.1.2/tests/untyped.py
620 @@ -356,7 +356,7 @@
622 default = NOTHING
623 if defaults is True or (defaults is None and draw(st.booleans())):
624 - default = draw(st.floats())
625 + default = draw(st.floats(allow_nan=False))
626 return (
627 attr.ib(
628 default=default, kw_only=draw(st.booleans()) if kw_only is None else kw_only