Refactor code structure for improved readability and maintainability

This commit is contained in:
Fundor333
2025-09-03 20:45:51 +02:00
parent 373429f0d9
commit 8c0ae68632
6 changed files with 1530 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@@ -0,0 +1,419 @@
ID,N_Days,Status,Drug,Age,Sex,Ascites,Hepatomegaly,Spiders,Edema,Bilirubin,Cholesterol,Albumin,Copper,Alk_Phos,SGOT,Tryglicerides,Platelets,Prothrombin,Stage
1,400,D,D-penicillamine,21464,F,Y,Y,Y,Y,14.5,261,2.6,156,1718,137.95,172,190,12.2,4
2,4500,C,D-penicillamine,20617,F,N,Y,Y,N,1.1,302,4.14,54,7394.8,113.52,88,221,10.6,3
3,1012,D,D-penicillamine,25594,M,N,N,N,S,1.4,176,3.48,210,516,96.1,55,151,12,4
4,1925,D,D-penicillamine,19994,F,N,Y,Y,S,1.8,244,2.54,64,6121.8,60.63,92,183,10.3,4
5,1504,CL,Placebo,13918,F,N,Y,Y,N,3.4,279,3.53,143,671,113.15,72,136,10.9,3
6,2503,D,Placebo,24201,F,N,Y,N,N,0.8,248,3.98,50,944,93,63,NA,11,3
7,1832,C,Placebo,20284,F,N,Y,N,N,1,322,4.09,52,824,60.45,213,204,9.7,3
8,2466,D,Placebo,19379,F,N,N,N,N,0.3,280,4,52,4651.2,28.38,189,373,11,3
9,2400,D,D-penicillamine,15526,F,N,N,Y,N,3.2,562,3.08,79,2276,144.15,88,251,11,2
10,51,D,Placebo,25772,F,Y,N,Y,Y,12.6,200,2.74,140,918,147.25,143,302,11.5,4
11,3762,D,Placebo,19619,F,N,Y,Y,N,1.4,259,4.16,46,1104,79.05,79,258,12,4
12,304,D,Placebo,21600,F,N,N,Y,N,3.6,236,3.52,94,591,82.15,95,71,13.6,4
13,3577,C,Placebo,16688,F,N,N,N,N,0.7,281,3.85,40,1181,88.35,130,244,10.6,3
14,1217,D,Placebo,20535,M,Y,Y,N,Y,0.8,NA,2.27,43,728,71,NA,156,11,4
15,3584,D,D-penicillamine,23612,F,N,N,N,N,0.8,231,3.87,173,9009.8,127.71,96,295,11,3
16,3672,C,Placebo,14772,F,N,N,N,N,0.7,204,3.66,28,685,72.85,58,198,10.8,3
17,769,D,Placebo,19060,F,N,Y,N,N,2.7,274,3.15,159,1533,117.8,128,224,10.5,4
18,131,D,D-penicillamine,19698,F,N,Y,Y,Y,11.4,178,2.8,588,961,280.55,200,283,12.4,4
19,4232,C,D-penicillamine,18102,F,N,Y,N,S,0.7,235,3.56,39,1881,93,123,209,11,3
20,1356,D,Placebo,21898,F,N,Y,N,N,5.1,374,3.51,140,1919,122.45,135,322,13,4
21,3445,C,Placebo,23445,M,N,Y,Y,N,0.6,252,3.83,41,843,65.1,83,336,11.4,4
22,673,D,D-penicillamine,20555,F,N,N,Y,N,3.4,271,3.63,464,1376,120.9,55,173,11.6,4
23,264,D,Placebo,20442,F,Y,Y,Y,Y,17.4,395,2.94,558,6064.8,227.04,191,214,11.7,4
24,4079,D,D-penicillamine,16261,M,N,Y,N,N,2.1,456,4,124,5719,221.88,230,70,9.9,2
25,4127,C,Placebo,16463,F,N,N,N,N,0.7,298,4.1,40,661,106.95,66,324,11.3,2
26,1444,D,Placebo,19002,F,N,Y,Y,N,5.2,1128,3.68,53,3228,165.85,166,421,9.9,3
27,77,D,Placebo,19884,F,Y,Y,Y,S,21.6,175,3.31,221,3697.4,101.91,168,80,12,4
28,549,D,Placebo,16417,F,Y,Y,Y,Y,17.2,222,3.23,209,1975,189.1,195,144,13,4
29,4509,C,Placebo,23331,F,N,N,N,N,0.7,370,3.78,24,5833,73.53,86,390,10.6,2
30,321,D,Placebo,15116,F,N,Y,Y,N,3.6,260,2.54,172,7277,121.26,158,124,11,4
31,3839,D,Placebo,15177,F,N,Y,N,N,4.7,296,3.44,114,9933.2,206.4,101,195,10.3,2
32,4523,C,Placebo,19722,F,N,Y,N,N,1.8,262,3.34,101,7277,82.56,158,286,10.6,4
33,3170,D,Placebo,18731,F,N,N,N,N,0.8,210,3.19,82,1592,218.55,113,180,12,3
34,3933,C,D-penicillamine,19015,F,N,N,N,N,0.8,364,3.7,37,1840,170.5,64,273,10.5,2
35,2847,D,Placebo,17758,F,N,N,N,N,1.2,314,3.2,201,12258.8,72.24,151,431,10.6,3
36,3611,C,Placebo,20604,F,N,N,N,N,0.3,172,3.39,18,558,71.3,96,311,10.6,2
37,223,D,D-penicillamine,22546,F,Y,Y,N,Y,7.1,334,3.01,150,6931.2,180.6,118,102,12,4
38,3244,D,Placebo,13378,F,N,Y,Y,N,3.3,383,3.53,102,1234,137.95,87,234,11,4
39,2297,D,D-penicillamine,20232,F,N,Y,N,N,0.7,282,3,52,9066.8,72.24,111,563,10.6,4
40,4467,C,D-penicillamine,17046,F,N,N,N,N,1.3,NA,3.34,105,11046.6,104.49,NA,358,11,4
41,1350,D,D-penicillamine,12285,F,N,Y,N,N,6.8,NA,3.26,96,1215,151.9,NA,226,11.7,4
42,4453,C,Placebo,12307,F,N,Y,Y,N,2.1,NA,3.54,122,8778,56.76,NA,344,11,4
43,4556,C,D-penicillamine,17850,F,N,N,N,N,1.1,361,3.64,36,5430.2,67.08,89,203,10.6,2
44,3428,D,Placebo,13727,F,N,Y,Y,Y,3.3,299,3.55,131,1029,119.35,50,199,11.7,3
45,4025,C,Placebo,15265,F,N,N,N,N,0.6,NA,3.93,19,1826,71.3,NA,474,10.9,2
46,2256,D,D-penicillamine,16728,F,N,Y,N,N,5.7,482,2.84,161,11552,136.74,165,518,12.7,3
47,2576,C,Placebo,17323,F,N,N,N,N,0.5,316,3.65,68,1716,187.55,71,356,9.8,3
48,4427,C,Placebo,17947,M,N,N,N,N,1.9,259,3.7,281,10396.8,188.34,178,214,11,3
49,708,D,Placebo,22336,F,N,Y,N,N,0.8,NA,3.82,58,678,97.65,NA,233,11,4
50,2598,D,D-penicillamine,19544,F,N,Y,N,N,1.1,257,3.36,43,1080,106.95,73,128,10.6,4
51,3853,D,Placebo,19025,F,N,N,N,N,0.8,276,3.6,54,4332,99.33,143,273,10.6,2
52,2386,D,D-penicillamine,18460,M,N,N,N,N,6,614,3.7,158,5084.4,206.4,93,362,10.6,1
53,1000,D,D-penicillamine,24621,F,N,Y,N,N,2.6,NA,3.1,94,6456.2,56.76,NA,214,11,4
54,1434,D,D-penicillamine,14317,F,Y,Y,Y,Y,1.3,288,3.4,262,5487.2,73.53,125,254,11,4
55,1360,D,D-penicillamine,24020,M,N,N,N,N,1.8,416,3.94,121,10165,79.98,219,213,11,3
56,1847,D,Placebo,12279,F,N,Y,Y,N,1.1,498,3.8,88,13862.4,95.46,319,365,10.6,2
57,3282,D,D-penicillamine,19567,F,N,Y,N,S,2.3,260,3.18,231,11320.2,105.78,94,216,12.4,3
58,4459,C,D-penicillamine,16279,M,N,N,N,N,0.7,242,4.08,73,5890,56.76,118,NA,10.6,1
59,2224,D,D-penicillamine,14754,F,N,Y,Y,N,0.8,329,3.5,49,7622.8,126.42,124,321,10.6,3
60,4365,C,D-penicillamine,21324,F,N,N,N,N,0.9,604,3.4,82,876,71.3,58,228,10.3,3
61,4256,C,Placebo,16034,M,N,N,N,N,0.6,216,3.94,28,601,60.45,188,211,13,1
62,3090,D,Placebo,22173,F,Y,N,N,N,1.3,302,2.75,58,1523,43.4,112,329,13.2,4
63,859,D,Placebo,17031,F,N,N,Y,Y,22.5,932,3.12,95,5396,244.9,133,165,11.6,3
64,1487,D,Placebo,22977,F,N,Y,N,N,2.1,373,3.5,52,1009,150.35,188,178,11,3
65,3992,C,D-penicillamine,14684,F,N,N,N,N,1.2,256,3.6,74,724,141.05,108,430,10,1
66,4191,D,D-penicillamine,16967,M,N,Y,N,N,1.4,427,3.7,105,1909,182.9,171,123,11,3
67,2769,D,Placebo,18733,F,N,N,N,N,1.1,466,3.91,84,1787,328.6,185,261,10,3
68,4039,C,D-penicillamine,11912,F,N,N,N,N,0.7,174,4.09,58,642,71.3,46,203,10.6,3
69,1170,D,D-penicillamine,18021,F,N,Y,Y,S,20,652,3.46,159,3292,215.45,184,227,12.4,3
70,3458,C,D-penicillamine,20600,F,N,N,N,N,0.6,NA,4.64,20,666,54.25,NA,265,10.6,2
71,4196,C,Placebo,17841,F,N,Y,N,N,1.2,258,3.57,79,2201,120.9,76,410,11.5,4
72,4184,C,Placebo,11868,F,N,N,N,N,0.5,320,3.54,51,1243,122.45,80,225,10,3
73,4190,C,Placebo,14060,F,N,N,N,N,0.7,132,3.6,17,423,49.6,56,265,11,1
74,1827,D,D-penicillamine,18964,F,N,Y,Y,N,8.4,558,3.99,280,967,89.9,309,278,11,4
75,1191,D,D-penicillamine,15895,F,Y,Y,Y,S,17.1,674,2.53,207,2078,182.9,598,268,11.5,4
76,71,D,D-penicillamine,18972,F,N,Y,Y,S,12.2,394,3.08,111,2132,155,243,165,11.6,4
77,326,D,Placebo,18199,F,N,Y,Y,S,6.6,244,3.41,199,1819,170.5,91,132,12.1,3
78,1690,D,D-penicillamine,17512,F,N,Y,N,N,6.3,436,3.02,75,2176,170.5,104,236,10.6,4
79,3707,C,D-penicillamine,16990,F,N,Y,N,N,0.8,315,4.24,13,1637,170.5,70,426,10.9,3
80,890,D,Placebo,24622,M,N,Y,N,N,7.2,247,3.72,269,1303,176.7,91,360,11.2,4
81,2540,D,D-penicillamine,23107,F,N,Y,Y,N,14.4,448,3.65,34,1218,60.45,318,385,11.7,4
82,3574,D,D-penicillamine,24585,F,N,N,N,N,4.5,472,4.09,154,1580,117.8,272,412,11.1,3
83,4050,C,D-penicillamine,20459,F,N,Y,N,S,1.3,250,3.5,48,1138,71.3,100,81,12.9,4
84,4032,C,Placebo,20392,F,N,N,N,N,0.4,263,3.76,29,1345,137.95,74,181,11.2,3
85,3358,D,Placebo,17246,F,N,Y,N,N,2.1,262,3.48,58,2045,89.9,84,225,11.5,4
86,1657,D,D-penicillamine,19270,F,N,Y,Y,N,5,1600,3.21,75,2656,82.15,174,181,10.9,3
87,198,D,D-penicillamine,13616,F,N,N,N,N,1.1,345,4.4,75,1860,218.55,72,447,10.7,3
88,2452,C,Placebo,15119,F,N,N,N,S,0.6,296,4.06,37,1032,80.6,83,442,12,3
89,1741,D,D-penicillamine,19155,F,N,Y,N,N,2,408,3.65,50,1083,110.05,98,200,11.4,2
90,2689,D,D-penicillamine,12227,M,N,N,N,N,1.6,660,4.22,94,1857,151.9,155,337,11,2
91,460,D,Placebo,16658,F,N,Y,Y,S,5,325,3.47,110,2460,246.45,56,430,11.9,4
92,388,D,D-penicillamine,28018,F,Y,N,N,Y,1.4,206,3.13,36,1626,86.8,70,145,12.2,4
93,3913,C,D-penicillamine,13344,F,N,N,N,N,1.3,353,3.67,73,2039,232.5,68,380,11.1,2
94,750,D,D-penicillamine,19693,F,N,Y,Y,N,3.2,201,3.11,178,1212,159.65,69,188,11.8,4
95,130,D,Placebo,16944,F,Y,Y,Y,Y,17.4,NA,2.64,182,559,119.35,NA,401,11.7,2
96,3850,C,D-penicillamine,17841,F,N,N,N,N,1,NA,3.7,33,1258,99.2,NA,338,10.4,3
97,611,D,Placebo,26259,M,N,Y,N,S,2,420,3.26,62,3196,77.5,91,344,11.4,3
98,3823,C,D-penicillamine,10550,F,N,N,N,N,1,239,3.77,77,1877,97.65,101,312,10.2,1
99,3820,C,Placebo,17703,M,N,N,N,N,1.8,460,3.35,148,1472,108.5,118,172,10.2,2
100,552,D,Placebo,18799,M,N,Y,N,N,2.3,178,3,145,746,178.25,122,119,12,4
101,3581,C,Placebo,16418,F,N,N,N,N,0.9,400,3.6,31,1689,164.3,166,327,10.4,3
102,3099,C,D-penicillamine,20662,F,N,N,N,N,0.9,248,3.97,172,646,62,84,128,10.1,1
103,110,D,Placebo,17884,F,Y,Y,Y,Y,2.5,188,3.67,57,1273,119.35,102,110,11.1,4
104,3086,D,D-penicillamine,15712,F,N,N,N,N,1.1,303,3.64,20,2108,128.65,53,349,11.1,2
105,3092,CL,Placebo,12433,F,N,Y,N,N,1.1,464,4.2,38,1644,151.9,102,348,10.3,3
106,3222,D,D-penicillamine,25023,F,Y,Y,N,N,2.1,NA,3.9,50,1087,103.85,NA,137,10.6,2
107,3388,C,Placebo,22836,F,N,N,N,N,0.6,212,4.03,10,648,71.3,77,316,17.1,1
108,2583,D,D-penicillamine,18393,F,N,N,N,N,0.4,127,3.5,14,1062,49.6,84,334,10.3,2
109,2504,C,Placebo,16094,F,N,N,N,N,0.5,120,3.61,53,804,110.05,52,271,10.6,3
110,2105,D,D-penicillamine,14212,F,N,Y,Y,N,1.9,486,3.54,74,1052,108.5,109,141,10.9,3
111,2350,CL,D-penicillamine,15031,F,N,N,N,N,5.5,528,4.18,77,2404,172.05,78,467,10.7,3
112,3445,D,Placebo,20256,F,N,Y,Y,N,2,267,3.67,89,754,196.85,90,136,11.8,4
113,980,D,D-penicillamine,18713,F,N,Y,Y,N,6.7,374,3.74,103,979,128.65,100,266,11.1,4
114,3395,D,Placebo,19295,M,N,N,N,N,3.2,259,4.3,208,1040,110.05,78,268,11.7,3
115,3422,C,Placebo,15574,F,N,N,Y,N,0.7,303,4.19,81,1584,111.6,156,307,10.3,3
116,3336,C,D-penicillamine,22306,F,N,N,Y,S,3,458,3.63,74,1588,106.95,382,438,9.9,3
117,1083,D,D-penicillamine,18137,F,N,Y,Y,N,6.5,950,3.11,111,2374,170.5,149,354,11,4
118,2288,D,D-penicillamine,17844,F,N,Y,N,N,3.5,390,3.3,67,878,137.95,93,207,10.2,3
119,515,D,D-penicillamine,19817,F,N,N,Y,N,0.6,636,3.83,129,944,97.65,114,306,9.5,3
120,2033,CL,D-penicillamine,12839,M,N,N,N,N,3.5,325,3.98,444,766,130.2,210,344,10.6,3
121,191,D,Placebo,24803,M,Y,Y,N,Y,1.3,151,3.08,73,1112,46.5,49,213,13.2,4
122,3297,C,D-penicillamine,20248,F,N,N,N,N,0.6,298,4.13,29,758,65.1,85,256,10.7,3
123,971,D,D-penicillamine,16736,F,N,Y,Y,Y,5.1,NA,3.23,18,790,179.8,NA,104,13,4
124,3069,C,D-penicillamine,19318,M,N,Y,N,N,0.6,251,3.9,25,681,57.35,107,182,10.8,4
125,2468,CL,Placebo,17233,F,N,Y,N,N,1.3,316,3.51,75,1162,147.25,137,238,10,4
126,824,D,D-penicillamine,19577,F,Y,Y,Y,N,1.2,269,3.12,NA,1441,165.85,68,166,11.1,4
127,3255,C,Placebo,16109,F,N,N,N,N,0.5,268,4.08,9,1174,86.8,95,453,10,2
128,1037,D,D-penicillamine,15322,F,N,Y,Y,N,16.2,NA,2.89,42,1828,299.15,NA,123,12.6,4
129,3239,C,D-penicillamine,23235,F,N,Y,N,N,0.9,420,3.87,30,1009,57.35,232,NA,9.7,3
130,1413,D,Placebo,16154,F,N,Y,Y,N,17.4,1775,3.43,205,2065,165.85,97,418,11.5,3
131,850,D,Placebo,22646,F,N,Y,Y,N,2.8,242,3.8,74,614,136.4,104,121,13.2,4
132,2944,C,D-penicillamine,14812,F,N,N,N,N,1.9,448,3.83,60,1052,127.1,175,181,9.8,3
133,2796,D,Placebo,22881,M,N,N,N,N,1.5,331,3.95,13,577,128.65,99,165,10.1,4
134,3149,C,Placebo,15463,F,N,N,N,N,0.7,578,3.67,35,1353,127.1,105,427,10.7,2
135,3150,C,D-penicillamine,15694,F,N,N,N,N,0.4,263,3.57,123,836,74.4,121,445,11,2
136,3098,C,D-penicillamine,20440,F,N,N,N,N,0.8,263,3.35,27,1636,116.25,69,206,9.8,2
137,2990,C,D-penicillamine,22960,F,N,N,N,N,1.1,399,3.6,79,3472,155,152,344,10.1,2
138,1297,D,D-penicillamine,18719,M,N,Y,N,N,7.3,426,3.93,262,2424,145.7,218,252,10.5,3
139,2106,C,Placebo,17080,F,N,Y,N,N,1.1,328,3.31,159,1260,94.55,134,142,11.6,4
140,3059,C,D-penicillamine,19751,F,N,Y,N,N,1.1,290,4.09,38,2120,186,146,318,10,3
141,3050,C,D-penicillamine,17180,F,N,N,N,N,0.9,346,3.77,59,794,125.55,56,336,10.6,2
142,2419,D,Placebo,20354,F,N,Y,N,N,1,364,3.48,20,720,134.85,88,283,9.9,2
143,786,D,Placebo,16839,F,N,Y,N,N,2.9,332,3.6,86,1492,134.85,103,277,11,4
144,943,D,Placebo,19098,F,N,Y,N,S,28,556,3.26,152,3896,198.4,171,335,10,3
145,2976,C,Placebo,18701,F,N,N,Y,N,0.7,309,3.84,96,858,41.85,106,253,11.4,3
146,2615,C,Placebo,12369,F,N,N,N,S,1.2,NA,3.89,58,1284,173.6,NA,239,9.4,3
147,2995,C,D-penicillamine,27398,F,N,N,N,S,1.2,288,3.37,32,791,57.35,114,213,10.7,2
148,1427,D,Placebo,11273,F,N,Y,N,N,7.2,1015,3.26,247,3836,198.4,280,330,9.8,3
149,762,D,D-penicillamine,22574,M,N,Y,Y,S,3,257,3.79,290,1664,102.3,112,140,9.9,4
150,2891,C,Placebo,12779,F,N,N,Y,N,1,NA,3.63,57,1536,134.85,NA,233,10,1
151,2870,C,D-penicillamine,20104,F,N,N,N,N,0.9,460,3.03,57,721,85.25,174,301,9.4,2
152,1152,D,D-penicillamine,25546,M,N,Y,N,N,2.3,586,3.01,243,2276,114.7,126,339,10.9,3
153,2863,C,D-penicillamine,18118,F,N,N,N,N,0.5,217,3.85,68,453,54.25,68,270,11.1,1
154,140,D,D-penicillamine,25340,M,N,N,Y,Y,2.4,168,2.56,225,1056,120.9,75,108,14.1,3
155,2666,C,Placebo,15909,F,N,Y,Y,S,0.6,220,3.35,57,1620,153.45,80,311,11.2,4
156,853,D,Placebo,21699,F,N,Y,N,N,25.5,358,3.52,219,2468,201.5,205,151,11.5,2
157,2835,C,Placebo,17809,F,N,N,N,N,0.6,286,3.42,34,1868,77.5,206,487,10,2
158,2475,CL,D-penicillamine,13329,F,N,N,N,N,3.4,450,3.37,32,1408,116.25,118,313,11.2,2
159,1536,D,Placebo,16714,M,N,N,N,N,2.5,317,3.46,217,714,130.2,140,207,10.1,3
160,2772,C,Placebo,20955,F,N,N,N,N,0.6,217,3.62,13,414,75.95,119,224,10.5,3
161,2797,C,Placebo,15612,F,N,N,N,N,2.3,502,3.56,4,964,120.9,180,269,9.6,2
162,186,D,Placebo,21483,F,N,Y,Y,N,3.2,260,3.19,91,815,127.1,101,160,12,4
163,2055,D,D-penicillamine,19540,F,N,N,N,N,0.3,233,4.08,20,622,66.65,68,358,9.9,3
164,264,D,Placebo,15857,F,N,Y,Y,S,8.5,NA,3.34,161,1428,181.35,NA,88,13.3,4
165,1077,D,D-penicillamine,19470,M,N,Y,N,N,4,196,3.45,80,2496,133.3,142,212,11.3,4
166,2721,C,Placebo,15105,F,N,Y,N,N,5.7,1480,3.26,84,1960,457.25,108,213,9.5,2
167,1682,D,D-penicillamine,22265,M,N,Y,N,N,0.9,376,3.86,200,1015,83.7,154,238,10.3,4
168,2713,C,Placebo,17442,F,N,Y,N,N,0.4,257,3.8,44,842,97.65,110,NA,9.2,2
169,1212,D,Placebo,12963,F,N,N,N,N,1.3,408,4.22,67,1387,142.6,137,295,10.1,3
170,2692,C,D-penicillamine,17774,F,N,N,N,N,1.2,390,3.61,32,1509,88.35,52,263,9,3
171,2574,C,D-penicillamine,19237,F,N,N,N,N,0.5,NA,4.52,31,784,74.4,NA,361,10.1,3
172,2301,C,Placebo,18215,F,N,N,Y,N,1.3,205,3.34,65,1031,91.45,126,217,9.8,3
173,2657,C,D-penicillamine,11058,F,N,Y,Y,N,3,236,3.42,76,1403,89.9,86,493,9.8,2
174,2644,C,D-penicillamine,20296,F,N,N,N,N,0.5,NA,3.85,63,663,79.05,NA,311,9.7,1
175,2624,C,Placebo,19049,F,N,N,N,N,0.8,283,3.8,152,718,108.5,168,340,10.1,3
176,1492,D,D-penicillamine,15198,F,N,Y,Y,N,3.2,NA,3.56,77,1790,139.5,NA,149,10.1,4
177,2609,C,Placebo,20254,F,N,N,N,N,0.9,258,4.01,49,559,43.4,133,277,10.4,2
178,2580,C,D-penicillamine,25569,F,N,N,N,N,0.6,NA,4.08,51,665,74.4,NA,325,10.2,4
179,2573,C,Placebo,16050,F,N,Y,N,N,1.8,396,3.83,39,2148,102.3,133,278,9.9,4
180,2563,C,Placebo,15548,F,N,N,N,N,4.7,478,4.38,44,1629,237.15,76,175,10.4,3
181,2556,C,D-penicillamine,16279,F,N,Y,Y,N,1.4,248,3.58,63,554,75.95,106,79,10.3,4
182,2555,C,D-penicillamine,20799,F,N,Y,N,N,0.6,NA,3.69,161,674,26.35,NA,539,9.9,2
183,2241,CL,Placebo,14705,F,N,N,N,N,0.5,201,3.73,44,1345,54.25,145,445,10.1,2
184,974,D,Placebo,13736,F,N,Y,N,N,11,674,3.55,358,2412,167.4,140,471,9.8,3
185,2527,C,D-penicillamine,17664,F,N,N,N,N,0.8,256,3.54,42,1132,74.4,94,192,10.5,3
186,1576,D,D-penicillamine,25873,F,N,N,Y,S,2,225,3.53,51,933,69.75,62,200,12.7,3
187,733,D,Placebo,13073,F,N,Y,N,N,14,808,3.43,251,2870,153.45,137,268,11.5,3
188,2332,C,D-penicillamine,22873,F,N,Y,N,N,0.7,187,3.48,41,654,120.9,98,164,11,4
189,2456,C,Placebo,18499,F,N,Y,N,N,1.3,360,3.63,52,1812,97.65,164,256,9.9,3
190,2504,C,D-penicillamine,19916,F,N,N,Y,N,2.3,NA,3.93,24,1828,133.3,NA,327,10.2,2
191,216,D,Placebo,19246,F,Y,Y,Y,N,24.5,1092,3.35,233,3740,147.25,432,399,15.2,4
192,2443,C,D-penicillamine,19256,F,N,Y,N,N,0.9,308,3.69,67,696,51.15,101,344,9.8,4
193,797,D,Placebo,20736,F,N,N,N,N,10.8,932,3.19,267,2184,161.2,157,382,10.4,4
194,2449,C,D-penicillamine,16216,F,N,N,N,N,1.5,293,4.3,50,975,125.55,56,336,9.1,2
195,2330,C,D-penicillamine,10795,F,N,Y,N,N,3.7,347,3.9,76,2544,221.65,90,129,11.5,4
196,2363,C,D-penicillamine,20834,F,N,Y,Y,N,1.4,226,3.36,13,810,72.85,62,117,11.6,4
197,2365,C,D-penicillamine,16300,F,N,N,N,N,0.6,266,3.97,25,1164,102.3,102,201,10.1,2
198,2357,C,Placebo,13075,F,N,N,Y,N,0.7,286,2.9,38,1692,141.05,90,381,9.6,2
199,1592,C,D-penicillamine,14872,F,N,N,N,N,2.1,392,3.43,52,1395,184.45,194,328,10.2,3
200,2318,C,Placebo,11773,F,N,N,Y,N,4.7,236,3.55,112,1391,137.95,114,332,9.9,3
201,2294,C,Placebo,15009,F,N,Y,N,N,0.6,235,3.2,26,1758,106.95,67,228,10.8,4
202,2272,C,D-penicillamine,22514,F,N,N,N,N,0.5,223,3.8,15,1044,80.6,89,514,10,2
203,2221,C,Placebo,13535,F,N,Y,N,N,0.5,149,4.04,227,598,52.7,57,166,9.9,2
204,2090,D,Placebo,22857,F,N,N,N,N,0.7,255,3.74,23,1024,77.5,58,281,10.2,3
205,2081,D,D-penicillamine,17889,F,Y,N,N,N,2.5,382,3.55,108,1516,238.7,NA,126,10.3,3
206,2255,C,D-penicillamine,22642,F,N,N,N,N,0.6,213,4.07,12,5300,57.35,68,240,11,1
207,2171,C,D-penicillamine,26580,F,N,N,N,S,0.6,NA,3.33,14,733,85.25,NA,259,10.1,4
208,904,D,D-penicillamine,22388,F,N,Y,N,N,3.9,396,3.2,58,1440,153.45,131,156,10,4
209,2216,C,Placebo,19221,F,N,Y,Y,N,0.7,252,4.01,11,1210,72.85,58,309,9.5,2
210,2224,C,Placebo,18176,M,N,Y,N,N,0.9,346,3.37,81,1098,122.45,90,298,10,2
211,2195,C,Placebo,19327,F,N,N,N,N,1.3,NA,3.76,27,1282,100.75,NA,114,10.3,3
212,2176,C,Placebo,17263,F,N,N,N,N,1.2,232,3.98,11,1074,100.75,99,223,9.9,3
213,2178,C,D-penicillamine,18337,F,N,N,Y,N,0.5,400,3.4,9,1134,96.1,55,356,10.2,3
214,1786,D,Placebo,25329,F,N,Y,N,N,0.9,404,3.43,34,1866,79.05,224,236,9.9,3
215,1080,D,Placebo,15037,F,N,N,N,N,5.9,1276,3.85,141,1204,203.05,157,216,10.7,3
216,2168,C,D-penicillamine,21610,F,N,N,N,N,0.5,NA,3.68,20,856,55.8,NA,146,10.4,3
217,790,D,Placebo,13178,F,N,Y,N,N,11.4,608,3.31,65,1790,151.9,210,298,10.8,4
218,2170,C,D-penicillamine,12636,F,N,N,N,N,0.5,NA,3.89,29,897,66.65,NA,423,10.1,1
219,2157,C,Placebo,15601,F,N,N,N,N,1.6,215,4.17,67,936,134.85,85,176,9.6,3
220,1235,D,D-penicillamine,23241,F,N,N,Y,N,3.8,426,3.22,96,2716,210.8,113,228,10.6,2
221,2050,C,Placebo,20684,F,N,Y,N,N,0.9,360,3.65,72,3186,94.55,154,269,9.7,4
222,597,D,Placebo,16898,F,N,Y,N,N,4.5,372,3.38,227,2310,167.4,135,240,12.4,3
223,334,D,D-penicillamine,22369,F,Y,Y,N,Y,14.1,448,2.43,123,1833,134,155,210,11,4
224,1945,C,D-penicillamine,14106,F,N,N,N,N,1,309,3.66,67,1214,158.1,101,309,9.7,3
225,2022,C,D-penicillamine,14161,F,N,N,N,N,0.7,274,3.66,108,1065,88.35,135,251,10.1,2
226,1978,C,Placebo,20708,F,N,Y,N,N,0.5,223,3.7,39,884,75.95,104,231,9.6,3
227,999,D,D-penicillamine,21532,M,N,N,N,N,2.3,316,3.35,172,1601,179.8,63,394,9.7,2
228,1967,C,Placebo,13486,F,N,N,N,N,0.7,215,3.35,41,645,93,74,165,9.6,3
229,348,D,D-penicillamine,22797,F,Y,Y,N,S,4.5,191,3.05,200,1020,175.15,118,139,11.4,4
230,1979,C,Placebo,12641,F,N,Y,Y,N,3.3,302,3.41,51,310,83.7,44,95,11.5,4
231,1165,D,Placebo,21307,F,N,Y,Y,N,3.4,518,1.96,115,2250,203.05,90,190,10.7,4
232,1951,C,D-penicillamine,18329,F,N,Y,N,N,0.4,267,3.02,47,1001,133.3,87,265,10.6,3
233,1932,C,D-penicillamine,15591,F,N,Y,Y,N,0.9,514,3.06,412,2622,105.4,87,284,9.8,4
234,1776,C,Placebo,12557,F,N,N,N,N,0.9,578,3.35,78,976,116.25,177,322,11.2,2
235,1882,C,Placebo,12120,F,N,Y,N,N,13,1336,4.16,71,3510,209.25,111,338,11.9,3
236,1908,C,D-penicillamine,14019,F,N,Y,Y,N,1.5,253,3.79,67,1006,139.5,106,341,9.7,3
237,1882,C,D-penicillamine,21828,F,N,Y,N,N,1.6,442,2.95,105,820,85.25,108,181,10.1,3
238,1874,C,Placebo,24257,F,N,N,N,S,0.6,280,3.35,NA,1093,128.65,81,295,9.8,2
239,694,D,D-penicillamine,17090,F,N,Y,Y,N,0.8,300,2.94,231,1794,130.2,99,319,11.2,4
240,1831,C,D-penicillamine,20483,F,N,N,N,N,0.4,232,3.72,24,369,51.15,139,326,10.1,3
241,837,CL,Placebo,15112,F,N,Y,Y,N,4.4,316,3.62,308,1119,114.7,322,282,9.8,4
242,1810,C,D-penicillamine,23585,F,N,Y,N,N,1.9,354,2.97,86,1553,196.85,152,277,9.9,3
243,930,D,Placebo,24650,F,N,Y,N,N,8,468,2.81,139,2009,198.4,139,233,10,4
244,1690,D,D-penicillamine,16374,F,N,N,Y,N,3.9,350,3.22,121,1268,272.8,231,270,9.6,3
245,1790,C,Placebo,16718,F,N,Y,N,N,0.6,273,3.65,48,794,52.7,214,305,9.6,3
246,1435,CL,D-penicillamine,12035,F,N,Y,N,N,2.1,387,3.77,63,1613,150.35,33,185,10.1,4
247,732,CL,D-penicillamine,15056,F,N,Y,N,N,6.1,1712,2.83,89,3681,158.1,139,297,10,3
248,1785,C,Placebo,20241,F,N,Y,N,N,0.8,324,3.51,39,1237,66.65,146,371,10,3
249,1783,C,D-penicillamine,17525,F,N,N,Y,N,1.3,242,3.2,35,1556,175.15,71,195,10.6,4
250,1769,C,Placebo,14899,F,N,Y,N,N,0.6,299,3.36,23,2769,220.1,85,303,10.9,4
251,1457,C,D-penicillamine,20810,F,N,N,N,N,0.5,227,3.61,40,676,83,120,249,9.9,2
252,1770,C,D-penicillamine,25006,F,N,Y,Y,N,1.1,246,3.35,116,924,113.15,90,317,10,4
253,1765,C,D-penicillamine,28650,M,Y,Y,Y,N,7.1,243,3.03,380,983,158.1,154,97,11.2,4
254,737,CL,D-penicillamine,14558,F,N,Y,Y,N,3.1,227,3.75,121,1136,110,91,264,10,3
255,1735,C,Placebo,12897,F,N,Y,Y,N,0.7,193,3.85,35,466,53,118,156,10.3,3
256,1701,C,D-penicillamine,11485,F,N,N,N,N,1.1,336,3.74,48,823,84,108,242,9.7,3
257,1614,C,D-penicillamine,21281,F,N,N,N,N,0.5,280,4.23,36,377,56,146,227,10.6,2
258,1702,C,D-penicillamine,18806,F,N,N,N,N,1.1,414,3.44,80,1003,99,55,271,9.6,1
259,1615,C,Placebo,21904,F,N,Y,N,N,3.1,277,2.97,42,1110,125,126,221,9.8,3
260,1656,C,Placebo,27220,M,N,Y,N,N,5.6,232,3.59,188,1120,98,128,248,10.9,4
261,1677,C,Placebo,19126,F,N,Y,Y,N,3.2,375,3.14,129,857,89,NA,375,9.5,3
262,1666,C,Placebo,15628,F,N,Y,N,N,2.8,322,3.06,65,2562,91,209,231,9.5,3
263,1301,CL,Placebo,12738,F,N,Y,Y,S,1.1,432,3.57,45,1406,190,77,248,11.4,4
264,1542,CL,Placebo,16122,F,N,Y,Y,N,3.4,356,3.12,188,1911,92,130,318,11.2,3
265,1084,CL,Placebo,16941,F,N,Y,N,N,3.5,348,3.2,121,938,120,146,296,10,4
266,1614,C,D-penicillamine,20567,F,N,N,N,N,0.5,318,3.32,52,613,70,260,279,10.2,3
267,179,D,D-penicillamine,25899,F,Y,Y,Y,Y,6.6,222,2.33,138,620,106,91,195,12.1,4
268,1191,D,D-penicillamine,20233,F,Y,Y,N,S,6.4,344,2.75,16,834,82,179,149,11,4
269,1363,C,Placebo,16467,F,N,N,N,N,3.6,374,3.5,143,1428,188,44,151,10.1,2
270,1568,C,D-penicillamine,9598,F,N,Y,Y,N,1,448,3.74,102,1128,71,117,228,10.2,3
271,1569,C,Placebo,18435,F,N,Y,N,N,1,321,3.5,94,955,111,177,289,9.7,3
272,1525,C,D-penicillamine,14025,F,N,N,N,N,0.5,226,2.93,22,674,58,85,153,9.8,1
273,1558,C,Placebo,17320,F,N,N,Y,N,2.2,328,3.46,75,1677,87,116,202,9.6,3
274,1447,CL,D-penicillamine,17525,F,N,N,N,N,1.6,NA,3.07,136,1995,128,NA,372,9.6,4
275,1349,C,D-penicillamine,13995,F,N,N,N,N,2.2,572,3.77,77,2520,92,114,309,9.5,4
276,1481,C,D-penicillamine,18302,F,N,N,N,N,1,219,3.85,67,640,145,108,95,10.7,2
277,1434,C,Placebo,12816,F,N,N,N,S,1,317,3.56,44,1636,84,111,394,9.8,3
278,1420,C,Placebo,11872,F,N,N,N,N,5.6,338,3.7,130,2139,185,193,215,9.9,4
279,1433,C,Placebo,20510,F,N,N,N,N,0.5,198,3.77,38,911,57,56,280,9.8,2
280,1412,C,D-penicillamine,16858,F,N,N,N,N,1.6,325,3.69,69,2583,142,140,284,9.6,3
281,41,D,D-penicillamine,24064,F,Y,N,N,Y,17.9,175,2.1,220,705,338,229,62,12.9,4
282,1455,C,Placebo,12398,F,N,Y,N,N,1.3,304,3.52,97,1622,71,169,255,9.5,4
283,1030,C,Placebo,22960,F,N,N,N,N,1.1,412,3.99,103,1293,91,113,422,9.6,4
284,1418,C,Placebo,17738,F,N,N,N,N,1.3,291,3.44,75,1082,85,195,251,9.5,3
285,1401,C,D-penicillamine,16929,F,N,N,N,N,0.8,253,3.48,65,688,57,80,252,10,1
286,1408,C,D-penicillamine,14191,F,N,Y,Y,N,2,310,3.36,70,1257,122,118,143,9.8,3
287,1234,C,D-penicillamine,21421,F,N,N,Y,N,6.4,373,3.46,155,1768,120,151,258,10.1,4
288,1067,CL,Placebo,17874,F,N,Y,N,S,8.7,310,3.89,107,637,117,242,298,9.6,2
289,799,D,D-penicillamine,24681,M,N,Y,N,S,4,416,3.99,177,960,86,242,269,9.8,2
290,1363,C,D-penicillamine,24101,F,N,N,N,N,1.4,294,3.57,33,722,93,69,283,9.8,3
291,901,CL,D-penicillamine,14939,F,N,N,N,N,3.2,339,3.18,123,3336,205,84,304,9.9,4
292,1329,C,Placebo,18352,M,N,Y,N,N,8.6,546,3.73,84,1070,127,153,291,11.2,3
293,1320,C,Placebo,20891,F,N,Y,Y,Y,8.5,194,2.98,196,815,163,78,122,12.3,4
294,1302,C,D-penicillamine,22111,M,N,Y,N,N,6.6,1000,3.07,88,3150,193,133,299,10.9,4
295,877,CL,D-penicillamine,12912,M,N,N,N,N,2.4,646,3.83,102,855,127,194,306,10.3,3
296,1321,C,Placebo,11462,F,N,N,N,N,0.8,328,3.31,62,1105,137,95,293,10.9,4
297,533,CL,D-penicillamine,20449,M,N,Y,N,N,1.2,275,3.43,100,1142,75,91,217,11.3,4
298,1300,C,Placebo,19258,F,N,Y,N,N,1.1,340,3.37,73,289,97,93,243,10.2,3
299,1293,C,D-penicillamine,13913,F,N,N,N,N,2.4,342,3.76,90,1653,150,127,213,10.8,3
300,207,D,Placebo,21247,F,N,Y,N,N,5.2,NA,2.23,234,601,135,NA,206,12.3,4
301,1295,C,Placebo,16513,F,N,N,N,N,1,393,3.57,50,1307,74,103,295,10.5,4
302,1271,C,D-penicillamine,13806,F,N,N,N,N,0.7,335,3.95,43,657,52,104,268,10.6,2
303,1250,C,Placebo,22156,F,N,Y,Y,N,1,372,3.25,108,1190,140,55,248,10.6,4
304,1230,C,D-penicillamine,12979,F,N,N,N,N,0.5,219,3.93,22,663,45,75,246,10.8,3
305,1216,C,Placebo,15730,F,N,Y,Y,N,2.9,426,3.61,73,5184,288,144,275,10.6,3
306,1216,C,Placebo,20597,F,N,Y,N,N,0.6,239,3.45,31,1072,55,64,227,10.7,2
307,1149,C,Placebo,11167,F,N,N,N,N,0.8,273,3.56,52,1282,130,59,344,10.5,2
308,1153,C,D-penicillamine,22347,F,N,Y,N,N,0.4,246,3.58,24,797,91,113,288,10.4,2
309,994,C,Placebo,21294,F,N,N,N,N,0.4,260,2.75,41,1166,70,82,231,10.8,2
310,939,C,D-penicillamine,22767,F,N,N,N,N,1.7,434,3.35,39,1713,171,100,234,10.2,2
311,839,C,D-penicillamine,13879,F,N,N,N,N,2,247,3.16,69,1050,117,88,335,10.5,2
312,788,C,Placebo,12109,F,N,N,Y,N,6.4,576,3.79,186,2115,136,149,200,10.8,2
313,4062,C,NA,21915,F,NA,NA,NA,N,0.7,NA,3.65,NA,NA,NA,NA,378,11,"NA"
314,3561,D,NA,23741,F,NA,NA,NA,S,1.4,NA,3.04,NA,NA,NA,NA,331,12.1,4
315,2844,C,NA,19724,F,NA,NA,NA,N,0.7,NA,4.03,NA,NA,NA,NA,226,9.8,4
316,2071,D,NA,27394,F,NA,NA,NA,S,0.7,NA,3.96,NA,NA,NA,NA,NA,11.3,4
317,3030,C,NA,22646,F,NA,NA,NA,N,0.8,NA,2.48,NA,NA,NA,NA,273,10,"NA"
318,1680,C,NA,15706,F,NA,NA,NA,N,0.7,NA,3.68,NA,NA,NA,NA,306,9.5,2
319,41,D,NA,16802,F,NA,NA,NA,N,5,NA,2.93,NA,NA,NA,NA,260,10.4,"NA"
320,2403,C,NA,16071,F,NA,NA,NA,S,0.4,NA,3.81,NA,NA,NA,NA,226,10.5,3
321,1170,C,NA,22280,M,NA,NA,NA,S,1.3,NA,3.41,NA,NA,NA,NA,259,10.9,4
322,2011,D,NA,23376,F,NA,NA,NA,N,1.1,NA,3.69,NA,NA,NA,NA,139,10.5,"NA"
323,3523,C,NA,14610,F,NA,NA,NA,N,0.6,NA,4.04,NA,NA,NA,NA,130,11.2,2
324,3468,C,NA,23011,F,NA,NA,NA,N,0.6,NA,3.94,NA,NA,NA,NA,234,11.5,2
325,4795,C,NA,12419,F,NA,NA,NA,N,1.8,NA,3.24,NA,NA,NA,NA,NA,18,2
326,1236,C,NA,18993,F,NA,NA,NA,N,1.5,NA,3.42,NA,NA,NA,NA,246,10.3,3
327,4214,C,NA,17897,F,NA,NA,NA,N,1.2,NA,3.99,NA,NA,NA,NA,NA,11.2,2
328,2111,D,NA,19724,F,NA,NA,NA,N,1,NA,3.6,NA,NA,NA,NA,NA,12.1,2
329,1462,D,NA,23011,F,NA,NA,NA,N,0.7,NA,3.4,NA,NA,NA,NA,371,10.1,4
330,1746,D,NA,19724,M,NA,NA,NA,N,3.5,NA,3.63,NA,NA,NA,NA,325,10.3,2
331,94,D,NA,16802,F,NA,NA,NA,S,3.1,NA,3.56,NA,NA,NA,NA,142,13.6,4
332,785,D,NA,19358,F,NA,NA,NA,N,12.6,NA,2.87,NA,NA,NA,NA,114,11.8,4
333,1518,D,NA,20454,F,NA,NA,NA,N,2.8,NA,3.92,NA,NA,NA,NA,NA,10.6,4
334,466,D,NA,20454,F,NA,NA,NA,N,7.1,NA,3.51,NA,NA,NA,NA,721,11.8,"NA"
335,3527,C,NA,20089,F,NA,NA,NA,N,0.6,NA,4.15,NA,NA,NA,NA,280,10.1,2
336,2635,C,NA,23741,F,NA,NA,NA,N,2.1,NA,3.34,NA,NA,NA,NA,155,10.1,4
337,2286,D,NA,20454,F,NA,NA,NA,N,1.8,NA,3.64,NA,NA,NA,NA,141,10,"NA"
338,791,D,NA,17167,F,NA,NA,NA,N,16,NA,3.42,NA,NA,NA,NA,475,13.8,2
339,3492,C,NA,21915,F,NA,NA,NA,N,0.6,NA,4.38,NA,NA,NA,NA,269,10.6,2
340,3495,C,NA,19358,F,NA,NA,NA,N,5.4,NA,4.19,NA,NA,NA,NA,141,11.2,2
341,111,D,NA,19724,F,NA,NA,NA,N,9,NA,3.29,NA,NA,NA,NA,286,13.1,4
342,3231,C,NA,18263,F,NA,NA,NA,N,0.9,NA,4.01,NA,NA,NA,NA,244,10.5,3
343,625,D,NA,17532,F,NA,NA,NA,N,11.1,NA,2.84,NA,NA,NA,NA,NA,12.2,2
344,3157,C,NA,13149,F,NA,NA,NA,N,8.9,NA,3.76,NA,NA,NA,NA,209,10.6,3
345,3021,CL,NA,17532,F,NA,NA,NA,N,0.5,NA,3.76,NA,NA,NA,NA,388,10.1,2
346,559,D,NA,25568,F,NA,NA,NA,S,0.6,NA,3.81,NA,NA,NA,NA,160,11,4
347,2812,D,NA,18628,F,NA,NA,NA,N,3.4,NA,3.92,NA,NA,NA,NA,NA,9.3,2
348,2834,C,NA,18993,M,NA,NA,NA,N,0.9,NA,3.14,NA,NA,NA,NA,191,12.3,2
349,2855,C,NA,19724,F,NA,NA,NA,N,1.4,NA,3.82,NA,NA,NA,NA,249,10.3,2
350,662,D,NA,17532,F,NA,NA,NA,N,2.1,NA,4.1,NA,NA,NA,NA,200,9,3
351,727,D,NA,24107,F,NA,NA,NA,N,15,NA,3.4,NA,NA,NA,NA,150,11.1,4
352,2716,C,NA,19358,F,NA,NA,NA,N,0.6,NA,4.19,NA,NA,NA,NA,330,9.9,1
353,2698,C,NA,22646,F,NA,NA,NA,N,1.3,NA,3.4,NA,NA,NA,NA,167,10.6,4
354,990,D,NA,21550,F,NA,NA,NA,N,1.3,NA,3.12,NA,NA,NA,NA,125,9.6,2
355,2338,C,NA,14245,F,NA,NA,NA,N,1.6,NA,3.75,NA,NA,NA,NA,145,10.4,3
356,1616,D,NA,24472,F,NA,NA,NA,S,2.2,NA,3.26,NA,NA,NA,NA,171,11.1,4
357,2563,C,NA,21185,F,NA,NA,NA,N,3,NA,3.46,NA,NA,NA,NA,109,10.4,4
358,2537,C,NA,23376,F,NA,NA,NA,N,0.8,NA,3.49,NA,NA,NA,NA,314,10.3,3
359,2534,C,NA,16802,F,NA,NA,NA,N,0.8,NA,2.89,NA,NA,NA,NA,419,NA,1
360,778,D,NA,23376,F,NA,NA,NA,N,1.8,NA,3.15,NA,NA,NA,NA,183,10.4,4
361,617,CL,NA,14975,F,NA,NA,NA,N,5.5,NA,2.31,NA,NA,NA,NA,517,10.4,4
362,2267,CL,NA,17897,F,NA,NA,NA,N,18,NA,3.04,NA,NA,NA,NA,432,9.7,2
363,2249,C,NA,16071,F,NA,NA,NA,N,0.6,NA,3.5,NA,NA,NA,NA,150,9.9,3
364,359,D,NA,21550,F,NA,NA,NA,N,2.7,NA,3.35,NA,NA,NA,NA,142,11.5,4
365,1925,C,NA,23011,F,NA,NA,NA,N,0.9,NA,3.58,NA,NA,NA,NA,224,10,3
366,249,D,NA,22280,F,NA,NA,NA,N,1.3,NA,3.01,NA,NA,NA,NA,223,10.7,3
367,2202,C,NA,23376,F,NA,NA,NA,N,1.1,NA,3.49,NA,NA,NA,NA,166,9.8,3
368,43,D,NA,17897,F,NA,NA,NA,N,13.8,NA,2.77,NA,NA,NA,NA,388,NA,4
369,1197,D,NA,15341,F,NA,NA,NA,N,4.4,NA,4.52,NA,NA,NA,NA,102,10.8,4
370,1095,D,NA,18263,F,NA,NA,NA,N,16,NA,3.36,NA,NA,NA,NA,384,10,3
371,489,D,NA,18628,F,NA,NA,NA,S,7.3,NA,3.52,NA,NA,NA,NA,265,11.1,1
372,2149,C,NA,13514,F,NA,NA,NA,N,0.6,NA,3.55,NA,NA,NA,NA,248,10.3,2
373,2103,C,NA,22646,F,NA,NA,NA,N,0.7,NA,3.29,NA,NA,NA,NA,190,9.8,2
374,1980,C,NA,18628,F,NA,NA,NA,N,0.7,NA,3.1,NA,NA,NA,NA,274,10.6,3
375,1347,CL,NA,18993,F,NA,NA,NA,N,1.7,NA,3.24,NA,NA,NA,NA,231,10.5,3
376,1478,D,NA,16071,M,NA,NA,NA,N,9.5,NA,3.63,NA,NA,NA,NA,292,10.2,3
377,1987,C,NA,12053,F,NA,NA,NA,N,2.2,NA,3.76,NA,NA,NA,NA,253,9.9,3
378,1168,D,NA,21915,F,NA,NA,NA,S,1.8,NA,3.62,NA,NA,NA,NA,225,9.9,2
379,597,D,NA,23011,F,NA,NA,NA,S,3.3,NA,2.73,NA,NA,NA,NA,224,11.1,4
380,1725,CL,NA,12053,F,NA,NA,NA,N,2.9,NA,4.08,NA,NA,NA,NA,418,10.5,3
381,1899,C,NA,14975,M,NA,NA,NA,N,1.7,NA,3.66,NA,NA,NA,NA,92,11,4
382,221,D,NA,18628,F,NA,NA,NA,N,14,NA,2.58,NA,NA,NA,NA,190,11.6,4
383,1022,CL,NA,13514,F,NA,NA,NA,S,0.8,NA,3,NA,NA,NA,NA,76,10.8,4
384,1639,C,NA,21550,F,NA,NA,NA,N,1.3,NA,3.4,NA,NA,NA,NA,243,9.7,1
385,1635,C,NA,20089,F,NA,NA,NA,N,0.7,NA,2.93,NA,NA,NA,NA,209,10.6,3
386,1654,C,NA,19724,M,NA,NA,NA,N,1.7,NA,2.38,NA,NA,NA,NA,166,9.8,3
387,1653,C,NA,17897,F,NA,NA,NA,S,13.6,NA,3,NA,NA,NA,NA,233,9.9,3
388,1560,C,NA,14610,F,NA,NA,NA,N,0.9,NA,3.5,NA,NA,NA,NA,117,10.9,4
389,1581,C,NA,24472,F,NA,NA,NA,N,0.7,NA,3.06,NA,NA,NA,NA,165,10,4
390,1419,C,NA,24837,M,NA,NA,NA,N,3,NA,3.15,NA,NA,NA,NA,139,10,3
391,1443,C,NA,14975,F,NA,NA,NA,N,1.2,NA,2.8,NA,NA,NA,NA,120,11,2
392,1368,C,NA,25202,F,NA,NA,NA,N,0.4,NA,3.03,NA,NA,NA,NA,173,10.9,3
393,193,D,NA,18993,F,NA,NA,NA,S,0.7,NA,2.96,NA,NA,NA,NA,319,9.9,4
394,1367,C,NA,20819,F,NA,NA,NA,S,2,NA,3.07,NA,NA,NA,NA,80,12.1,4
395,1329,C,NA,13149,F,NA,NA,NA,N,1.4,NA,3.98,NA,NA,NA,NA,402,11,1
396,1343,C,NA,18263,F,NA,NA,NA,N,1.6,NA,3.48,NA,NA,NA,NA,277,10.2,2
397,1328,C,NA,23376,F,NA,NA,NA,N,0.5,NA,3.65,NA,NA,NA,NA,425,10.2,4
398,1375,C,NA,22646,F,NA,NA,NA,N,7.3,NA,3.49,NA,NA,NA,NA,189,10.9,4
399,1260,C,NA,15341,F,NA,NA,NA,N,8.1,NA,2.82,NA,NA,NA,NA,193,10.4,2
400,1223,C,NA,16071,F,NA,NA,NA,N,0.5,NA,3.34,NA,NA,NA,NA,258,10.6,2
401,935,D,NA,25202,F,NA,NA,NA,N,4.2,NA,3.19,NA,NA,NA,NA,120,11.1,4
402,943,C,NA,18993,F,NA,NA,NA,N,0.8,NA,3.01,NA,NA,NA,NA,256,10.6,3
403,1141,C,NA,24107,F,NA,NA,NA,N,2.5,NA,3.33,NA,NA,NA,NA,256,10.8,4
404,1092,C,NA,14610,F,NA,NA,NA,N,4.6,NA,3.6,NA,NA,NA,NA,337,10.4,3
405,1150,C,NA,18993,F,NA,NA,NA,N,1,NA,3.64,NA,NA,NA,NA,340,10.6,3
406,703,D,NA,16802,F,NA,NA,NA,N,4.5,NA,2.68,NA,NA,NA,NA,219,11.5,4
407,1129,C,NA,19724,M,NA,NA,NA,N,1.1,NA,3.69,NA,NA,NA,NA,220,10.8,3
408,1086,C,NA,18628,F,NA,NA,NA,S,1.9,NA,3.17,NA,NA,NA,NA,162,10.7,3
409,1067,C,NA,15706,F,NA,NA,NA,N,0.7,NA,3.73,NA,NA,NA,NA,214,10.8,3
410,1072,C,NA,14245,F,NA,NA,NA,N,1.5,NA,3.81,NA,NA,NA,NA,255,10.8,3
411,1119,C,NA,18628,F,NA,NA,NA,N,0.6,NA,3.57,NA,NA,NA,NA,286,10.6,3
412,1097,C,NA,24472,F,NA,NA,NA,N,1,NA,3.58,NA,NA,NA,NA,244,10.8,3
413,989,C,NA,12784,F,NA,NA,NA,N,0.7,NA,3.23,NA,NA,NA,NA,312,10.8,3
414,681,D,NA,24472,F,NA,NA,NA,N,1.2,NA,2.96,NA,NA,NA,NA,174,10.9,3
415,1103,C,NA,14245,F,NA,NA,NA,N,0.9,NA,3.83,NA,NA,NA,NA,180,11.2,4
416,1055,C,NA,20819,F,NA,NA,NA,N,1.6,NA,3.42,NA,NA,NA,NA,143,9.9,3
417,691,C,NA,21185,F,NA,NA,NA,N,0.8,NA,3.75,NA,NA,NA,NA,269,10.4,3
418,976,C,NA,19358,F,NA,NA,NA,N,0.7,NA,3.29,NA,NA,NA,NA,350,10.6,4
1 ID N_Days Status Drug Age Sex Ascites Hepatomegaly Spiders Edema Bilirubin Cholesterol Albumin Copper Alk_Phos SGOT Tryglicerides Platelets Prothrombin Stage
2 1 400 D D-penicillamine 21464 F Y Y Y Y 14.5 261 2.6 156 1718 137.95 172 190 12.2 4
3 2 4500 C D-penicillamine 20617 F N Y Y N 1.1 302 4.14 54 7394.8 113.52 88 221 10.6 3
4 3 1012 D D-penicillamine 25594 M N N N S 1.4 176 3.48 210 516 96.1 55 151 12 4
5 4 1925 D D-penicillamine 19994 F N Y Y S 1.8 244 2.54 64 6121.8 60.63 92 183 10.3 4
6 5 1504 CL Placebo 13918 F N Y Y N 3.4 279 3.53 143 671 113.15 72 136 10.9 3
7 6 2503 D Placebo 24201 F N Y N N 0.8 248 3.98 50 944 93 63 NA 11 3
8 7 1832 C Placebo 20284 F N Y N N 1 322 4.09 52 824 60.45 213 204 9.7 3
9 8 2466 D Placebo 19379 F N N N N 0.3 280 4 52 4651.2 28.38 189 373 11 3
10 9 2400 D D-penicillamine 15526 F N N Y N 3.2 562 3.08 79 2276 144.15 88 251 11 2
11 10 51 D Placebo 25772 F Y N Y Y 12.6 200 2.74 140 918 147.25 143 302 11.5 4
12 11 3762 D Placebo 19619 F N Y Y N 1.4 259 4.16 46 1104 79.05 79 258 12 4
13 12 304 D Placebo 21600 F N N Y N 3.6 236 3.52 94 591 82.15 95 71 13.6 4
14 13 3577 C Placebo 16688 F N N N N 0.7 281 3.85 40 1181 88.35 130 244 10.6 3
15 14 1217 D Placebo 20535 M Y Y N Y 0.8 NA 2.27 43 728 71 NA 156 11 4
16 15 3584 D D-penicillamine 23612 F N N N N 0.8 231 3.87 173 9009.8 127.71 96 295 11 3
17 16 3672 C Placebo 14772 F N N N N 0.7 204 3.66 28 685 72.85 58 198 10.8 3
18 17 769 D Placebo 19060 F N Y N N 2.7 274 3.15 159 1533 117.8 128 224 10.5 4
19 18 131 D D-penicillamine 19698 F N Y Y Y 11.4 178 2.8 588 961 280.55 200 283 12.4 4
20 19 4232 C D-penicillamine 18102 F N Y N S 0.7 235 3.56 39 1881 93 123 209 11 3
21 20 1356 D Placebo 21898 F N Y N N 5.1 374 3.51 140 1919 122.45 135 322 13 4
22 21 3445 C Placebo 23445 M N Y Y N 0.6 252 3.83 41 843 65.1 83 336 11.4 4
23 22 673 D D-penicillamine 20555 F N N Y N 3.4 271 3.63 464 1376 120.9 55 173 11.6 4
24 23 264 D Placebo 20442 F Y Y Y Y 17.4 395 2.94 558 6064.8 227.04 191 214 11.7 4
25 24 4079 D D-penicillamine 16261 M N Y N N 2.1 456 4 124 5719 221.88 230 70 9.9 2
26 25 4127 C Placebo 16463 F N N N N 0.7 298 4.1 40 661 106.95 66 324 11.3 2
27 26 1444 D Placebo 19002 F N Y Y N 5.2 1128 3.68 53 3228 165.85 166 421 9.9 3
28 27 77 D Placebo 19884 F Y Y Y S 21.6 175 3.31 221 3697.4 101.91 168 80 12 4
29 28 549 D Placebo 16417 F Y Y Y Y 17.2 222 3.23 209 1975 189.1 195 144 13 4
30 29 4509 C Placebo 23331 F N N N N 0.7 370 3.78 24 5833 73.53 86 390 10.6 2
31 30 321 D Placebo 15116 F N Y Y N 3.6 260 2.54 172 7277 121.26 158 124 11 4
32 31 3839 D Placebo 15177 F N Y N N 4.7 296 3.44 114 9933.2 206.4 101 195 10.3 2
33 32 4523 C Placebo 19722 F N Y N N 1.8 262 3.34 101 7277 82.56 158 286 10.6 4
34 33 3170 D Placebo 18731 F N N N N 0.8 210 3.19 82 1592 218.55 113 180 12 3
35 34 3933 C D-penicillamine 19015 F N N N N 0.8 364 3.7 37 1840 170.5 64 273 10.5 2
36 35 2847 D Placebo 17758 F N N N N 1.2 314 3.2 201 12258.8 72.24 151 431 10.6 3
37 36 3611 C Placebo 20604 F N N N N 0.3 172 3.39 18 558 71.3 96 311 10.6 2
38 37 223 D D-penicillamine 22546 F Y Y N Y 7.1 334 3.01 150 6931.2 180.6 118 102 12 4
39 38 3244 D Placebo 13378 F N Y Y N 3.3 383 3.53 102 1234 137.95 87 234 11 4
40 39 2297 D D-penicillamine 20232 F N Y N N 0.7 282 3 52 9066.8 72.24 111 563 10.6 4
41 40 4467 C D-penicillamine 17046 F N N N N 1.3 NA 3.34 105 11046.6 104.49 NA 358 11 4
42 41 1350 D D-penicillamine 12285 F N Y N N 6.8 NA 3.26 96 1215 151.9 NA 226 11.7 4
43 42 4453 C Placebo 12307 F N Y Y N 2.1 NA 3.54 122 8778 56.76 NA 344 11 4
44 43 4556 C D-penicillamine 17850 F N N N N 1.1 361 3.64 36 5430.2 67.08 89 203 10.6 2
45 44 3428 D Placebo 13727 F N Y Y Y 3.3 299 3.55 131 1029 119.35 50 199 11.7 3
46 45 4025 C Placebo 15265 F N N N N 0.6 NA 3.93 19 1826 71.3 NA 474 10.9 2
47 46 2256 D D-penicillamine 16728 F N Y N N 5.7 482 2.84 161 11552 136.74 165 518 12.7 3
48 47 2576 C Placebo 17323 F N N N N 0.5 316 3.65 68 1716 187.55 71 356 9.8 3
49 48 4427 C Placebo 17947 M N N N N 1.9 259 3.7 281 10396.8 188.34 178 214 11 3
50 49 708 D Placebo 22336 F N Y N N 0.8 NA 3.82 58 678 97.65 NA 233 11 4
51 50 2598 D D-penicillamine 19544 F N Y N N 1.1 257 3.36 43 1080 106.95 73 128 10.6 4
52 51 3853 D Placebo 19025 F N N N N 0.8 276 3.6 54 4332 99.33 143 273 10.6 2
53 52 2386 D D-penicillamine 18460 M N N N N 6 614 3.7 158 5084.4 206.4 93 362 10.6 1
54 53 1000 D D-penicillamine 24621 F N Y N N 2.6 NA 3.1 94 6456.2 56.76 NA 214 11 4
55 54 1434 D D-penicillamine 14317 F Y Y Y Y 1.3 288 3.4 262 5487.2 73.53 125 254 11 4
56 55 1360 D D-penicillamine 24020 M N N N N 1.8 416 3.94 121 10165 79.98 219 213 11 3
57 56 1847 D Placebo 12279 F N Y Y N 1.1 498 3.8 88 13862.4 95.46 319 365 10.6 2
58 57 3282 D D-penicillamine 19567 F N Y N S 2.3 260 3.18 231 11320.2 105.78 94 216 12.4 3
59 58 4459 C D-penicillamine 16279 M N N N N 0.7 242 4.08 73 5890 56.76 118 NA 10.6 1
60 59 2224 D D-penicillamine 14754 F N Y Y N 0.8 329 3.5 49 7622.8 126.42 124 321 10.6 3
61 60 4365 C D-penicillamine 21324 F N N N N 0.9 604 3.4 82 876 71.3 58 228 10.3 3
62 61 4256 C Placebo 16034 M N N N N 0.6 216 3.94 28 601 60.45 188 211 13 1
63 62 3090 D Placebo 22173 F Y N N N 1.3 302 2.75 58 1523 43.4 112 329 13.2 4
64 63 859 D Placebo 17031 F N N Y Y 22.5 932 3.12 95 5396 244.9 133 165 11.6 3
65 64 1487 D Placebo 22977 F N Y N N 2.1 373 3.5 52 1009 150.35 188 178 11 3
66 65 3992 C D-penicillamine 14684 F N N N N 1.2 256 3.6 74 724 141.05 108 430 10 1
67 66 4191 D D-penicillamine 16967 M N Y N N 1.4 427 3.7 105 1909 182.9 171 123 11 3
68 67 2769 D Placebo 18733 F N N N N 1.1 466 3.91 84 1787 328.6 185 261 10 3
69 68 4039 C D-penicillamine 11912 F N N N N 0.7 174 4.09 58 642 71.3 46 203 10.6 3
70 69 1170 D D-penicillamine 18021 F N Y Y S 20 652 3.46 159 3292 215.45 184 227 12.4 3
71 70 3458 C D-penicillamine 20600 F N N N N 0.6 NA 4.64 20 666 54.25 NA 265 10.6 2
72 71 4196 C Placebo 17841 F N Y N N 1.2 258 3.57 79 2201 120.9 76 410 11.5 4
73 72 4184 C Placebo 11868 F N N N N 0.5 320 3.54 51 1243 122.45 80 225 10 3
74 73 4190 C Placebo 14060 F N N N N 0.7 132 3.6 17 423 49.6 56 265 11 1
75 74 1827 D D-penicillamine 18964 F N Y Y N 8.4 558 3.99 280 967 89.9 309 278 11 4
76 75 1191 D D-penicillamine 15895 F Y Y Y S 17.1 674 2.53 207 2078 182.9 598 268 11.5 4
77 76 71 D D-penicillamine 18972 F N Y Y S 12.2 394 3.08 111 2132 155 243 165 11.6 4
78 77 326 D Placebo 18199 F N Y Y S 6.6 244 3.41 199 1819 170.5 91 132 12.1 3
79 78 1690 D D-penicillamine 17512 F N Y N N 6.3 436 3.02 75 2176 170.5 104 236 10.6 4
80 79 3707 C D-penicillamine 16990 F N Y N N 0.8 315 4.24 13 1637 170.5 70 426 10.9 3
81 80 890 D Placebo 24622 M N Y N N 7.2 247 3.72 269 1303 176.7 91 360 11.2 4
82 81 2540 D D-penicillamine 23107 F N Y Y N 14.4 448 3.65 34 1218 60.45 318 385 11.7 4
83 82 3574 D D-penicillamine 24585 F N N N N 4.5 472 4.09 154 1580 117.8 272 412 11.1 3
84 83 4050 C D-penicillamine 20459 F N Y N S 1.3 250 3.5 48 1138 71.3 100 81 12.9 4
85 84 4032 C Placebo 20392 F N N N N 0.4 263 3.76 29 1345 137.95 74 181 11.2 3
86 85 3358 D Placebo 17246 F N Y N N 2.1 262 3.48 58 2045 89.9 84 225 11.5 4
87 86 1657 D D-penicillamine 19270 F N Y Y N 5 1600 3.21 75 2656 82.15 174 181 10.9 3
88 87 198 D D-penicillamine 13616 F N N N N 1.1 345 4.4 75 1860 218.55 72 447 10.7 3
89 88 2452 C Placebo 15119 F N N N S 0.6 296 4.06 37 1032 80.6 83 442 12 3
90 89 1741 D D-penicillamine 19155 F N Y N N 2 408 3.65 50 1083 110.05 98 200 11.4 2
91 90 2689 D D-penicillamine 12227 M N N N N 1.6 660 4.22 94 1857 151.9 155 337 11 2
92 91 460 D Placebo 16658 F N Y Y S 5 325 3.47 110 2460 246.45 56 430 11.9 4
93 92 388 D D-penicillamine 28018 F Y N N Y 1.4 206 3.13 36 1626 86.8 70 145 12.2 4
94 93 3913 C D-penicillamine 13344 F N N N N 1.3 353 3.67 73 2039 232.5 68 380 11.1 2
95 94 750 D D-penicillamine 19693 F N Y Y N 3.2 201 3.11 178 1212 159.65 69 188 11.8 4
96 95 130 D Placebo 16944 F Y Y Y Y 17.4 NA 2.64 182 559 119.35 NA 401 11.7 2
97 96 3850 C D-penicillamine 17841 F N N N N 1 NA 3.7 33 1258 99.2 NA 338 10.4 3
98 97 611 D Placebo 26259 M N Y N S 2 420 3.26 62 3196 77.5 91 344 11.4 3
99 98 3823 C D-penicillamine 10550 F N N N N 1 239 3.77 77 1877 97.65 101 312 10.2 1
100 99 3820 C Placebo 17703 M N N N N 1.8 460 3.35 148 1472 108.5 118 172 10.2 2
101 100 552 D Placebo 18799 M N Y N N 2.3 178 3 145 746 178.25 122 119 12 4
102 101 3581 C Placebo 16418 F N N N N 0.9 400 3.6 31 1689 164.3 166 327 10.4 3
103 102 3099 C D-penicillamine 20662 F N N N N 0.9 248 3.97 172 646 62 84 128 10.1 1
104 103 110 D Placebo 17884 F Y Y Y Y 2.5 188 3.67 57 1273 119.35 102 110 11.1 4
105 104 3086 D D-penicillamine 15712 F N N N N 1.1 303 3.64 20 2108 128.65 53 349 11.1 2
106 105 3092 CL Placebo 12433 F N Y N N 1.1 464 4.2 38 1644 151.9 102 348 10.3 3
107 106 3222 D D-penicillamine 25023 F Y Y N N 2.1 NA 3.9 50 1087 103.85 NA 137 10.6 2
108 107 3388 C Placebo 22836 F N N N N 0.6 212 4.03 10 648 71.3 77 316 17.1 1
109 108 2583 D D-penicillamine 18393 F N N N N 0.4 127 3.5 14 1062 49.6 84 334 10.3 2
110 109 2504 C Placebo 16094 F N N N N 0.5 120 3.61 53 804 110.05 52 271 10.6 3
111 110 2105 D D-penicillamine 14212 F N Y Y N 1.9 486 3.54 74 1052 108.5 109 141 10.9 3
112 111 2350 CL D-penicillamine 15031 F N N N N 5.5 528 4.18 77 2404 172.05 78 467 10.7 3
113 112 3445 D Placebo 20256 F N Y Y N 2 267 3.67 89 754 196.85 90 136 11.8 4
114 113 980 D D-penicillamine 18713 F N Y Y N 6.7 374 3.74 103 979 128.65 100 266 11.1 4
115 114 3395 D Placebo 19295 M N N N N 3.2 259 4.3 208 1040 110.05 78 268 11.7 3
116 115 3422 C Placebo 15574 F N N Y N 0.7 303 4.19 81 1584 111.6 156 307 10.3 3
117 116 3336 C D-penicillamine 22306 F N N Y S 3 458 3.63 74 1588 106.95 382 438 9.9 3
118 117 1083 D D-penicillamine 18137 F N Y Y N 6.5 950 3.11 111 2374 170.5 149 354 11 4
119 118 2288 D D-penicillamine 17844 F N Y N N 3.5 390 3.3 67 878 137.95 93 207 10.2 3
120 119 515 D D-penicillamine 19817 F N N Y N 0.6 636 3.83 129 944 97.65 114 306 9.5 3
121 120 2033 CL D-penicillamine 12839 M N N N N 3.5 325 3.98 444 766 130.2 210 344 10.6 3
122 121 191 D Placebo 24803 M Y Y N Y 1.3 151 3.08 73 1112 46.5 49 213 13.2 4
123 122 3297 C D-penicillamine 20248 F N N N N 0.6 298 4.13 29 758 65.1 85 256 10.7 3
124 123 971 D D-penicillamine 16736 F N Y Y Y 5.1 NA 3.23 18 790 179.8 NA 104 13 4
125 124 3069 C D-penicillamine 19318 M N Y N N 0.6 251 3.9 25 681 57.35 107 182 10.8 4
126 125 2468 CL Placebo 17233 F N Y N N 1.3 316 3.51 75 1162 147.25 137 238 10 4
127 126 824 D D-penicillamine 19577 F Y Y Y N 1.2 269 3.12 NA 1441 165.85 68 166 11.1 4
128 127 3255 C Placebo 16109 F N N N N 0.5 268 4.08 9 1174 86.8 95 453 10 2
129 128 1037 D D-penicillamine 15322 F N Y Y N 16.2 NA 2.89 42 1828 299.15 NA 123 12.6 4
130 129 3239 C D-penicillamine 23235 F N Y N N 0.9 420 3.87 30 1009 57.35 232 NA 9.7 3
131 130 1413 D Placebo 16154 F N Y Y N 17.4 1775 3.43 205 2065 165.85 97 418 11.5 3
132 131 850 D Placebo 22646 F N Y Y N 2.8 242 3.8 74 614 136.4 104 121 13.2 4
133 132 2944 C D-penicillamine 14812 F N N N N 1.9 448 3.83 60 1052 127.1 175 181 9.8 3
134 133 2796 D Placebo 22881 M N N N N 1.5 331 3.95 13 577 128.65 99 165 10.1 4
135 134 3149 C Placebo 15463 F N N N N 0.7 578 3.67 35 1353 127.1 105 427 10.7 2
136 135 3150 C D-penicillamine 15694 F N N N N 0.4 263 3.57 123 836 74.4 121 445 11 2
137 136 3098 C D-penicillamine 20440 F N N N N 0.8 263 3.35 27 1636 116.25 69 206 9.8 2
138 137 2990 C D-penicillamine 22960 F N N N N 1.1 399 3.6 79 3472 155 152 344 10.1 2
139 138 1297 D D-penicillamine 18719 M N Y N N 7.3 426 3.93 262 2424 145.7 218 252 10.5 3
140 139 2106 C Placebo 17080 F N Y N N 1.1 328 3.31 159 1260 94.55 134 142 11.6 4
141 140 3059 C D-penicillamine 19751 F N Y N N 1.1 290 4.09 38 2120 186 146 318 10 3
142 141 3050 C D-penicillamine 17180 F N N N N 0.9 346 3.77 59 794 125.55 56 336 10.6 2
143 142 2419 D Placebo 20354 F N Y N N 1 364 3.48 20 720 134.85 88 283 9.9 2
144 143 786 D Placebo 16839 F N Y N N 2.9 332 3.6 86 1492 134.85 103 277 11 4
145 144 943 D Placebo 19098 F N Y N S 28 556 3.26 152 3896 198.4 171 335 10 3
146 145 2976 C Placebo 18701 F N N Y N 0.7 309 3.84 96 858 41.85 106 253 11.4 3
147 146 2615 C Placebo 12369 F N N N S 1.2 NA 3.89 58 1284 173.6 NA 239 9.4 3
148 147 2995 C D-penicillamine 27398 F N N N S 1.2 288 3.37 32 791 57.35 114 213 10.7 2
149 148 1427 D Placebo 11273 F N Y N N 7.2 1015 3.26 247 3836 198.4 280 330 9.8 3
150 149 762 D D-penicillamine 22574 M N Y Y S 3 257 3.79 290 1664 102.3 112 140 9.9 4
151 150 2891 C Placebo 12779 F N N Y N 1 NA 3.63 57 1536 134.85 NA 233 10 1
152 151 2870 C D-penicillamine 20104 F N N N N 0.9 460 3.03 57 721 85.25 174 301 9.4 2
153 152 1152 D D-penicillamine 25546 M N Y N N 2.3 586 3.01 243 2276 114.7 126 339 10.9 3
154 153 2863 C D-penicillamine 18118 F N N N N 0.5 217 3.85 68 453 54.25 68 270 11.1 1
155 154 140 D D-penicillamine 25340 M N N Y Y 2.4 168 2.56 225 1056 120.9 75 108 14.1 3
156 155 2666 C Placebo 15909 F N Y Y S 0.6 220 3.35 57 1620 153.45 80 311 11.2 4
157 156 853 D Placebo 21699 F N Y N N 25.5 358 3.52 219 2468 201.5 205 151 11.5 2
158 157 2835 C Placebo 17809 F N N N N 0.6 286 3.42 34 1868 77.5 206 487 10 2
159 158 2475 CL D-penicillamine 13329 F N N N N 3.4 450 3.37 32 1408 116.25 118 313 11.2 2
160 159 1536 D Placebo 16714 M N N N N 2.5 317 3.46 217 714 130.2 140 207 10.1 3
161 160 2772 C Placebo 20955 F N N N N 0.6 217 3.62 13 414 75.95 119 224 10.5 3
162 161 2797 C Placebo 15612 F N N N N 2.3 502 3.56 4 964 120.9 180 269 9.6 2
163 162 186 D Placebo 21483 F N Y Y N 3.2 260 3.19 91 815 127.1 101 160 12 4
164 163 2055 D D-penicillamine 19540 F N N N N 0.3 233 4.08 20 622 66.65 68 358 9.9 3
165 164 264 D Placebo 15857 F N Y Y S 8.5 NA 3.34 161 1428 181.35 NA 88 13.3 4
166 165 1077 D D-penicillamine 19470 M N Y N N 4 196 3.45 80 2496 133.3 142 212 11.3 4
167 166 2721 C Placebo 15105 F N Y N N 5.7 1480 3.26 84 1960 457.25 108 213 9.5 2
168 167 1682 D D-penicillamine 22265 M N Y N N 0.9 376 3.86 200 1015 83.7 154 238 10.3 4
169 168 2713 C Placebo 17442 F N Y N N 0.4 257 3.8 44 842 97.65 110 NA 9.2 2
170 169 1212 D Placebo 12963 F N N N N 1.3 408 4.22 67 1387 142.6 137 295 10.1 3
171 170 2692 C D-penicillamine 17774 F N N N N 1.2 390 3.61 32 1509 88.35 52 263 9 3
172 171 2574 C D-penicillamine 19237 F N N N N 0.5 NA 4.52 31 784 74.4 NA 361 10.1 3
173 172 2301 C Placebo 18215 F N N Y N 1.3 205 3.34 65 1031 91.45 126 217 9.8 3
174 173 2657 C D-penicillamine 11058 F N Y Y N 3 236 3.42 76 1403 89.9 86 493 9.8 2
175 174 2644 C D-penicillamine 20296 F N N N N 0.5 NA 3.85 63 663 79.05 NA 311 9.7 1
176 175 2624 C Placebo 19049 F N N N N 0.8 283 3.8 152 718 108.5 168 340 10.1 3
177 176 1492 D D-penicillamine 15198 F N Y Y N 3.2 NA 3.56 77 1790 139.5 NA 149 10.1 4
178 177 2609 C Placebo 20254 F N N N N 0.9 258 4.01 49 559 43.4 133 277 10.4 2
179 178 2580 C D-penicillamine 25569 F N N N N 0.6 NA 4.08 51 665 74.4 NA 325 10.2 4
180 179 2573 C Placebo 16050 F N Y N N 1.8 396 3.83 39 2148 102.3 133 278 9.9 4
181 180 2563 C Placebo 15548 F N N N N 4.7 478 4.38 44 1629 237.15 76 175 10.4 3
182 181 2556 C D-penicillamine 16279 F N Y Y N 1.4 248 3.58 63 554 75.95 106 79 10.3 4
183 182 2555 C D-penicillamine 20799 F N Y N N 0.6 NA 3.69 161 674 26.35 NA 539 9.9 2
184 183 2241 CL Placebo 14705 F N N N N 0.5 201 3.73 44 1345 54.25 145 445 10.1 2
185 184 974 D Placebo 13736 F N Y N N 11 674 3.55 358 2412 167.4 140 471 9.8 3
186 185 2527 C D-penicillamine 17664 F N N N N 0.8 256 3.54 42 1132 74.4 94 192 10.5 3
187 186 1576 D D-penicillamine 25873 F N N Y S 2 225 3.53 51 933 69.75 62 200 12.7 3
188 187 733 D Placebo 13073 F N Y N N 14 808 3.43 251 2870 153.45 137 268 11.5 3
189 188 2332 C D-penicillamine 22873 F N Y N N 0.7 187 3.48 41 654 120.9 98 164 11 4
190 189 2456 C Placebo 18499 F N Y N N 1.3 360 3.63 52 1812 97.65 164 256 9.9 3
191 190 2504 C D-penicillamine 19916 F N N Y N 2.3 NA 3.93 24 1828 133.3 NA 327 10.2 2
192 191 216 D Placebo 19246 F Y Y Y N 24.5 1092 3.35 233 3740 147.25 432 399 15.2 4
193 192 2443 C D-penicillamine 19256 F N Y N N 0.9 308 3.69 67 696 51.15 101 344 9.8 4
194 193 797 D Placebo 20736 F N N N N 10.8 932 3.19 267 2184 161.2 157 382 10.4 4
195 194 2449 C D-penicillamine 16216 F N N N N 1.5 293 4.3 50 975 125.55 56 336 9.1 2
196 195 2330 C D-penicillamine 10795 F N Y N N 3.7 347 3.9 76 2544 221.65 90 129 11.5 4
197 196 2363 C D-penicillamine 20834 F N Y Y N 1.4 226 3.36 13 810 72.85 62 117 11.6 4
198 197 2365 C D-penicillamine 16300 F N N N N 0.6 266 3.97 25 1164 102.3 102 201 10.1 2
199 198 2357 C Placebo 13075 F N N Y N 0.7 286 2.9 38 1692 141.05 90 381 9.6 2
200 199 1592 C D-penicillamine 14872 F N N N N 2.1 392 3.43 52 1395 184.45 194 328 10.2 3
201 200 2318 C Placebo 11773 F N N Y N 4.7 236 3.55 112 1391 137.95 114 332 9.9 3
202 201 2294 C Placebo 15009 F N Y N N 0.6 235 3.2 26 1758 106.95 67 228 10.8 4
203 202 2272 C D-penicillamine 22514 F N N N N 0.5 223 3.8 15 1044 80.6 89 514 10 2
204 203 2221 C Placebo 13535 F N Y N N 0.5 149 4.04 227 598 52.7 57 166 9.9 2
205 204 2090 D Placebo 22857 F N N N N 0.7 255 3.74 23 1024 77.5 58 281 10.2 3
206 205 2081 D D-penicillamine 17889 F Y N N N 2.5 382 3.55 108 1516 238.7 NA 126 10.3 3
207 206 2255 C D-penicillamine 22642 F N N N N 0.6 213 4.07 12 5300 57.35 68 240 11 1
208 207 2171 C D-penicillamine 26580 F N N N S 0.6 NA 3.33 14 733 85.25 NA 259 10.1 4
209 208 904 D D-penicillamine 22388 F N Y N N 3.9 396 3.2 58 1440 153.45 131 156 10 4
210 209 2216 C Placebo 19221 F N Y Y N 0.7 252 4.01 11 1210 72.85 58 309 9.5 2
211 210 2224 C Placebo 18176 M N Y N N 0.9 346 3.37 81 1098 122.45 90 298 10 2
212 211 2195 C Placebo 19327 F N N N N 1.3 NA 3.76 27 1282 100.75 NA 114 10.3 3
213 212 2176 C Placebo 17263 F N N N N 1.2 232 3.98 11 1074 100.75 99 223 9.9 3
214 213 2178 C D-penicillamine 18337 F N N Y N 0.5 400 3.4 9 1134 96.1 55 356 10.2 3
215 214 1786 D Placebo 25329 F N Y N N 0.9 404 3.43 34 1866 79.05 224 236 9.9 3
216 215 1080 D Placebo 15037 F N N N N 5.9 1276 3.85 141 1204 203.05 157 216 10.7 3
217 216 2168 C D-penicillamine 21610 F N N N N 0.5 NA 3.68 20 856 55.8 NA 146 10.4 3
218 217 790 D Placebo 13178 F N Y N N 11.4 608 3.31 65 1790 151.9 210 298 10.8 4
219 218 2170 C D-penicillamine 12636 F N N N N 0.5 NA 3.89 29 897 66.65 NA 423 10.1 1
220 219 2157 C Placebo 15601 F N N N N 1.6 215 4.17 67 936 134.85 85 176 9.6 3
221 220 1235 D D-penicillamine 23241 F N N Y N 3.8 426 3.22 96 2716 210.8 113 228 10.6 2
222 221 2050 C Placebo 20684 F N Y N N 0.9 360 3.65 72 3186 94.55 154 269 9.7 4
223 222 597 D Placebo 16898 F N Y N N 4.5 372 3.38 227 2310 167.4 135 240 12.4 3
224 223 334 D D-penicillamine 22369 F Y Y N Y 14.1 448 2.43 123 1833 134 155 210 11 4
225 224 1945 C D-penicillamine 14106 F N N N N 1 309 3.66 67 1214 158.1 101 309 9.7 3
226 225 2022 C D-penicillamine 14161 F N N N N 0.7 274 3.66 108 1065 88.35 135 251 10.1 2
227 226 1978 C Placebo 20708 F N Y N N 0.5 223 3.7 39 884 75.95 104 231 9.6 3
228 227 999 D D-penicillamine 21532 M N N N N 2.3 316 3.35 172 1601 179.8 63 394 9.7 2
229 228 1967 C Placebo 13486 F N N N N 0.7 215 3.35 41 645 93 74 165 9.6 3
230 229 348 D D-penicillamine 22797 F Y Y N S 4.5 191 3.05 200 1020 175.15 118 139 11.4 4
231 230 1979 C Placebo 12641 F N Y Y N 3.3 302 3.41 51 310 83.7 44 95 11.5 4
232 231 1165 D Placebo 21307 F N Y Y N 3.4 518 1.96 115 2250 203.05 90 190 10.7 4
233 232 1951 C D-penicillamine 18329 F N Y N N 0.4 267 3.02 47 1001 133.3 87 265 10.6 3
234 233 1932 C D-penicillamine 15591 F N Y Y N 0.9 514 3.06 412 2622 105.4 87 284 9.8 4
235 234 1776 C Placebo 12557 F N N N N 0.9 578 3.35 78 976 116.25 177 322 11.2 2
236 235 1882 C Placebo 12120 F N Y N N 13 1336 4.16 71 3510 209.25 111 338 11.9 3
237 236 1908 C D-penicillamine 14019 F N Y Y N 1.5 253 3.79 67 1006 139.5 106 341 9.7 3
238 237 1882 C D-penicillamine 21828 F N Y N N 1.6 442 2.95 105 820 85.25 108 181 10.1 3
239 238 1874 C Placebo 24257 F N N N S 0.6 280 3.35 NA 1093 128.65 81 295 9.8 2
240 239 694 D D-penicillamine 17090 F N Y Y N 0.8 300 2.94 231 1794 130.2 99 319 11.2 4
241 240 1831 C D-penicillamine 20483 F N N N N 0.4 232 3.72 24 369 51.15 139 326 10.1 3
242 241 837 CL Placebo 15112 F N Y Y N 4.4 316 3.62 308 1119 114.7 322 282 9.8 4
243 242 1810 C D-penicillamine 23585 F N Y N N 1.9 354 2.97 86 1553 196.85 152 277 9.9 3
244 243 930 D Placebo 24650 F N Y N N 8 468 2.81 139 2009 198.4 139 233 10 4
245 244 1690 D D-penicillamine 16374 F N N Y N 3.9 350 3.22 121 1268 272.8 231 270 9.6 3
246 245 1790 C Placebo 16718 F N Y N N 0.6 273 3.65 48 794 52.7 214 305 9.6 3
247 246 1435 CL D-penicillamine 12035 F N Y N N 2.1 387 3.77 63 1613 150.35 33 185 10.1 4
248 247 732 CL D-penicillamine 15056 F N Y N N 6.1 1712 2.83 89 3681 158.1 139 297 10 3
249 248 1785 C Placebo 20241 F N Y N N 0.8 324 3.51 39 1237 66.65 146 371 10 3
250 249 1783 C D-penicillamine 17525 F N N Y N 1.3 242 3.2 35 1556 175.15 71 195 10.6 4
251 250 1769 C Placebo 14899 F N Y N N 0.6 299 3.36 23 2769 220.1 85 303 10.9 4
252 251 1457 C D-penicillamine 20810 F N N N N 0.5 227 3.61 40 676 83 120 249 9.9 2
253 252 1770 C D-penicillamine 25006 F N Y Y N 1.1 246 3.35 116 924 113.15 90 317 10 4
254 253 1765 C D-penicillamine 28650 M Y Y Y N 7.1 243 3.03 380 983 158.1 154 97 11.2 4
255 254 737 CL D-penicillamine 14558 F N Y Y N 3.1 227 3.75 121 1136 110 91 264 10 3
256 255 1735 C Placebo 12897 F N Y Y N 0.7 193 3.85 35 466 53 118 156 10.3 3
257 256 1701 C D-penicillamine 11485 F N N N N 1.1 336 3.74 48 823 84 108 242 9.7 3
258 257 1614 C D-penicillamine 21281 F N N N N 0.5 280 4.23 36 377 56 146 227 10.6 2
259 258 1702 C D-penicillamine 18806 F N N N N 1.1 414 3.44 80 1003 99 55 271 9.6 1
260 259 1615 C Placebo 21904 F N Y N N 3.1 277 2.97 42 1110 125 126 221 9.8 3
261 260 1656 C Placebo 27220 M N Y N N 5.6 232 3.59 188 1120 98 128 248 10.9 4
262 261 1677 C Placebo 19126 F N Y Y N 3.2 375 3.14 129 857 89 NA 375 9.5 3
263 262 1666 C Placebo 15628 F N Y N N 2.8 322 3.06 65 2562 91 209 231 9.5 3
264 263 1301 CL Placebo 12738 F N Y Y S 1.1 432 3.57 45 1406 190 77 248 11.4 4
265 264 1542 CL Placebo 16122 F N Y Y N 3.4 356 3.12 188 1911 92 130 318 11.2 3
266 265 1084 CL Placebo 16941 F N Y N N 3.5 348 3.2 121 938 120 146 296 10 4
267 266 1614 C D-penicillamine 20567 F N N N N 0.5 318 3.32 52 613 70 260 279 10.2 3
268 267 179 D D-penicillamine 25899 F Y Y Y Y 6.6 222 2.33 138 620 106 91 195 12.1 4
269 268 1191 D D-penicillamine 20233 F Y Y N S 6.4 344 2.75 16 834 82 179 149 11 4
270 269 1363 C Placebo 16467 F N N N N 3.6 374 3.5 143 1428 188 44 151 10.1 2
271 270 1568 C D-penicillamine 9598 F N Y Y N 1 448 3.74 102 1128 71 117 228 10.2 3
272 271 1569 C Placebo 18435 F N Y N N 1 321 3.5 94 955 111 177 289 9.7 3
273 272 1525 C D-penicillamine 14025 F N N N N 0.5 226 2.93 22 674 58 85 153 9.8 1
274 273 1558 C Placebo 17320 F N N Y N 2.2 328 3.46 75 1677 87 116 202 9.6 3
275 274 1447 CL D-penicillamine 17525 F N N N N 1.6 NA 3.07 136 1995 128 NA 372 9.6 4
276 275 1349 C D-penicillamine 13995 F N N N N 2.2 572 3.77 77 2520 92 114 309 9.5 4
277 276 1481 C D-penicillamine 18302 F N N N N 1 219 3.85 67 640 145 108 95 10.7 2
278 277 1434 C Placebo 12816 F N N N S 1 317 3.56 44 1636 84 111 394 9.8 3
279 278 1420 C Placebo 11872 F N N N N 5.6 338 3.7 130 2139 185 193 215 9.9 4
280 279 1433 C Placebo 20510 F N N N N 0.5 198 3.77 38 911 57 56 280 9.8 2
281 280 1412 C D-penicillamine 16858 F N N N N 1.6 325 3.69 69 2583 142 140 284 9.6 3
282 281 41 D D-penicillamine 24064 F Y N N Y 17.9 175 2.1 220 705 338 229 62 12.9 4
283 282 1455 C Placebo 12398 F N Y N N 1.3 304 3.52 97 1622 71 169 255 9.5 4
284 283 1030 C Placebo 22960 F N N N N 1.1 412 3.99 103 1293 91 113 422 9.6 4
285 284 1418 C Placebo 17738 F N N N N 1.3 291 3.44 75 1082 85 195 251 9.5 3
286 285 1401 C D-penicillamine 16929 F N N N N 0.8 253 3.48 65 688 57 80 252 10 1
287 286 1408 C D-penicillamine 14191 F N Y Y N 2 310 3.36 70 1257 122 118 143 9.8 3
288 287 1234 C D-penicillamine 21421 F N N Y N 6.4 373 3.46 155 1768 120 151 258 10.1 4
289 288 1067 CL Placebo 17874 F N Y N S 8.7 310 3.89 107 637 117 242 298 9.6 2
290 289 799 D D-penicillamine 24681 M N Y N S 4 416 3.99 177 960 86 242 269 9.8 2
291 290 1363 C D-penicillamine 24101 F N N N N 1.4 294 3.57 33 722 93 69 283 9.8 3
292 291 901 CL D-penicillamine 14939 F N N N N 3.2 339 3.18 123 3336 205 84 304 9.9 4
293 292 1329 C Placebo 18352 M N Y N N 8.6 546 3.73 84 1070 127 153 291 11.2 3
294 293 1320 C Placebo 20891 F N Y Y Y 8.5 194 2.98 196 815 163 78 122 12.3 4
295 294 1302 C D-penicillamine 22111 M N Y N N 6.6 1000 3.07 88 3150 193 133 299 10.9 4
296 295 877 CL D-penicillamine 12912 M N N N N 2.4 646 3.83 102 855 127 194 306 10.3 3
297 296 1321 C Placebo 11462 F N N N N 0.8 328 3.31 62 1105 137 95 293 10.9 4
298 297 533 CL D-penicillamine 20449 M N Y N N 1.2 275 3.43 100 1142 75 91 217 11.3 4
299 298 1300 C Placebo 19258 F N Y N N 1.1 340 3.37 73 289 97 93 243 10.2 3
300 299 1293 C D-penicillamine 13913 F N N N N 2.4 342 3.76 90 1653 150 127 213 10.8 3
301 300 207 D Placebo 21247 F N Y N N 5.2 NA 2.23 234 601 135 NA 206 12.3 4
302 301 1295 C Placebo 16513 F N N N N 1 393 3.57 50 1307 74 103 295 10.5 4
303 302 1271 C D-penicillamine 13806 F N N N N 0.7 335 3.95 43 657 52 104 268 10.6 2
304 303 1250 C Placebo 22156 F N Y Y N 1 372 3.25 108 1190 140 55 248 10.6 4
305 304 1230 C D-penicillamine 12979 F N N N N 0.5 219 3.93 22 663 45 75 246 10.8 3
306 305 1216 C Placebo 15730 F N Y Y N 2.9 426 3.61 73 5184 288 144 275 10.6 3
307 306 1216 C Placebo 20597 F N Y N N 0.6 239 3.45 31 1072 55 64 227 10.7 2
308 307 1149 C Placebo 11167 F N N N N 0.8 273 3.56 52 1282 130 59 344 10.5 2
309 308 1153 C D-penicillamine 22347 F N Y N N 0.4 246 3.58 24 797 91 113 288 10.4 2
310 309 994 C Placebo 21294 F N N N N 0.4 260 2.75 41 1166 70 82 231 10.8 2
311 310 939 C D-penicillamine 22767 F N N N N 1.7 434 3.35 39 1713 171 100 234 10.2 2
312 311 839 C D-penicillamine 13879 F N N N N 2 247 3.16 69 1050 117 88 335 10.5 2
313 312 788 C Placebo 12109 F N N Y N 6.4 576 3.79 186 2115 136 149 200 10.8 2
314 313 4062 C NA 21915 F NA NA NA N 0.7 NA 3.65 NA NA NA NA 378 11 NA
315 314 3561 D NA 23741 F NA NA NA S 1.4 NA 3.04 NA NA NA NA 331 12.1 4
316 315 2844 C NA 19724 F NA NA NA N 0.7 NA 4.03 NA NA NA NA 226 9.8 4
317 316 2071 D NA 27394 F NA NA NA S 0.7 NA 3.96 NA NA NA NA NA 11.3 4
318 317 3030 C NA 22646 F NA NA NA N 0.8 NA 2.48 NA NA NA NA 273 10 NA
319 318 1680 C NA 15706 F NA NA NA N 0.7 NA 3.68 NA NA NA NA 306 9.5 2
320 319 41 D NA 16802 F NA NA NA N 5 NA 2.93 NA NA NA NA 260 10.4 NA
321 320 2403 C NA 16071 F NA NA NA S 0.4 NA 3.81 NA NA NA NA 226 10.5 3
322 321 1170 C NA 22280 M NA NA NA S 1.3 NA 3.41 NA NA NA NA 259 10.9 4
323 322 2011 D NA 23376 F NA NA NA N 1.1 NA 3.69 NA NA NA NA 139 10.5 NA
324 323 3523 C NA 14610 F NA NA NA N 0.6 NA 4.04 NA NA NA NA 130 11.2 2
325 324 3468 C NA 23011 F NA NA NA N 0.6 NA 3.94 NA NA NA NA 234 11.5 2
326 325 4795 C NA 12419 F NA NA NA N 1.8 NA 3.24 NA NA NA NA NA 18 2
327 326 1236 C NA 18993 F NA NA NA N 1.5 NA 3.42 NA NA NA NA 246 10.3 3
328 327 4214 C NA 17897 F NA NA NA N 1.2 NA 3.99 NA NA NA NA NA 11.2 2
329 328 2111 D NA 19724 F NA NA NA N 1 NA 3.6 NA NA NA NA NA 12.1 2
330 329 1462 D NA 23011 F NA NA NA N 0.7 NA 3.4 NA NA NA NA 371 10.1 4
331 330 1746 D NA 19724 M NA NA NA N 3.5 NA 3.63 NA NA NA NA 325 10.3 2
332 331 94 D NA 16802 F NA NA NA S 3.1 NA 3.56 NA NA NA NA 142 13.6 4
333 332 785 D NA 19358 F NA NA NA N 12.6 NA 2.87 NA NA NA NA 114 11.8 4
334 333 1518 D NA 20454 F NA NA NA N 2.8 NA 3.92 NA NA NA NA NA 10.6 4
335 334 466 D NA 20454 F NA NA NA N 7.1 NA 3.51 NA NA NA NA 721 11.8 NA
336 335 3527 C NA 20089 F NA NA NA N 0.6 NA 4.15 NA NA NA NA 280 10.1 2
337 336 2635 C NA 23741 F NA NA NA N 2.1 NA 3.34 NA NA NA NA 155 10.1 4
338 337 2286 D NA 20454 F NA NA NA N 1.8 NA 3.64 NA NA NA NA 141 10 NA
339 338 791 D NA 17167 F NA NA NA N 16 NA 3.42 NA NA NA NA 475 13.8 2
340 339 3492 C NA 21915 F NA NA NA N 0.6 NA 4.38 NA NA NA NA 269 10.6 2
341 340 3495 C NA 19358 F NA NA NA N 5.4 NA 4.19 NA NA NA NA 141 11.2 2
342 341 111 D NA 19724 F NA NA NA N 9 NA 3.29 NA NA NA NA 286 13.1 4
343 342 3231 C NA 18263 F NA NA NA N 0.9 NA 4.01 NA NA NA NA 244 10.5 3
344 343 625 D NA 17532 F NA NA NA N 11.1 NA 2.84 NA NA NA NA NA 12.2 2
345 344 3157 C NA 13149 F NA NA NA N 8.9 NA 3.76 NA NA NA NA 209 10.6 3
346 345 3021 CL NA 17532 F NA NA NA N 0.5 NA 3.76 NA NA NA NA 388 10.1 2
347 346 559 D NA 25568 F NA NA NA S 0.6 NA 3.81 NA NA NA NA 160 11 4
348 347 2812 D NA 18628 F NA NA NA N 3.4 NA 3.92 NA NA NA NA NA 9.3 2
349 348 2834 C NA 18993 M NA NA NA N 0.9 NA 3.14 NA NA NA NA 191 12.3 2
350 349 2855 C NA 19724 F NA NA NA N 1.4 NA 3.82 NA NA NA NA 249 10.3 2
351 350 662 D NA 17532 F NA NA NA N 2.1 NA 4.1 NA NA NA NA 200 9 3
352 351 727 D NA 24107 F NA NA NA N 15 NA 3.4 NA NA NA NA 150 11.1 4
353 352 2716 C NA 19358 F NA NA NA N 0.6 NA 4.19 NA NA NA NA 330 9.9 1
354 353 2698 C NA 22646 F NA NA NA N 1.3 NA 3.4 NA NA NA NA 167 10.6 4
355 354 990 D NA 21550 F NA NA NA N 1.3 NA 3.12 NA NA NA NA 125 9.6 2
356 355 2338 C NA 14245 F NA NA NA N 1.6 NA 3.75 NA NA NA NA 145 10.4 3
357 356 1616 D NA 24472 F NA NA NA S 2.2 NA 3.26 NA NA NA NA 171 11.1 4
358 357 2563 C NA 21185 F NA NA NA N 3 NA 3.46 NA NA NA NA 109 10.4 4
359 358 2537 C NA 23376 F NA NA NA N 0.8 NA 3.49 NA NA NA NA 314 10.3 3
360 359 2534 C NA 16802 F NA NA NA N 0.8 NA 2.89 NA NA NA NA 419 NA 1
361 360 778 D NA 23376 F NA NA NA N 1.8 NA 3.15 NA NA NA NA 183 10.4 4
362 361 617 CL NA 14975 F NA NA NA N 5.5 NA 2.31 NA NA NA NA 517 10.4 4
363 362 2267 CL NA 17897 F NA NA NA N 18 NA 3.04 NA NA NA NA 432 9.7 2
364 363 2249 C NA 16071 F NA NA NA N 0.6 NA 3.5 NA NA NA NA 150 9.9 3
365 364 359 D NA 21550 F NA NA NA N 2.7 NA 3.35 NA NA NA NA 142 11.5 4
366 365 1925 C NA 23011 F NA NA NA N 0.9 NA 3.58 NA NA NA NA 224 10 3
367 366 249 D NA 22280 F NA NA NA N 1.3 NA 3.01 NA NA NA NA 223 10.7 3
368 367 2202 C NA 23376 F NA NA NA N 1.1 NA 3.49 NA NA NA NA 166 9.8 3
369 368 43 D NA 17897 F NA NA NA N 13.8 NA 2.77 NA NA NA NA 388 NA 4
370 369 1197 D NA 15341 F NA NA NA N 4.4 NA 4.52 NA NA NA NA 102 10.8 4
371 370 1095 D NA 18263 F NA NA NA N 16 NA 3.36 NA NA NA NA 384 10 3
372 371 489 D NA 18628 F NA NA NA S 7.3 NA 3.52 NA NA NA NA 265 11.1 1
373 372 2149 C NA 13514 F NA NA NA N 0.6 NA 3.55 NA NA NA NA 248 10.3 2
374 373 2103 C NA 22646 F NA NA NA N 0.7 NA 3.29 NA NA NA NA 190 9.8 2
375 374 1980 C NA 18628 F NA NA NA N 0.7 NA 3.1 NA NA NA NA 274 10.6 3
376 375 1347 CL NA 18993 F NA NA NA N 1.7 NA 3.24 NA NA NA NA 231 10.5 3
377 376 1478 D NA 16071 M NA NA NA N 9.5 NA 3.63 NA NA NA NA 292 10.2 3
378 377 1987 C NA 12053 F NA NA NA N 2.2 NA 3.76 NA NA NA NA 253 9.9 3
379 378 1168 D NA 21915 F NA NA NA S 1.8 NA 3.62 NA NA NA NA 225 9.9 2
380 379 597 D NA 23011 F NA NA NA S 3.3 NA 2.73 NA NA NA NA 224 11.1 4
381 380 1725 CL NA 12053 F NA NA NA N 2.9 NA 4.08 NA NA NA NA 418 10.5 3
382 381 1899 C NA 14975 M NA NA NA N 1.7 NA 3.66 NA NA NA NA 92 11 4
383 382 221 D NA 18628 F NA NA NA N 14 NA 2.58 NA NA NA NA 190 11.6 4
384 383 1022 CL NA 13514 F NA NA NA S 0.8 NA 3 NA NA NA NA 76 10.8 4
385 384 1639 C NA 21550 F NA NA NA N 1.3 NA 3.4 NA NA NA NA 243 9.7 1
386 385 1635 C NA 20089 F NA NA NA N 0.7 NA 2.93 NA NA NA NA 209 10.6 3
387 386 1654 C NA 19724 M NA NA NA N 1.7 NA 2.38 NA NA NA NA 166 9.8 3
388 387 1653 C NA 17897 F NA NA NA S 13.6 NA 3 NA NA NA NA 233 9.9 3
389 388 1560 C NA 14610 F NA NA NA N 0.9 NA 3.5 NA NA NA NA 117 10.9 4
390 389 1581 C NA 24472 F NA NA NA N 0.7 NA 3.06 NA NA NA NA 165 10 4
391 390 1419 C NA 24837 M NA NA NA N 3 NA 3.15 NA NA NA NA 139 10 3
392 391 1443 C NA 14975 F NA NA NA N 1.2 NA 2.8 NA NA NA NA 120 11 2
393 392 1368 C NA 25202 F NA NA NA N 0.4 NA 3.03 NA NA NA NA 173 10.9 3
394 393 193 D NA 18993 F NA NA NA S 0.7 NA 2.96 NA NA NA NA 319 9.9 4
395 394 1367 C NA 20819 F NA NA NA S 2 NA 3.07 NA NA NA NA 80 12.1 4
396 395 1329 C NA 13149 F NA NA NA N 1.4 NA 3.98 NA NA NA NA 402 11 1
397 396 1343 C NA 18263 F NA NA NA N 1.6 NA 3.48 NA NA NA NA 277 10.2 2
398 397 1328 C NA 23376 F NA NA NA N 0.5 NA 3.65 NA NA NA NA 425 10.2 4
399 398 1375 C NA 22646 F NA NA NA N 7.3 NA 3.49 NA NA NA NA 189 10.9 4
400 399 1260 C NA 15341 F NA NA NA N 8.1 NA 2.82 NA NA NA NA 193 10.4 2
401 400 1223 C NA 16071 F NA NA NA N 0.5 NA 3.34 NA NA NA NA 258 10.6 2
402 401 935 D NA 25202 F NA NA NA N 4.2 NA 3.19 NA NA NA NA 120 11.1 4
403 402 943 C NA 18993 F NA NA NA N 0.8 NA 3.01 NA NA NA NA 256 10.6 3
404 403 1141 C NA 24107 F NA NA NA N 2.5 NA 3.33 NA NA NA NA 256 10.8 4
405 404 1092 C NA 14610 F NA NA NA N 4.6 NA 3.6 NA NA NA NA 337 10.4 3
406 405 1150 C NA 18993 F NA NA NA N 1 NA 3.64 NA NA NA NA 340 10.6 3
407 406 703 D NA 16802 F NA NA NA N 4.5 NA 2.68 NA NA NA NA 219 11.5 4
408 407 1129 C NA 19724 M NA NA NA N 1.1 NA 3.69 NA NA NA NA 220 10.8 3
409 408 1086 C NA 18628 F NA NA NA S 1.9 NA 3.17 NA NA NA NA 162 10.7 3
410 409 1067 C NA 15706 F NA NA NA N 0.7 NA 3.73 NA NA NA NA 214 10.8 3
411 410 1072 C NA 14245 F NA NA NA N 1.5 NA 3.81 NA NA NA NA 255 10.8 3
412 411 1119 C NA 18628 F NA NA NA N 0.6 NA 3.57 NA NA NA NA 286 10.6 3
413 412 1097 C NA 24472 F NA NA NA N 1 NA 3.58 NA NA NA NA 244 10.8 3
414 413 989 C NA 12784 F NA NA NA N 0.7 NA 3.23 NA NA NA NA 312 10.8 3
415 414 681 D NA 24472 F NA NA NA N 1.2 NA 2.96 NA NA NA NA 174 10.9 3
416 415 1103 C NA 14245 F NA NA NA N 0.9 NA 3.83 NA NA NA NA 180 11.2 4
417 416 1055 C NA 20819 F NA NA NA N 1.6 NA 3.42 NA NA NA NA 143 9.9 3
418 417 691 C NA 21185 F NA NA NA N 0.8 NA 3.75 NA NA NA NA 269 10.4 3
419 418 976 C NA 19358 F NA NA NA N 0.7 NA 3.29 NA NA NA NA 350 10.6 4

View File

@@ -0,0 +1,450 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "ec2a032c",
"metadata": {},
"source": [
"---\n",
"date: '2025-09-03T17:13:02+08:00'\n",
"title: 'Generate Dataframe Summaries With Python'\n",
"feature_link: \"https://www.midjourney.com/home/\"\n",
"feature_text: \"by AI Midjourney\"\n",
"description: 'How to generate dataframe summaries with python and AI for a type of dataset'\n",
"isStarred: false\n",
"tags:\n",
"- datascience\n",
"- dataframe\n",
"- pandas\n",
"- llm\n",
"- Ollama\n",
"- mistral\n",
"categories:\n",
"- dev\n",
"images:\n",
"keywords:\n",
"series:\n",
"- Data and Data Tools\n",
"---"
]
},
{
"cell_type": "markdown",
"id": "f1df9197-c3c4-48d0-b985-90fc43db7f5b",
"metadata": {},
"source": [
"How much time do you spend with making summaries of dataset? Too much and I don't like doing it so I search to do it with the AI. So this is my sperimentation with some medical data see at PyDataVe 22nd event and Mistral model."
]
},
{
"cell_type": "markdown",
"id": "569e2513-b9d5-4d73-94b0-e9c72fb44152",
"metadata": {},
"source": [
"## The code for the inizializzation\n",
"\n",
"For start I need to install some dipendency\n",
"\n",
"~~~ text\n",
"langchain>=0.3.27\n",
"langchain-ollama>=0.3.7\n",
"pandas>=2.3.2\n",
"~~~"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "67c897ff-5971-4392-ab35-0cbad5600d74",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-\n",
"Dataset shape: (418, 20)\n",
"-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-\n",
"Missing value stats:\n",
"ID 0\n",
"N_Days 0\n",
"Status 0\n",
"Drug 106\n",
"Age 0\n",
"Sex 0\n",
"Ascites 106\n",
"Hepatomegaly 106\n",
"Spiders 106\n",
"Edema 0\n",
"Bilirubin 0\n",
"Cholesterol 134\n",
"Albumin 0\n",
"Copper 108\n",
"Alk_Phos 106\n",
"SGOT 106\n",
"Tryglicerides 136\n",
"Platelets 11\n",
"Prothrombin 2\n",
"Stage 6\n",
"dtype: int64\n"
]
}
],
"source": [
"import pandas as pd\n",
"from langchain_ollama import ChatOllama\n",
"from typing import Literal\n",
"\n",
"df = pd.read_csv(\"data/test.csv\")\n",
"\n",
"print(\"-*-\" * 20)\n",
"print(f\"Dataset shape: {df.shape}\")\n",
"print(\"-*-\" * 20)\n",
"print(\"Missing value stats:\")\n",
"print(df.isnull().sum())"
]
},
{
"cell_type": "markdown",
"id": "a6c1d5d9-33ce-4d19-82ab-800ec5ce3c45",
"metadata": {},
"source": [
"This is a section of the dataset and what is missing value of the stats.\n",
"\n",
"Now we will start with the AI. In my case I user Ollama with Mistral model.\n",
"I install the model with \n",
"\n",
"~~~ bash\n",
"ollama run mistral\n",
"~~~\n",
"\n",
"And prepare the code for use the model. First you need to make a connection with the local LLM instance. This code use Mistral but you can pass any local LLM instance you have.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "c32630b6-bc6c-40b1-a7a3-fabd7dcffa48",
"metadata": {},
"outputs": [],
"source": [
"def get_llm(model_name: str = \"mistral:latest\") -> ChatOllama:\n",
" \"\"\"\n",
" Create and configure a ChatOllama instance for local LLM inference.\n",
" \n",
" This function initializes a ChatOllama client configured to connect to a\n",
" local Ollama server. The client is set up with deterministic output\n",
" (temperature=0) for consistent responses across multiple calls with the\n",
" same input.\n",
" \n",
" Parameters\n",
" ----------\n",
" model_name : str, optional\n",
" The name of the Ollama model to use for chat completions.\n",
" Must be a valid model name that is available on the local Ollama\n",
" installation. Default is \"mistral:latest\".\n",
" \n",
" Returns\n",
" -------\n",
" ChatOllama\n",
" A configured ChatOllama instance ready for chat completions.\n",
" \"\"\"\n",
" return ChatOllama(\n",
" model=model_name, base_url=\"http://localhost:11434\", temperature=0\n",
" )"
]
},
{
"cell_type": "markdown",
"id": "52d5654b-831e-4cf4-a634-73b2dcf00e29",
"metadata": {},
"source": [
"If you want to test the connection you can use this command"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "c1cb7338-77e1-47d1-9b5f-6126b2cede4a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Hallo! Wie geht es Ihnen? Ich bin hier, um Ihnen zu helfen. Was möchten Sie heute tun?\n",
"\n",
"Ich kann Ihnen beispielsweise helfen:\n",
"\n",
"* Fragen beantworten\n",
"* Informationen suchen\n",
"* Aufgaben lösen\n",
"* und vieles mehr!\n",
"\n",
"Welche Aufgabe haben wir heute vor uns?\n"
]
}
],
"source": [
"print(get_llm().invoke(\"test\").content)"
]
},
{
"cell_type": "markdown",
"id": "a5ec2c60-0f16-4b6c-a763-c7d64ea9b6a2",
"metadata": {},
"source": [
"## Make a context\n",
"\n",
"Now we need to generate a context for the LLM. If you do this function with all the necessary data you can relaunch this script every time you need a new README/summary of the dataset. This is better to be a dataset with a fixed schema and a date which change every year like medical data (this), monthly sell report, census data..."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "73b658eb-d006-46fa-9b0d-a498cb6b5d98",
"metadata": {},
"outputs": [],
"source": [
"def get_summary_context_message(df: pd.DataFrame, dataset_name:str) -> str:\n",
" # Basic application statistics\n",
" total_analisys = len(df)\n",
"\n",
" # Gender distribution\n",
" gender_counts = df[\"Sex\"].value_counts()\n",
" male_count = gender_counts.get(\"M\", 0)\n",
" female_count = gender_counts.get(\"F\", 0)\n",
"\n",
" # Stage Statistics\n",
" stage_data = df[\"Stage\"].dropna()\n",
" stage_avg = stage_data.mean()\n",
" stage_25th = stage_data.quantile(0.25)\n",
" stage_50th = stage_data.quantile(0.50)\n",
" stage_75th = stage_data.quantile(0.75)\n",
"\n",
" # NDays Statistics\n",
" days_data = df[\"N_Days\"].dropna()\n",
" days_avg = days_data.mean()\n",
" days_25th = days_data.quantile(0.25)\n",
" days_50th = days_data.quantile(0.50)\n",
" days_75th = days_data.quantile(0.75)\n",
"\n",
" def status_category(exp):\n",
" if pd.isna(exp):\n",
" return \"Unkown\"\n",
" elif exp == \"C\":\n",
" return \"Censored\"\n",
" elif exp == \"CL\":\n",
" return \"Censored due to Lever tx\"\n",
" elif exp == \"D\":\n",
" return \"Death\"\n",
" else:\n",
" return \"Unkow\"\n",
"\n",
" df['Status Str']= df['Status'].apply(status_category)\n",
" status_str_stats = []\n",
"\n",
" for category in [\"Censored\", \"Censored due to Lever tx\", \"Death\",]: \n",
" category_data = df[df[\"Status Str\"] == category]\n",
" if len(category_data) > 0:\n",
" male = len(category_data[category_data[\"Sex\"] == \"M\"])\n",
" female = len(category_data[category_data[\"Sex\"] == \"F\"])\n",
" total = len(category_data)\n",
" rate_m = (male / total) * 100\n",
" rate_f = (female / total) * 100\n",
" status_str_stats.append((category, male, female, total, rate_m, rate_f))\n",
"\n",
" summary =f\"\"\"{dataset_name}\n",
" \n",
"Total Analisys: {total_analisys:,}\n",
"\n",
"Gender Distribution:\n",
"- Male applicants: {male_count:,} ({male_count/total_analisys*100:.1f}%)\n",
"- Female applicants: {female_count:,} ({female_count/total_analisys*100:.1f}%)\n",
"\n",
"Stage Statistics:\n",
"- Average Stage: {stage_avg:.2f}\n",
"- 25th percentile: {stage_25th:.2f}\n",
"- 50th percentile (median): {stage_50th:.2f}\n",
"- 75th percentile: {stage_75th:.2f}\n",
"\n",
"N Day Statistics:\n",
"- N Days Stage: {days_avg:.2f}\n",
"- 25th percentile: {days_25th:.2f}\n",
"- 50th percentile (median): {days_50th:.2f}\n",
"- 75th percentile: {days_75th:.2f}\n",
"\"\"\"\n",
"\n",
" summary += \"\\n\\nStatus Rates by Sex:\"\n",
" for category, male, female, total, rate_m, rate_f in status_str_stats:\n",
" summary += (\n",
" f\"\\n- {category}: {male}/{total} Male ({rate_m:.1f}% rate)\"+\n",
" f\"\\n- {category}: {female}/{total} Female ({rate_f:.1f}% rate)\"\n",
"\n",
" )\n",
" return summary\n"
]
},
{
"cell_type": "markdown",
"id": "851f7e68-d016-4c7c-8cce-bcd4374f6870",
"metadata": {},
"source": [
"## Make a report\n",
"\n",
"After checking all you need to have a template for the repo of the dataset."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "0f6b679b-f3de-4d4c-8167-0934aca4eb90",
"metadata": {},
"outputs": [],
"source": [
"SUMMARIZE_DATAFRAME_PROMPT = \"\"\"\n",
"You are an expert data analyst and data summarizer. \n",
"Your task is to take in complex datasets and return user-friendly descriptions and findings.\n",
"\n",
"You were given this dataset:\n",
"- Name: {dataset_name}\n",
"- Source: {dataset_source}\n",
"\n",
"This dataset was analyzed in a pipeline before it was given to you.\n",
"These are the findings returned by the analysis pipeline:\n",
"\n",
"<context>\n",
"{context}\n",
"</context>\n",
"\n",
"Based on these findings, write a detailed report in {report_format} format.\n",
"Give the report a meaningful title and separate findings into sections with headings and subheadings.\n",
"Output only the report in {report_format} and nothing else.\n",
"\n",
"Report:\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"id": "9b5f4a0d-4cae-49ab-add2-901c77100869",
"metadata": {},
"source": [
"This prompt and a lot of the code of this article are from [this post](https://towardsdatascience.com/llms-pandas-how-i-use-generative-ai-to-generate-pandas-dataframe-summaries-2/).\n",
"\n",
"After this we need a function that take the dataset *df*, the prompt *SUMMARIZE_DATAFRAME_PROMPT* with the needed info and return the content of the report."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "5f27c65b-31ed-4b87-b4fd-8d57d6021e93",
"metadata": {},
"outputs": [],
"source": [
"def get_report_summary(\n",
" dataset: pd.DataFrame,\n",
" dataset_name: str,\n",
" dataset_source: str,\n",
" report_format: Literal[\"markdown\", \"html\"] = \"markdown\",\n",
") -> str:\n",
" context_message = get_summary_context_message(df=dataset, dataset_name=dataset_name)\n",
" prompt = SUMMARIZE_DATAFRAME_PROMPT.format(\n",
" dataset_name=dataset_name,\n",
" dataset_source=dataset_source,\n",
" context=context_message,\n",
" report_format=report_format,\n",
" )\n",
" return get_llm().invoke(input=prompt).content"
]
},
{
"cell_type": "markdown",
"id": "2374dccc-01d9-4dc8-b591-ede7ae5b419d",
"metadata": {},
"source": [
"In our case we launch it as"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "677373bc-1e43-4d2c-b07a-02f0e1d0a761",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" # Cirrhosis Patient Survival Prediction Analysis Report\n",
"\n",
"## Overview\n",
"The dataset analyzed consists of 418 records related to cirrhosis patients, sourced from [Kaggle](https://www.kaggle.com/datasets/joebeachcapital/cirrhosis-patient-survival-prediction/data). The data provides information about the patient's gender, stage of cirrhosis, number of days since diagnosis, and final status (censored or death).\n",
"\n",
"## Demographics\n",
"### Gender Distribution\n",
"The dataset shows a significant imbalance in gender distribution with 89.5% female applicants (374) and only 10.5% male applicants (44).\n",
"\n",
"## Cirrhosis Stage Statistics\n",
"### Average Stage\n",
"The average stage of cirrhosis for the analyzed patients is 3.02, indicating a severe level of liver damage.\n",
"\n",
"### Percentiles\n",
"- **25th percentile**: The cirrhosis stage is at least 2.00 for 25% of the patients.\n",
"- **Median (50th percentile)**: Half of the patients have a cirrhosis stage of 3.00.\n",
"- **75th percentile**: For 75% of the patients, the cirrhosis stage is 4.00 or lower.\n",
"\n",
"## N Days Statistics\n",
"### N Days Stage\n",
"The average number of days since diagnosis for the analyzed patients is 1917.78 days.\n",
"\n",
"### Percentiles\n",
"- **25th percentile**: The minimum number of days since diagnosis for 25% of the patients is 1092.75 days.\n",
"- **Median (50th percentile)**: Half of the patients have been diagnosed with cirrhosis for at least 1730.00 days.\n",
"- **75th percentile**: For 75% of the patients, the number of days since diagnosis is 2613.50 days or less.\n",
"\n",
"## Status Rates by Sex\n",
"The following table shows the rates of different statuses (censored due to Lever tx and death) for both male and female applicants:\n",
"\n",
"| | Male Applicants | Female Applicants |\n",
"|---------------------|-----------------|-------------------|\n",
"| Censored | 17/232 (7.3%) | 215/232 (92.7%) |\n",
"| Censored due to Lever tx | 3/25 (12.0%) | 22/25 (88.0%) |\n",
"| Death | 24/161 (14.9%) | 137/161 (85.1%) |\n",
"\n",
"The analysis indicates that female applicants are more likely to have their status censored, either due to the lack of information or other factors, while male applicants are more likely to experience death. However, it's important to note that the sample size for male applicants is significantly smaller than that of female applicants.\n"
]
}
],
"source": [
"md_report = get_report_summary(\n",
" dataset=df, \n",
" dataset_name=\"Cirrhosis Patient Survival Prediction\",\n",
" dataset_source=\"https://www.kaggle.com/datasets/joebeachcapital/cirrhosis-patient-survival-prediction/data\"\n",
")\n",
"print(md_report)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@@ -0,0 +1,322 @@
---
date: '2025-09-03T17:13:02+08:00'
title: 'Generate Dataframe Summaries With Python'
feature_link: "https://www.midjourney.com/home/"
feature_text: "by AI Midjourney"
description: 'How to generate dataframe summaries with python and AI for a type of dataset'
isStarred: false
tags:
- datascience
- dataframe
- pandas
- llm
- Ollama
- mistral
categories:
- dev
images:
keywords:
series:
- Data and Data Tools
---
How much time do you spend with making summaries of dataset? Too much and I don't like doing it so I search to do it with the AI. So this is my sperimentation with some medical data see at PyDataVe 22nd event and Mistral model.
## The code for the inizializzation
For start I need to install some dipendency
~~~ text
langchain>=0.3.27
langchain-ollama>=0.3.7
pandas>=2.3.2
~~~
```python
import pandas as pd
from langchain_ollama import ChatOllama
from typing import Literal
df = pd.read_csv("data/test.csv")
print("-*-" * 20)
print(f"Dataset shape: {df.shape}")
print("-*-" * 20)
print("Missing value stats:")
print(df.isnull().sum())
```
-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-
Dataset shape: (418, 20)
-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-
Missing value stats:
ID 0
N_Days 0
Status 0
Drug 106
Age 0
Sex 0
Ascites 106
Hepatomegaly 106
Spiders 106
Edema 0
Bilirubin 0
Cholesterol 134
Albumin 0
Copper 108
Alk_Phos 106
SGOT 106
Tryglicerides 136
Platelets 11
Prothrombin 2
Stage 6
dtype: int64
This is a section of the dataset and what is missing value of the stats.
Now we will start with the AI. In my case I user Ollama with Mistral model.
I install the model with
~~~ bash
ollama run mistral
~~~
And prepare the code for use the model. First you need to make a connection with the local LLM instance. This code use Mistral but you can pass any local LLM instance you have.
```python
def get_llm(model_name: str = "mistral:latest") -> ChatOllama:
"""
Create and configure a ChatOllama instance for local LLM inference.
This function initializes a ChatOllama client configured to connect to a
local Ollama server. The client is set up with deterministic output
(temperature=0) for consistent responses across multiple calls with the
same input.
Parameters
----------
model_name : str, optional
The name of the Ollama model to use for chat completions.
Must be a valid model name that is available on the local Ollama
installation. Default is "mistral:latest".
Returns
-------
ChatOllama
A configured ChatOllama instance ready for chat completions.
"""
return ChatOllama(
model=model_name, base_url="http://localhost:11434", temperature=0
)
```
If you want to test the connection you can use this command
```python
print(get_llm().invoke("test").content)
```
Hallo! Wie geht es Ihnen? Ich bin hier, um Ihnen zu helfen. Was möchten Sie heute tun?
Ich kann Ihnen beispielsweise helfen:
* Fragen beantworten
* Informationen suchen
* Aufgaben lösen
* und vieles mehr!
Welche Aufgabe haben wir heute vor uns?
## Make a context
Now we need to generate a context for the LLM. If you do this function with all the necessary data you can relaunch this script every time you need a new README/summary of the dataset. This is better to be a dataset with a fixed schema and a date which change every year like medical data (this), monthly sell report, census data...
```python
def get_summary_context_message(df: pd.DataFrame, dataset_name:str) -> str:
# Basic application statistics
total_analisys = len(df)
# Gender distribution
gender_counts = df["Sex"].value_counts()
male_count = gender_counts.get("M", 0)
female_count = gender_counts.get("F", 0)
# Stage Statistics
stage_data = df["Stage"].dropna()
stage_avg = stage_data.mean()
stage_25th = stage_data.quantile(0.25)
stage_50th = stage_data.quantile(0.50)
stage_75th = stage_data.quantile(0.75)
# NDays Statistics
days_data = df["N_Days"].dropna()
days_avg = days_data.mean()
days_25th = days_data.quantile(0.25)
days_50th = days_data.quantile(0.50)
days_75th = days_data.quantile(0.75)
def status_category(exp):
if pd.isna(exp):
return "Unkown"
elif exp == "C":
return "Censored"
elif exp == "CL":
return "Censored due to Lever tx"
elif exp == "D":
return "Death"
else:
return "Unkow"
df['Status Str']= df['Status'].apply(status_category)
status_str_stats = []
for category in ["Censored", "Censored due to Lever tx", "Death",]:
category_data = df[df["Status Str"] == category]
if len(category_data) > 0:
male = len(category_data[category_data["Sex"] == "M"])
female = len(category_data[category_data["Sex"] == "F"])
total = len(category_data)
rate_m = (male / total) * 100
rate_f = (female / total) * 100
status_str_stats.append((category, male, female, total, rate_m, rate_f))
summary =f"""{dataset_name}
Total Analisys: {total_analisys:,}
Gender Distribution:
- Male applicants: {male_count:,} ({male_count/total_analisys*100:.1f}%)
- Female applicants: {female_count:,} ({female_count/total_analisys*100:.1f}%)
Stage Statistics:
- Average Stage: {stage_avg:.2f}
- 25th percentile: {stage_25th:.2f}
- 50th percentile (median): {stage_50th:.2f}
- 75th percentile: {stage_75th:.2f}
N Day Statistics:
- N Days Stage: {days_avg:.2f}
- 25th percentile: {days_25th:.2f}
- 50th percentile (median): {days_50th:.2f}
- 75th percentile: {days_75th:.2f}
"""
summary += "\n\nStatus Rates by Sex:"
for category, male, female, total, rate_m, rate_f in status_str_stats:
summary += (
f"\n- {category}: {male}/{total} Male ({rate_m:.1f}% rate)"+
f"\n- {category}: {female}/{total} Female ({rate_f:.1f}% rate)"
)
return summary
```
## Make a report
After checking all you need to have a template for the repo of the dataset.
```python
SUMMARIZE_DATAFRAME_PROMPT = """
You are an expert data analyst and data summarizer.
Your task is to take in complex datasets and return user-friendly descriptions and findings.
You were given this dataset:
- Name: {dataset_name}
- Source: {dataset_source}
This dataset was analyzed in a pipeline before it was given to you.
These are the findings returned by the analysis pipeline:
<context>
{context}
</context>
Based on these findings, write a detailed report in {report_format} format.
Give the report a meaningful title and separate findings into sections with headings and subheadings.
Output only the report in {report_format} and nothing else.
Report:
"""
```
This prompt and a lot of the code of this article are from [this post](https://towardsdatascience.com/llms-pandas-how-i-use-generative-ai-to-generate-pandas-dataframe-summaries-2/).
After this we need a function that take the dataset *df*, the prompt *SUMMARIZE_DATAFRAME_PROMPT* with the needed info and return the content of the report.
```python
def get_report_summary(
dataset: pd.DataFrame,
dataset_name: str,
dataset_source: str,
report_format: Literal["markdown", "html"] = "markdown",
) -> str:
context_message = get_summary_context_message(df=dataset, dataset_name=dataset_name)
prompt = SUMMARIZE_DATAFRAME_PROMPT.format(
dataset_name=dataset_name,
dataset_source=dataset_source,
context=context_message,
report_format=report_format,
)
return get_llm().invoke(input=prompt).content
```
In our case we launch it as
```python
md_report = get_report_summary(
dataset=df,
dataset_name="Cirrhosis Patient Survival Prediction",
dataset_source="https://www.kaggle.com/datasets/joebeachcapital/cirrhosis-patient-survival-prediction/data"
)
print(md_report)
```
# Cirrhosis Patient Survival Prediction Analysis Report
## Overview
The dataset analyzed consists of 418 records related to cirrhosis patients, sourced from [Kaggle](https://www.kaggle.com/datasets/joebeachcapital/cirrhosis-patient-survival-prediction/data). The data provides information about the patient's gender, stage of cirrhosis, number of days since diagnosis, and final status (censored or death).
## Demographics
### Gender Distribution
The dataset shows a significant imbalance in gender distribution with 89.5% female applicants (374) and only 10.5% male applicants (44).
## Cirrhosis Stage Statistics
### Average Stage
The average stage of cirrhosis for the analyzed patients is 3.02, indicating a severe level of liver damage.
### Percentiles
- **25th percentile**: The cirrhosis stage is at least 2.00 for 25% of the patients.
- **Median (50th percentile)**: Half of the patients have a cirrhosis stage of 3.00.
- **75th percentile**: For 75% of the patients, the cirrhosis stage is 4.00 or lower.
## N Days Statistics
### N Days Stage
The average number of days since diagnosis for the analyzed patients is 1917.78 days.
### Percentiles
- **25th percentile**: The minimum number of days since diagnosis for 25% of the patients is 1092.75 days.
- **Median (50th percentile)**: Half of the patients have been diagnosed with cirrhosis for at least 1730.00 days.
- **75th percentile**: For 75% of the patients, the number of days since diagnosis is 2613.50 days or less.
## Status Rates by Sex
The following table shows the rates of different statuses (censored due to Lever tx and death) for both male and female applicants:
| | Male Applicants | Female Applicants |
|---------------------|-----------------|-------------------|
| Censored | 17/232 (7.3%) | 215/232 (92.7%) |
| Censored due to Lever tx | 3/25 (12.0%) | 22/25 (88.0%) |
| Death | 24/161 (14.9%) | 137/161 (85.1%) |
The analysis indicates that female applicants are more likely to have their status censored, either due to the lack of information or other factors, while male applicants are more likely to experience death. However, it's important to note that the sample size for male applicants is significantly smaller than that of female applicants.

View File

@@ -27,6 +27,9 @@ location = ".env"
dev = [
"hugo-nbconvert>=2025.5.24.3",
"jupyterlab>=4.4.6",
"langchain>=0.3.27",
"langchain-ollama>=0.3.7",
"pandas>=2.3.2",
"pre-commit>=4.1.0,<5",
]

336
uv.lock generated
View File

@@ -2,6 +2,15 @@ version = 1
revision = 2
requires-python = "==3.12.*"
[[package]]
name = "annotated-types"
version = "0.7.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" },
]
[[package]]
name = "anyio"
version = "4.10.0"
@@ -337,6 +346,9 @@ dependencies = [
dev = [
{ name = "hugo-nbconvert" },
{ name = "jupyterlab" },
{ name = "langchain" },
{ name = "langchain-ollama" },
{ name = "pandas" },
{ name = "pre-commit" },
]
@@ -359,9 +371,29 @@ requires-dist = [
dev = [
{ name = "hugo-nbconvert", specifier = ">=2025.5.24.3" },
{ name = "jupyterlab", specifier = ">=4.4.6" },
{ name = "langchain", specifier = ">=0.3.27" },
{ name = "langchain-ollama", specifier = ">=0.3.7" },
{ name = "pandas", specifier = ">=2.3.2" },
{ name = "pre-commit", specifier = ">=4.1.0,<5" },
]
[[package]]
name = "greenlet"
version = "3.2.4"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/03/b8/704d753a5a45507a7aab61f18db9509302ed3d0a27ac7e0359ec2905b1a6/greenlet-3.2.4.tar.gz", hash = "sha256:0dca0d95ff849f9a364385f36ab49f50065d76964944638be9691e1832e9f86d", size = 188260, upload-time = "2025-08-07T13:24:33.51Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" },
{ url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" },
{ url = "https://files.pythonhosted.org/packages/3b/16/035dcfcc48715ccd345f3a93183267167cdd162ad123cd93067d86f27ce4/greenlet-3.2.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f28588772bb5fb869a8eb331374ec06f24a83a9c25bfa1f38b6993afe9c1e968", size = 655185, upload-time = "2025-08-07T13:45:27.624Z" },
{ url = "https://files.pythonhosted.org/packages/31/da/0386695eef69ffae1ad726881571dfe28b41970173947e7c558d9998de0f/greenlet-3.2.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5c9320971821a7cb77cfab8d956fa8e39cd07ca44b6070db358ceb7f8797c8c9", size = 649926, upload-time = "2025-08-07T13:53:15.251Z" },
{ url = "https://files.pythonhosted.org/packages/68/88/69bf19fd4dc19981928ceacbc5fd4bb6bc2215d53199e367832e98d1d8fe/greenlet-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c60a6d84229b271d44b70fb6e5fa23781abb5d742af7b808ae3f6efd7c9c60f6", size = 651839, upload-time = "2025-08-07T13:18:30.281Z" },
{ url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" },
{ url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" },
{ url = "https://files.pythonhosted.org/packages/3f/c7/12381b18e21aef2c6bd3a636da1088b888b97b7a0362fac2e4de92405f97/greenlet-3.2.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:20fb936b4652b6e307b8f347665e2c615540d4b42b3b4c8a321d8286da7e520f", size = 1151142, upload-time = "2025-08-07T13:18:22.981Z" },
{ url = "https://files.pythonhosted.org/packages/e9/08/b0814846b79399e585f974bbeebf5580fbe59e258ea7be64d9dfb253c84f/greenlet-3.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:a7d4e128405eea3814a12cc2605e0e6aedb4035bf32697f72deca74de4105e02", size = 299899, upload-time = "2025-08-07T13:38:53.448Z" },
]
[[package]]
name = "h11"
version = "0.16.0"
@@ -568,6 +600,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/85/e2/05328bd2621be49a6fed9e3030b1e51a2d04537d3f816d211b9cc53c5262/json5-0.12.1-py3-none-any.whl", hash = "sha256:d9c9b3bc34a5f54d43c35e11ef7cb87d8bdd098c6ace87117a7b7e83e705c1d5", size = 36119, upload-time = "2025-08-12T19:47:41.131Z" },
]
[[package]]
name = "jsonpatch"
version = "1.33"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "jsonpointer" },
]
sdist = { url = "https://files.pythonhosted.org/packages/42/78/18813351fe5d63acad16aec57f94ec2b70a09e53ca98145589e185423873/jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c", size = 21699, upload-time = "2023-06-26T12:07:29.144Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade", size = 12898, upload-time = "2023-06-16T21:01:28.466Z" },
]
[[package]]
name = "jsonpointer"
version = "3.0.0"
@@ -816,6 +860,85 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/43/6a/ca128561b22b60bd5a0c4ea26649e68c8556b82bc70a0c396eebc977fe86/jupyterlab_widgets-3.0.15-py3-none-any.whl", hash = "sha256:d59023d7d7ef71400d51e6fee9a88867f6e65e10a4201605d2d7f3e8f012a31c", size = 216571, upload-time = "2025-05-05T12:32:29.534Z" },
]
[[package]]
name = "langchain"
version = "0.3.27"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "langchain-core" },
{ name = "langchain-text-splitters" },
{ name = "langsmith" },
{ name = "pydantic" },
{ name = "pyyaml" },
{ name = "requests" },
{ name = "sqlalchemy" },
]
sdist = { url = "https://files.pythonhosted.org/packages/83/f6/f4f7f3a56626fe07e2bb330feb61254dbdf06c506e6b59a536a337da51cf/langchain-0.3.27.tar.gz", hash = "sha256:aa6f1e6274ff055d0fd36254176770f356ed0a8994297d1df47df341953cec62", size = 10233809, upload-time = "2025-07-24T14:42:32.959Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/f6/d5/4861816a95b2f6993f1360cfb605aacb015506ee2090433a71de9cca8477/langchain-0.3.27-py3-none-any.whl", hash = "sha256:7b20c4f338826acb148d885b20a73a16e410ede9ee4f19bb02011852d5f98798", size = 1018194, upload-time = "2025-07-24T14:42:30.23Z" },
]
[[package]]
name = "langchain-core"
version = "0.3.75"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "jsonpatch" },
{ name = "langsmith" },
{ name = "packaging" },
{ name = "pydantic" },
{ name = "pyyaml" },
{ name = "tenacity" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/06/63/270b71a23e849984505ddc7c5c9fd3f4bd9cb14b1a484ee44c4e51c33cc2/langchain_core-0.3.75.tar.gz", hash = "sha256:ab0eb95a06ed6043f76162e6086b45037690cb70b7f090bd83b5ebb8a05b70ed", size = 570876, upload-time = "2025-08-26T15:24:12.246Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/fb/42/0d0221cce6f168f644d7d96cb6c87c4e42fc55d2941da7a36e970e3ab8ab/langchain_core-0.3.75-py3-none-any.whl", hash = "sha256:03ca1fadf955ee3c7d5806a841f4b3a37b816acea5e61a7e6ba1298c05eea7f5", size = 443986, upload-time = "2025-08-26T15:24:10.883Z" },
]
[[package]]
name = "langchain-ollama"
version = "0.3.7"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "langchain-core" },
{ name = "ollama" },
]
sdist = { url = "https://files.pythonhosted.org/packages/c1/34/c94ec1ea0f1bae7ed4e8a05c79bdf7f49a5f0b5af1a9a0da88ace03450a7/langchain_ollama-0.3.7.tar.gz", hash = "sha256:9deeca09a44fb8c5a46b1e43d670a7301f1d1e73196fa9191a89f9883217903b", size = 31924, upload-time = "2025-08-22T20:42:46.814Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/b9/df/5d92427eabc2b070689de9d37ea90636ea51c1ec0ee75c362fa1995201cc/langchain_ollama-0.3.7-py3-none-any.whl", hash = "sha256:845192a75a1671bd36bc8c54baae2e929c3b1b0e3c8c618438df20354b0231de", size = 24905, upload-time = "2025-08-22T20:42:45.641Z" },
]
[[package]]
name = "langchain-text-splitters"
version = "0.3.11"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "langchain-core" },
]
sdist = { url = "https://files.pythonhosted.org/packages/11/43/dcda8fd25f0b19cb2835f2f6bb67f26ad58634f04ac2d8eae00526b0fa55/langchain_text_splitters-0.3.11.tar.gz", hash = "sha256:7a50a04ada9a133bbabb80731df7f6ddac51bc9f1b9cab7fa09304d71d38a6cc", size = 46458, upload-time = "2025-08-31T23:02:58.316Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/58/0d/41a51b40d24ff0384ec4f7ab8dd3dcea8353c05c973836b5e289f1465d4f/langchain_text_splitters-0.3.11-py3-none-any.whl", hash = "sha256:cf079131166a487f1372c8ab5d0bfaa6c0a4291733d9c43a34a16ac9bcd6a393", size = 33845, upload-time = "2025-08-31T23:02:57.195Z" },
]
[[package]]
name = "langsmith"
version = "0.4.23"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "httpx" },
{ name = "orjson", marker = "platform_python_implementation != 'PyPy'" },
{ name = "packaging" },
{ name = "pydantic" },
{ name = "requests" },
{ name = "requests-toolbelt" },
{ name = "zstandard" },
]
sdist = { url = "https://files.pythonhosted.org/packages/26/59/1f92c84585da3bad6d76050f32811198dd2bb4e6a0a63f7b0041b75344ee/langsmith-0.4.23.tar.gz", hash = "sha256:d8af9c6bf69c377a5a0a1c56bd742ab6acfce794e3c4a6993b08e76ee2397998", size = 939141, upload-time = "2025-09-02T22:06:38.606Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3c/63/c132d3e356702668bf3103771e2398fee963c22715a88501d55361761f8f/langsmith-0.4.23-py3-none-any.whl", hash = "sha256:2b7cc692c537d5e48c2932277a69c35a89ff5b153828281194e2af34aeda985f", size = 378757, upload-time = "2025-09-02T22:06:36.621Z" },
]
[[package]]
name = "lark"
version = "1.2.2"
@@ -1022,6 +1145,61 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" },
]
[[package]]
name = "numpy"
version = "2.3.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306, upload-time = "2025-07-24T21:32:07.553Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/00/6d/745dd1c1c5c284d17725e5c802ca4d45cfc6803519d777f087b71c9f4069/numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b", size = 20956420, upload-time = "2025-07-24T20:28:18.002Z" },
{ url = "https://files.pythonhosted.org/packages/bc/96/e7b533ea5740641dd62b07a790af5d9d8fec36000b8e2d0472bd7574105f/numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f", size = 14184660, upload-time = "2025-07-24T20:28:39.522Z" },
{ url = "https://files.pythonhosted.org/packages/2b/53/102c6122db45a62aa20d1b18c9986f67e6b97e0d6fbc1ae13e3e4c84430c/numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0", size = 5113382, upload-time = "2025-07-24T20:28:48.544Z" },
{ url = "https://files.pythonhosted.org/packages/2b/21/376257efcbf63e624250717e82b4fae93d60178f09eb03ed766dbb48ec9c/numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b", size = 6647258, upload-time = "2025-07-24T20:28:59.104Z" },
{ url = "https://files.pythonhosted.org/packages/91/ba/f4ebf257f08affa464fe6036e13f2bf9d4642a40228781dc1235da81be9f/numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370", size = 14281409, upload-time = "2025-07-24T20:40:30.298Z" },
{ url = "https://files.pythonhosted.org/packages/59/ef/f96536f1df42c668cbacb727a8c6da7afc9c05ece6d558927fb1722693e1/numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73", size = 16641317, upload-time = "2025-07-24T20:40:56.625Z" },
{ url = "https://files.pythonhosted.org/packages/f6/a7/af813a7b4f9a42f498dde8a4c6fcbff8100eed00182cc91dbaf095645f38/numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc", size = 16056262, upload-time = "2025-07-24T20:41:20.797Z" },
{ url = "https://files.pythonhosted.org/packages/8b/5d/41c4ef8404caaa7f05ed1cfb06afe16a25895260eacbd29b4d84dff2920b/numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be", size = 18579342, upload-time = "2025-07-24T20:41:50.753Z" },
{ url = "https://files.pythonhosted.org/packages/a1/4f/9950e44c5a11636f4a3af6e825ec23003475cc9a466edb7a759ed3ea63bd/numpy-2.3.2-cp312-cp312-win32.whl", hash = "sha256:d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036", size = 6320610, upload-time = "2025-07-24T20:42:01.551Z" },
{ url = "https://files.pythonhosted.org/packages/7c/2f/244643a5ce54a94f0a9a2ab578189c061e4a87c002e037b0829dd77293b6/numpy-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f", size = 12786292, upload-time = "2025-07-24T20:42:20.738Z" },
{ url = "https://files.pythonhosted.org/packages/54/cd/7b5f49d5d78db7badab22d8323c1b6ae458fbf86c4fdfa194ab3cd4eb39b/numpy-2.3.2-cp312-cp312-win_arm64.whl", hash = "sha256:ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07", size = 10194071, upload-time = "2025-07-24T20:42:36.657Z" },
]
[[package]]
name = "ollama"
version = "0.5.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "httpx" },
{ name = "pydantic" },
]
sdist = { url = "https://files.pythonhosted.org/packages/91/6d/ae96027416dcc2e98c944c050c492789502d7d7c0b95a740f0bb39268632/ollama-0.5.3.tar.gz", hash = "sha256:40b6dff729df3b24e56d4042fd9d37e231cee8e528677e0d085413a1d6692394", size = 43331, upload-time = "2025-08-07T21:44:10.422Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/be/f6/2091e50b8b6c3e6901f6eab283d5efd66fb71c86ddb1b4d68766c3eeba0f/ollama-0.5.3-py3-none-any.whl", hash = "sha256:a8303b413d99a9043dbf77ebf11ced672396b59bec27e6d5db67c88f01b279d2", size = 13490, upload-time = "2025-08-07T21:44:09.353Z" },
]
[[package]]
name = "orjson"
version = "3.11.3"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/be/4d/8df5f83256a809c22c4d6792ce8d43bb503be0fb7a8e4da9025754b09658/orjson-3.11.3.tar.gz", hash = "sha256:1c0603b1d2ffcd43a411d64797a19556ef76958aef1c182f22dc30860152a98a", size = 5482394, upload-time = "2025-08-26T17:46:43.171Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3d/b0/a7edab2a00cdcb2688e1c943401cb3236323e7bfd2839815c6131a3742f4/orjson-3.11.3-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8c752089db84333e36d754c4baf19c0e1437012242048439c7e80eb0e6426e3b", size = 238259, upload-time = "2025-08-26T17:45:15.093Z" },
{ url = "https://files.pythonhosted.org/packages/e1/c6/ff4865a9cc398a07a83342713b5932e4dc3cb4bf4bc04e8f83dedfc0d736/orjson-3.11.3-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:9b8761b6cf04a856eb544acdd82fc594b978f12ac3602d6374a7edb9d86fd2c2", size = 127633, upload-time = "2025-08-26T17:45:16.417Z" },
{ url = "https://files.pythonhosted.org/packages/6e/e6/e00bea2d9472f44fe8794f523e548ce0ad51eb9693cf538a753a27b8bda4/orjson-3.11.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b13974dc8ac6ba22feaa867fc19135a3e01a134b4f7c9c28162fed4d615008a", size = 123061, upload-time = "2025-08-26T17:45:17.673Z" },
{ url = "https://files.pythonhosted.org/packages/54/31/9fbb78b8e1eb3ac605467cb846e1c08d0588506028b37f4ee21f978a51d4/orjson-3.11.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f83abab5bacb76d9c821fd5c07728ff224ed0e52d7a71b7b3de822f3df04e15c", size = 127956, upload-time = "2025-08-26T17:45:19.172Z" },
{ url = "https://files.pythonhosted.org/packages/36/88/b0604c22af1eed9f98d709a96302006915cfd724a7ebd27d6dd11c22d80b/orjson-3.11.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e6fbaf48a744b94091a56c62897b27c31ee2da93d826aa5b207131a1e13d4064", size = 130790, upload-time = "2025-08-26T17:45:20.586Z" },
{ url = "https://files.pythonhosted.org/packages/0e/9d/1c1238ae9fffbfed51ba1e507731b3faaf6b846126a47e9649222b0fd06f/orjson-3.11.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc779b4f4bba2847d0d2940081a7b6f7b5877e05408ffbb74fa1faf4a136c424", size = 132385, upload-time = "2025-08-26T17:45:22.036Z" },
{ url = "https://files.pythonhosted.org/packages/a3/b5/c06f1b090a1c875f337e21dd71943bc9d84087f7cdf8c6e9086902c34e42/orjson-3.11.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd4b909ce4c50faa2192da6bb684d9848d4510b736b0611b6ab4020ea6fd2d23", size = 135305, upload-time = "2025-08-26T17:45:23.4Z" },
{ url = "https://files.pythonhosted.org/packages/a0/26/5f028c7d81ad2ebbf84414ba6d6c9cac03f22f5cd0d01eb40fb2d6a06b07/orjson-3.11.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:524b765ad888dc5518bbce12c77c2e83dee1ed6b0992c1790cc5fb49bb4b6667", size = 132875, upload-time = "2025-08-26T17:45:25.182Z" },
{ url = "https://files.pythonhosted.org/packages/fe/d4/b8df70d9cfb56e385bf39b4e915298f9ae6c61454c8154a0f5fd7efcd42e/orjson-3.11.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:84fd82870b97ae3cdcea9d8746e592b6d40e1e4d4527835fc520c588d2ded04f", size = 130940, upload-time = "2025-08-26T17:45:27.209Z" },
{ url = "https://files.pythonhosted.org/packages/da/5e/afe6a052ebc1a4741c792dd96e9f65bf3939d2094e8b356503b68d48f9f5/orjson-3.11.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:fbecb9709111be913ae6879b07bafd4b0785b44c1eb5cac8ac76da048b3885a1", size = 403852, upload-time = "2025-08-26T17:45:28.478Z" },
{ url = "https://files.pythonhosted.org/packages/f8/90/7bbabafeb2ce65915e9247f14a56b29c9334003536009ef5b122783fe67e/orjson-3.11.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9dba358d55aee552bd868de348f4736ca5a4086d9a62e2bfbbeeb5629fe8b0cc", size = 146293, upload-time = "2025-08-26T17:45:29.86Z" },
{ url = "https://files.pythonhosted.org/packages/27/b3/2d703946447da8b093350570644a663df69448c9d9330e5f1d9cce997f20/orjson-3.11.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eabcf2e84f1d7105f84580e03012270c7e97ecb1fb1618bda395061b2a84a049", size = 135470, upload-time = "2025-08-26T17:45:31.243Z" },
{ url = "https://files.pythonhosted.org/packages/38/70/b14dcfae7aff0e379b0119c8a812f8396678919c431efccc8e8a0263e4d9/orjson-3.11.3-cp312-cp312-win32.whl", hash = "sha256:3782d2c60b8116772aea8d9b7905221437fdf53e7277282e8d8b07c220f96cca", size = 136248, upload-time = "2025-08-26T17:45:32.567Z" },
{ url = "https://files.pythonhosted.org/packages/35/b8/9e3127d65de7fff243f7f3e53f59a531bf6bb295ebe5db024c2503cc0726/orjson-3.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:79b44319268af2eaa3e315b92298de9a0067ade6e6003ddaef72f8e0bedb94f1", size = 131437, upload-time = "2025-08-26T17:45:34.949Z" },
{ url = "https://files.pythonhosted.org/packages/51/92/a946e737d4d8a7fd84a606aba96220043dcc7d6988b9e7551f7f6d5ba5ad/orjson-3.11.3-cp312-cp312-win_arm64.whl", hash = "sha256:0e92a4e83341ef79d835ca21b8bd13e27c859e4e9e4d7b63defc6e58462a3710", size = 125978, upload-time = "2025-08-26T17:45:36.422Z" },
]
[[package]]
name = "packaging"
version = "25.0"
@@ -1031,6 +1209,27 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
]
[[package]]
name = "pandas"
version = "2.3.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "numpy" },
{ name = "python-dateutil" },
{ name = "pytz" },
{ name = "tzdata" },
]
sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684, upload-time = "2025-08-21T10:28:29.257Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652, upload-time = "2025-08-21T10:27:15.888Z" },
{ url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686, upload-time = "2025-08-21T10:27:18.486Z" },
{ url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722, upload-time = "2025-08-21T10:27:21.149Z" },
{ url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803, upload-time = "2025-08-21T10:27:23.767Z" },
{ url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345, upload-time = "2025-08-21T10:27:26.6Z" },
{ url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314, upload-time = "2025-08-21T10:27:29.213Z" },
{ url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326, upload-time = "2025-08-21T10:27:31.901Z" },
]
[[package]]
name = "pandocfilters"
version = "1.5.1"
@@ -1168,6 +1367,46 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" },
]
[[package]]
name = "pydantic"
version = "2.11.7"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "annotated-types" },
{ name = "pydantic-core" },
{ name = "typing-extensions" },
{ name = "typing-inspection" },
]
sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" },
]
[[package]]
name = "pydantic-core"
version = "2.33.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" },
{ url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" },
{ url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" },
{ url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" },
{ url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" },
{ url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" },
{ url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" },
{ url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" },
{ url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" },
{ url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" },
{ url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" },
{ url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" },
{ url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" },
{ url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" },
]
[[package]]
name = "pygments"
version = "2.19.2"
@@ -1219,6 +1458,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/08/20/0f2523b9e50a8052bc6a8b732dfc8568abbdc42010aef03a2d750bdab3b2/python_json_logger-3.3.0-py3-none-any.whl", hash = "sha256:dd980fae8cffb24c13caf6e158d3d61c0d6d22342f932cb6e9deedab3d35eec7", size = 15163, upload-time = "2025-03-07T07:08:25.627Z" },
]
[[package]]
name = "pytz"
version = "2025.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" },
]
[[package]]
name = "pywin32"
version = "311"
@@ -1305,6 +1553,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" },
]
[[package]]
name = "requests-toolbelt"
version = "1.0.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "requests" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", size = 206888, upload-time = "2023-05-01T04:11:33.229Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", size = 54481, upload-time = "2023-05-01T04:11:28.427Z" },
]
[[package]]
name = "rfc3339-validator"
version = "0.1.4"
@@ -1443,6 +1703,27 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677, upload-time = "2025-04-20T18:50:07.196Z" },
]
[[package]]
name = "sqlalchemy"
version = "2.0.43"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/d7/bc/d59b5d97d27229b0e009bd9098cd81af71c2fa5549c580a0a67b9bed0496/sqlalchemy-2.0.43.tar.gz", hash = "sha256:788bfcef6787a7764169cfe9859fe425bf44559619e1d9f56f5bddf2ebf6f417", size = 9762949, upload-time = "2025-08-11T14:24:58.438Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/61/db/20c78f1081446095450bdc6ee6cc10045fce67a8e003a5876b6eaafc5cc4/sqlalchemy-2.0.43-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:20d81fc2736509d7a2bd33292e489b056cbae543661bb7de7ce9f1c0cd6e7f24", size = 2134891, upload-time = "2025-08-11T15:51:13.019Z" },
{ url = "https://files.pythonhosted.org/packages/45/0a/3d89034ae62b200b4396f0f95319f7d86e9945ee64d2343dcad857150fa2/sqlalchemy-2.0.43-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b9fc27650ff5a2c9d490c13c14906b918b0de1f8fcbb4c992712d8caf40e83", size = 2123061, upload-time = "2025-08-11T15:51:14.319Z" },
{ url = "https://files.pythonhosted.org/packages/cb/10/2711f7ff1805919221ad5bee205971254845c069ee2e7036847103ca1e4c/sqlalchemy-2.0.43-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6772e3ca8a43a65a37c88e2f3e2adfd511b0b1da37ef11ed78dea16aeae85bd9", size = 3320384, upload-time = "2025-08-11T15:52:35.088Z" },
{ url = "https://files.pythonhosted.org/packages/6e/0e/3d155e264d2ed2778484006ef04647bc63f55b3e2d12e6a4f787747b5900/sqlalchemy-2.0.43-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a113da919c25f7f641ffbd07fbc9077abd4b3b75097c888ab818f962707eb48", size = 3329648, upload-time = "2025-08-11T15:56:34.153Z" },
{ url = "https://files.pythonhosted.org/packages/5b/81/635100fb19725c931622c673900da5efb1595c96ff5b441e07e3dd61f2be/sqlalchemy-2.0.43-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4286a1139f14b7d70141c67a8ae1582fc2b69105f1b09d9573494eb4bb4b2687", size = 3258030, upload-time = "2025-08-11T15:52:36.933Z" },
{ url = "https://files.pythonhosted.org/packages/0c/ed/a99302716d62b4965fded12520c1cbb189f99b17a6d8cf77611d21442e47/sqlalchemy-2.0.43-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:529064085be2f4d8a6e5fab12d36ad44f1909a18848fcfbdb59cc6d4bbe48efe", size = 3294469, upload-time = "2025-08-11T15:56:35.553Z" },
{ url = "https://files.pythonhosted.org/packages/5d/a2/3a11b06715149bf3310b55a98b5c1e84a42cfb949a7b800bc75cb4e33abc/sqlalchemy-2.0.43-cp312-cp312-win32.whl", hash = "sha256:b535d35dea8bbb8195e7e2b40059e2253acb2b7579b73c1b432a35363694641d", size = 2098906, upload-time = "2025-08-11T15:55:00.645Z" },
{ url = "https://files.pythonhosted.org/packages/bc/09/405c915a974814b90aa591280623adc6ad6b322f61fd5cff80aeaef216c9/sqlalchemy-2.0.43-cp312-cp312-win_amd64.whl", hash = "sha256:1c6d85327ca688dbae7e2b06d7d84cfe4f3fffa5b5f9e21bb6ce9d0e1a0e0e0a", size = 2126260, upload-time = "2025-08-11T15:55:02.965Z" },
{ url = "https://files.pythonhosted.org/packages/b8/d9/13bdde6521f322861fab67473cec4b1cc8999f3871953531cf61945fad92/sqlalchemy-2.0.43-py3-none-any.whl", hash = "sha256:1681c21dd2ccee222c2fe0bef671d1aef7c504087c9c4e800371cfcc8ac966fc", size = 1924759, upload-time = "2025-08-11T15:39:53.024Z" },
]
[[package]]
name = "stack-data"
version = "0.6.3"
@@ -1457,6 +1738,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" },
]
[[package]]
name = "tenacity"
version = "9.1.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036, upload-time = "2025-04-02T08:25:09.966Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248, upload-time = "2025-04-02T08:25:07.678Z" },
]
[[package]]
name = "terminado"
version = "0.18.1"
@@ -1544,6 +1834,27 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" },
]
[[package]]
name = "typing-inspection"
version = "0.4.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" },
]
[[package]]
name = "tzdata"
version = "2025.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" },
]
[[package]]
name = "uri-template"
version = "1.3.0"
@@ -1657,3 +1968,28 @@ sdist = { url = "https://files.pythonhosted.org/packages/41/53/2e0253c5efd69c965
wheels = [
{ url = "https://files.pythonhosted.org/packages/ca/51/5447876806d1088a0f8f71e16542bf350918128d0a69437df26047c8e46f/widgetsnbextension-4.0.14-py3-none-any.whl", hash = "sha256:4875a9eaf72fbf5079dc372a51a9f268fc38d46f767cbf85c43a36da5cb9b575", size = 2196503, upload-time = "2025-04-10T13:01:23.086Z" },
]
[[package]]
name = "zstandard"
version = "0.24.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/09/1b/c20b2ef1d987627765dcd5bf1dadb8ef6564f00a87972635099bb76b7a05/zstandard-0.24.0.tar.gz", hash = "sha256:fe3198b81c00032326342d973e526803f183f97aa9e9a98e3f897ebafe21178f", size = 905681, upload-time = "2025-08-17T18:36:36.352Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/26/e9/0bd281d9154bba7fc421a291e263911e1d69d6951aa80955b992a48289f6/zstandard-0.24.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a2bda8f2790add22773ee7a4e43c90ea05598bffc94c21c40ae0a9000b0133c3", size = 795710, upload-time = "2025-08-17T18:22:19.189Z" },
{ url = "https://files.pythonhosted.org/packages/36/26/b250a2eef515caf492e2d86732e75240cdac9d92b04383722b9753590c36/zstandard-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cc76de75300f65b8eb574d855c12518dc25a075dadb41dd18f6322bda3fe15d5", size = 640336, upload-time = "2025-08-17T18:22:20.466Z" },
{ url = "https://files.pythonhosted.org/packages/79/bf/3ba6b522306d9bf097aac8547556b98a4f753dc807a170becaf30dcd6f01/zstandard-0.24.0-cp312-cp312-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:d2b3b4bda1a025b10fe0269369475f420177f2cb06e0f9d32c95b4873c9f80b8", size = 5342533, upload-time = "2025-08-17T18:22:22.326Z" },
{ url = "https://files.pythonhosted.org/packages/ea/ec/22bc75bf054e25accdf8e928bc68ab36b4466809729c554ff3a1c1c8bce6/zstandard-0.24.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b84c6c210684286e504022d11ec294d2b7922d66c823e87575d8b23eba7c81f", size = 5062837, upload-time = "2025-08-17T18:22:24.416Z" },
{ url = "https://files.pythonhosted.org/packages/48/cc/33edfc9d286e517fb5b51d9c3210e5bcfce578d02a675f994308ca587ae1/zstandard-0.24.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c59740682a686bf835a1a4d8d0ed1eefe31ac07f1c5a7ed5f2e72cf577692b00", size = 5393855, upload-time = "2025-08-17T18:22:26.786Z" },
{ url = "https://files.pythonhosted.org/packages/73/36/59254e9b29da6215fb3a717812bf87192d89f190f23817d88cb8868c47ac/zstandard-0.24.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:6324fde5cf5120fbf6541d5ff3c86011ec056e8d0f915d8e7822926a5377193a", size = 5451058, upload-time = "2025-08-17T18:22:28.885Z" },
{ url = "https://files.pythonhosted.org/packages/9a/c7/31674cb2168b741bbbe71ce37dd397c9c671e73349d88ad3bca9e9fae25b/zstandard-0.24.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51a86bd963de3f36688553926a84e550d45d7f9745bd1947d79472eca27fcc75", size = 5546619, upload-time = "2025-08-17T18:22:31.115Z" },
{ url = "https://files.pythonhosted.org/packages/e6/01/1a9f22239f08c00c156f2266db857545ece66a6fc0303d45c298564bc20b/zstandard-0.24.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d82ac87017b734f2fb70ff93818c66f0ad2c3810f61040f077ed38d924e19980", size = 5046676, upload-time = "2025-08-17T18:22:33.077Z" },
{ url = "https://files.pythonhosted.org/packages/a7/91/6c0cf8fa143a4988a0361380ac2ef0d7cb98a374704b389fbc38b5891712/zstandard-0.24.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92ea7855d5bcfb386c34557516c73753435fb2d4a014e2c9343b5f5ba148b5d8", size = 5576381, upload-time = "2025-08-17T18:22:35.391Z" },
{ url = "https://files.pythonhosted.org/packages/e2/77/1526080e22e78871e786ccf3c84bf5cec9ed25110a9585507d3c551da3d6/zstandard-0.24.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3adb4b5414febf074800d264ddf69ecade8c658837a83a19e8ab820e924c9933", size = 4953403, upload-time = "2025-08-17T18:22:37.266Z" },
{ url = "https://files.pythonhosted.org/packages/6e/d0/a3a833930bff01eab697eb8abeafb0ab068438771fa066558d96d7dafbf9/zstandard-0.24.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:6374feaf347e6b83ec13cc5dcfa70076f06d8f7ecd46cc71d58fac798ff08b76", size = 5267396, upload-time = "2025-08-17T18:22:39.757Z" },
{ url = "https://files.pythonhosted.org/packages/f3/5e/90a0db9a61cd4769c06374297ecfcbbf66654f74cec89392519deba64d76/zstandard-0.24.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:13fc548e214df08d896ee5f29e1f91ee35db14f733fef8eabea8dca6e451d1e2", size = 5433269, upload-time = "2025-08-17T18:22:42.131Z" },
{ url = "https://files.pythonhosted.org/packages/ce/58/fc6a71060dd67c26a9c5566e0d7c99248cbe5abfda6b3b65b8f1a28d59f7/zstandard-0.24.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0a416814608610abf5488889c74e43ffa0343ca6cf43957c6b6ec526212422da", size = 5814203, upload-time = "2025-08-17T18:22:44.017Z" },
{ url = "https://files.pythonhosted.org/packages/5c/6a/89573d4393e3ecbfa425d9a4e391027f58d7810dec5cdb13a26e4cdeef5c/zstandard-0.24.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0d66da2649bb0af4471699aeb7a83d6f59ae30236fb9f6b5d20fb618ef6c6777", size = 5359622, upload-time = "2025-08-17T18:22:45.802Z" },
{ url = "https://files.pythonhosted.org/packages/60/ff/2cbab815d6f02a53a9d8d8703bc727d8408a2e508143ca9af6c3cca2054b/zstandard-0.24.0-cp312-cp312-win32.whl", hash = "sha256:ff19efaa33e7f136fe95f9bbcc90ab7fb60648453b03f95d1de3ab6997de0f32", size = 435968, upload-time = "2025-08-17T18:22:49.493Z" },
{ url = "https://files.pythonhosted.org/packages/ce/a3/8f96b8ddb7ad12344218fbd0fd2805702dafd126ae9f8a1fb91eef7b33da/zstandard-0.24.0-cp312-cp312-win_amd64.whl", hash = "sha256:bc05f8a875eb651d1cc62e12a4a0e6afa5cd0cc231381adb830d2e9c196ea895", size = 505195, upload-time = "2025-08-17T18:22:47.193Z" },
{ url = "https://files.pythonhosted.org/packages/a3/4a/bfca20679da63bfc236634ef2e4b1b4254203098b0170e3511fee781351f/zstandard-0.24.0-cp312-cp312-win_arm64.whl", hash = "sha256:b04c94718f7a8ed7cdd01b162b6caa1954b3c9d486f00ecbbd300f149d2b2606", size = 461605, upload-time = "2025-08-17T18:22:48.317Z" },
]