hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
Ë
oñúh„Ïã óX—dZddlZddlmZddlmZddlZddlZddlZ    ddl
Z
ddl m Z m Z ddlmZddlmZddlmZmZmZmZmZddlZddlmZdd    lmZdd
lm Z m!Z!m"Z"m#Z#m$Z$    ddl%Z%d Z&    ddl(Z(d Z)e
jTjWd «e
jTjWd«gZ,e
jZe
j\de
jTj_e) xs edd ¬«dk(d¬«e
jTjae «dd ¬«g¬«e
j\de
jTj_e& d¬«¬«g¬«d„«Z1e
jZd„«Z2e
jZd„«Z3e
jZd„«Z4e
jZd„«Z5e
jZd „«Z6e
jZejjoejpjr«ejjoejpjt«ejjoejpjv«ejjyd!d"«ejjyd#d"«ejjyd$d"«ejjyd%d"«g¬«d&„«Z=                                    d:d'„Z>d(„Z?d)„Z@d*„ZAd+„ZBd,„ZCd-„ZDd.„ZEd/„ZFd0„ZGd1„ZHGd2„d3«ZIGd4„d5eI«ZJGd6„d7eI«ZKGd8„d9eI«ZLy#e'$rd Z&YŒ°wxYw#e'$rd Z)YŒ·wxYw);z test parquet compat éN)ÚDecimal)ÚBytesIO)Úusing_copy_on_writeÚusing_string_dtype)Ú _get_option)Úis_platform_windows)Úpa_version_under11p0Úpa_version_under13p0Úpa_version_under15p0Úpa_version_under19p0Úpa_version_under20p0)ÚVersion)ÚFastParquetImplÚ PyArrowImplÚ
get_engineÚ read_parquetÚ
to_parquetTFz2ignore:DataFrame._data is deprecated:FutureWarningz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚ fastparquetúmode.data_manager©ÚsilentÚarrayz4fastparquet is not installed or ArrayManager is used©ÚreasonúTODO(infer_string) fastparquet©rÚstrict©ÚmarksÚpyarrowúpyarrow is not installed)Úparamscó—|jS©N©Úparam©Úrequests úOH:\Change_password\venv_build\Lib\site-packages\pandas/tests/io/test_parquet.pyÚenginer*@s€ð4 =‰=Ðócó:—tstjd«y)Nr!r )Ú _HAVE_PYARROWÚpytestÚskip©r+r)Úpar1]s€å ܏ ‰ Ð.Ô/Ø r+cóú—tstjd«n%tdd¬«dk(rtjd«t    «r0|j tj jdd¬    ««y
) Nzfastparquet is not installedrTrrz.ArrayManager is not supported with fastparquetrFrr)Ú_HAVE_FASTPARQUETr.r/rrÚ applymarkerÚmarkÚxfailr's r)Úfpr7ds`€å ܏ ‰ Ð2Õ3Ü    Ð(°Ô    6¸'Ò    A܏ ‰ ÐDÔEÜÔØ×ÑÜ K‰K× Ñ Ð%EÈeÐ Ó Tô    
ð r+cód—tjgd¢ddœtjddg«¬«S)N©éééÚfoo©ÚAÚBr?r@©Úcolumns)ÚpdÚ    DataFrameÚIndexr0r+r)Ú    df_compatrFqs%€ä <‰<ši¨eÑ4¼b¿h¹hÈÈSÀzÓ>RÔ SÐSr+c
óΗtjtd«ttdd««t    j
ddd¬«gd¢tj d    d
¬ «d œ«}|S) NÚabcr:éç@ç@Úfloat64©Údtype©TFTÚ20130101r<©Úperiods)ÚaÚbÚdÚeÚf)rCrDÚlistÚrangeÚnpÚarangeÚ
date_range)Údfs r)Údf_cross_compatr^vsR€ä     ‰äe“Ü”e˜A˜q“kÓ"ä—‘˜3 ¨9Ô5Ú$Ü—‘˜z°1Ô5ñ
    
ó
€Bð €Ir+cóÜ—tjtd«dtjdggd¢gd¢gd¢tt dd««tj d    d
«jd «tj d d d¬«dtjdggd¢tjdd    ¬«tjd«tjtjd«gdœ «S)NrHrSÚc©rSNr`)ófooóbarsbaz©r=ÚbarÚbazr:rIr<éÚu1rJrKrLrMç@ç@rOrPrQÚ20130103) ÚstringÚstring_with_nanÚstring_with_noneÚbytesÚunicodeÚintÚuintÚfloatÚfloat_with_nanÚboolÚdatetimeÚdatetime_with_nat) rCrDrXrZÚnanrYr[Úastyper\Ú    TimestampÚNaTr0r+r)Údf_fullr|ˆs¯€ä <‰<ä˜5“kØ #¤R§V¡V¨SÐ1Ú 0Ú-Ú,Üœ˜a › Ó$Ü—I‘I˜a “O×*Ñ*¨4Ó0Ü—Y‘Y˜s C¨yÔ9Ø"¤B§F¡F¨CÐ0Ú'ÜŸ ™  j¸!Ô<ä— ‘ ˜ZÓ(Ü—‘Ü— ‘ ˜ZÓ(ð"ñ    
ó ðr+z2019-01-04T16:41:24+0200z%Y-%m-%dT%H:%M:%S%zz2019-01-04T16:41:24+0215z2019-01-04T16:41:24-0200z2019-01-04T16:41:24-0215có—|jSr$r%r's r)Útimezone_aware_date_listr~ s€ð =‰=Ðr+c
óà‡‡‡‡‡‡‡‡—‰xsddiЉxsiЉ€‰Š|r
|‰d<|‰d<ˆˆˆˆˆˆˆˆfd„}
‰€&tj«5Š|
|    «ddd«y|
|    «y#1swYyxYw)aVerify parquet serializer and deserializer produce the same results.
 
    Performs a pandas to disk and disk to pandas round trip,
    then compares the 2 resulting DataFrames to verify equality.
 
    Parameters
    ----------
    df: Dataframe
    engine: str, optional
        'pyarrow' or 'fastparquet'
    path: str, optional
    write_kwargs: dict of str:str, optional
    read_kwargs: dict of str:str, optional
    expected: DataFrame, optional
        Expected deserialization result, otherwise will be equal to `df`
    check_names: list of str, optional
        Closed set of column names to be compared
    check_like: bool, optional
        If True, ignore the order of index & columns.
    repeat: int, optional
        How many times to repeat the test
    Ú compressionNr*c󾕗t|«D]N}‰j‰fi‰
¤Žt‰fi‰    ¤Ž}d‰vrd‰jd<t    j
‰|‰‰‰¬«ŒPy)Nrm©r:rm)Ú check_namesÚ
check_likeÚ check_dtype)rYrrÚlocÚtmÚassert_frame_equal) ÚrepeatÚ_Úactualr…r„rƒr]ÚexpectedÚpathÚ read_kwargsÚ write_kwargss    €€€€€€€€r)Úcomparez!check_round_trip.<locals>.compareÛslø€Üv“ò     ˆAØ ˆBM‰M˜$Ñ / ,Ò /Ü! $Ñ6¨+Ñ6ˆFà  HÑ,Ø59— ‘ Ð1Ñ2Ü × !Ñ !ØØØ'Ø%Ø'ö  ñ     r+)r‡Ú ensure_clean) r]r*rrrŽrŒrƒr„r…r‰rs ` ```````  r)Úcheck_round_tripr’¯sˆÿ€ðD Ò8 M°4Ð#8€LØÒ# €KàÐØˆá Ø!'ˆ XÑØ &ˆ HÑ÷ ó ð €|Ü _‰_Ó ð     $Ù FŒO÷    ð    ñ    ÷    ð    ús Á        A$Á$A-có€—ddlm}|j|d¬«}|jjj|k(sJ‚y)zÂCheck partitions of a parquet file are as expected.
 
    Parameters
    ----------
    path: str
        Path of the dataset.
    expected: iterable of str
        Expected partition names.
    rNÚhive)Ú partitioning)Úpyarrow.datasetÚdatasetr•ÚschemaÚnames)rrŒÚdsr—s    r)Úcheck_partition_namesr›ñs9€õ!àj‰j˜¨FˆjÓ3€GØ × Ñ × &Ñ &× ,Ñ ,°Ò 8Ð8Ñ 8r+có‚—d}tjt|¬«5t|dd«ddd«y#1swYyxYw)Nz.engine must be one of 'pyarrow', 'fastparquet'©Úmatchr=re)r.ÚraisesÚ
ValueErrorr’)rFÚmsgs  r)Útest_invalid_enginer¢s6€Ø
:€CÜ    ‰”z¨Ô    -ñ2ܘ E¨5Ô1÷2÷2ñ2úsž5µ>cóÀ—|r&ts |jjd«|_tjdd«5t |«ddd«y#1swYyxYw)NÚstrúio.parquet.enginer )r rBryrCÚoption_contextr’)rFr1Úusing_infer_strings   r)Útest_options_pyr¨sO€áÕ"6Ø%×-Ñ-×4Ñ4°UÓ;ˆ    Ôä     ×    Ñ    Ð.°    Ó    :ñ$ܘÔ#÷$÷$ñ$ús ¿ AÁAcóp—tjdd«5t|«ddd«y#1swYyxYw)Nr¥r©rCr¦r’)rFr7s  r)Útest_options_fpr«s2€ô
×    Ñ    Ð.° Ó    >ñ$ܘÔ#÷$÷$ñ$úó— ,¬5cóp—tjdd«5t|«ddd«y#1swYyxYw)Nr¥Úautorª)rFr7r1s   r)Útest_options_autor¯s2€ô
×    Ñ    Ð.°Ó    7ñ$ܘÔ#÷$÷$ñ$úr¬có^—ttd«t«sJ‚ttd«t«sJ‚t    j
dd«5ttd«t«sJ‚ttd«t«sJ‚ttd«t«sJ‚    ddd«t    j
dd«5ttd«t«sJ‚ttd«t«sJ‚ttd«t«sJ‚    ddd«t    j
dd«5ttd«t«sJ‚ttd«t«sJ‚ttd«t«sJ‚    ddd«y#1swYŒìxYw#1swYŒ‡xYw#1swYyxYw)Nr rr¥r®)Ú
isinstancerrrrCr¦)r7r1s  r)Útest_options_get_enginer²sq€Ü ”j Ó+¬[Ô 9Ð9Ð 9Ü ”j Ó/´Ô AÐAÐ Aä     ×    Ñ    Ð.°    Ó    :ñFÜœ* VÓ,¬kÔ:Ð:Ð:Üœ* YÓ/´Ô=Ð=Ð=Üœ* ]Ó3´_ÔEÐEÑE÷Fô
 
×    Ñ    Ð.° Ó    >ñFÜœ* VÓ,¬oÔ>Ð>Ð>Üœ* YÓ/´Ô=Ð=Ð=Üœ* ]Ó3´_ÔEÐEÑE÷Fô
 
×    Ñ    Ð.°Ó    7ñFÜœ* VÓ,¬kÔ:Ð:Ð:Üœ* YÓ/´Ô=Ð=Ð=Üœ* ]Ó3´_ÔEÐEÑE÷FðF÷FðFú÷
FðFú÷
FðFús'Á AF Â>AFÄ/AF#Æ FÆF Æ#F,cóD—ddlm}|jd«}|jd«}tsdn$t    t
j «t    |«k}tsdn$t    tj «t    |«k}txr| }txr| }|sÖ|sÓ|r6d|›d}tjt|¬«5td    «ddd«n1d
}tjt|¬«5td    «ddd«|r6d|›d }tjt|¬«5td    «ddd«yd }tjt|¬«5td    «ddd«yyy#1swYŒuxYw#1swYŒxYw#1swYyxYw#1swYyxYw) Nr)ÚVERSIONSr rFzPandas requires version .z. or newer of .pyarrow.rr®z%Missing optional dependency .pyarrow.z. or newer of .fastparquet.z)Missing optional dependency .fastparquet.) Úpandas.compat._optionalr´Úgetr-rr Ú __version__r3rr.rŸÚ ImportErrorr)r´Ú
pa_min_verÚ
fp_min_verÚhave_pa_bad_versionÚhave_fp_bad_versionÚhave_usable_paÚhave_usable_fpržs        r)Ú"test_get_engine_auto_error_messager¿2s€õ1𗑘iÓ(€JØ—‘˜mÓ,€Jõñ    ä ”W×(Ñ(Ó )¬G°JÓ,?Ñ ?ðõ!ñ    ä ”[×,Ñ,Ó -´¸
Ó0CÑ Cðô #Ò>Ð+>Ð'>€NÜ&ÒBÐ/BÐ+B€Ná ¡.á Ø/°
¨|Ð;RÐSˆEÜ—‘œ{°%Ô8ñ #ܘ6Ô"÷ #ð #ð<ˆEÜ—‘œ{°%Ô8ñ #ܘ6Ô"÷ #ñ Ø/°
¨|Ð;VÐWˆEÜ—‘œ{°%Ô8ñ #ܘ6Ô"÷ #ð #ð@ˆEÜ—‘œ{°%Ô8ñ #ܘ6Ô"÷ #ð #ð##1ˆ>÷ #ð #ú÷ #ð #ú÷
 #ð #ú÷ #ð #ús0Ã E2Ã2 E>Ä) F
Å FÅ2E;Å>FÆ
FÆFcó—|}tj«5}|j||d¬«t||¬«}tj||«t||ddg¬«}tj||ddg«ddd«y#1swYyxYw©N)r*r€©r*rSrU)r*rB©r‡r‘rrrˆ©r^r1r7r]rÚresults      r)Útest_cross_engine_pa_fprÆ]s‚€ð
€BÜ     ‰Ó    ð6˜dØ
 ‰ d 2°4ˆ Ô8ä˜d¨2Ô.ˆÜ
×јf bÔ)ä˜d¨2¸¸S°zÔBˆÜ
×јf b¨#¨s¨¡nÔ5÷6÷6ñ6úó —A#BÂB có—|}tj«5}|j||d¬«t||¬«}tj||«t||ddg¬«}tj||ddg«ddd«y#1swYyxYwrÁrÃrÄs      r)Útest_cross_engine_fp_parÉks€€à    €BÜ     ‰Ó    ð6˜dØ
 ‰ d 2°4ˆ Ô8ä˜d¨2Ô.ˆÜ
×јf bÔ)ä˜d¨2¸¸S°zÔBˆÜ
×јf b¨#¨s¨¡nÔ5÷6÷6ñ6úrÇcó—tjdgd¢i«}d}tj«5}tjt
|dd¬«5|j ||«ddd«ddd«y#1swYŒxYw#1swYyxYw)NrSr9zqStarting with pandas version 3.0 all arguments of to_parquet except for the argument 'path' will be keyword-only.F)ržÚcheck_stacklevelÚraise_on_extra_warnings)rCrDr‡r‘Úassert_produces_warningÚ FutureWarningr)r*r]r¡rs    r)Ú!test_parquet_pos_args_deprecationrÏxs†€ä     ‰sšIÐ&Ó    '€Bð    1ðô
‰Ó    ð(˜dÜ × 'Ñ 'Ü ØØ"Ø$)ô    
ñ    (ð M‰M˜$ Ô '÷     (÷(ð(÷    (ð    (ú÷(ð(ús#°A>ÁA2Á!A>Á2A;    Á7A>Á>Bcó—eZdZd„Zd„Zy)ÚBasecó̗tj«5}tj||¬«5t    |||d¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)Nr©r€)r‡r‘r.rŸr)Úselfr]r*ÚexcÚerr_msgrs      r)Úcheck_error_on_writezBase.check_error_on_writeŠsY€ä _‰_Ó ð    ? $Ü—‘˜s¨'Ô2ñ ?ܘ2˜t V¸Õ>÷ ?÷    ?ð    ?÷ ?ð ?ú÷    ?ð    ?ús!•A­A½AÁA    ÁAÁA#cóȗtj«5}tj|«5t|||d¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)NrÓ)r‡r‘Úexternal_error_raisedr)rÔr]r*rÕrs     r)Úcheck_external_error_on_writez"Base.check_external_error_on_writesY€ä _‰_Ó ð    ? $Ü×)Ñ)¨#Ó.ñ ?ܘ2˜t V¸Õ>÷ ?÷    ?ð    ?÷ ?ð ?ú÷    ?ð    ?ús!•A«A »AÁ A    ÁAÁA!N)Ú__name__Ú
__module__Ú __qualname__r×rÚr0r+r)rÑrщs „ò?ó ?r+rÑcóZ—eZdZd„Zd„Zej jdgd¢«d„«Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zej jdgd¢«d„«Zej j,ej j.d„««Zy)Ú    TestBasiccóʗtjgd¢«ddtjd«tjgd¢«fD]}d}|j ||t |«Œy)Nr9r:r=rPz+to_parquet only supports IO with DataFrames)rCÚSeriesrzrZrr×r )rÔr*Úobjr¡s    r)Ú
test_errorzTestBasic.test_error˜s[€ä I‰I’iÓ  Ø Ø Ü L‰L˜Ó $Ü H‰H’YÓ ð 
ò    DˆCð@ˆCØ × %Ñ % c¨6´:¸sÕ Cñ    Dr+c    ó–—tjtd«ttdd««dœ«}ddg|_t ||«y)NrHr:rI©rlrqr=re©rCrDrXrYrBr’)rÔr*r]s   r)Útest_columns_dtypeszTestBasic.test_columns_dtypes£s;€Ü \‰\¤T¨%£[¼¼eÀAÀq»kÓ9JÑKÓ Lˆð˜U^ˆŒ
ܘ˜VÕ$r+r€)NÚgzipÚsnappyÚbrotlicóV—tjdgd¢i«}t||d|i¬«y)Nr?r9r€©r©rCrDr’)rÔr*r€r]s    r)Útest_compressionzTestBasic.test_compressionªs&€ä \‰\˜3¢    Ð*Ó +ˆÜ˜˜V°=À+Ð2NÖOr+c    óЗtjtd«ttdd««dœ«}tjdtd«i«}t    |||ddgi¬«y)NrHr:rIrårlrB©rŒrŽ©rCrDrXrYr’)rÔr*r]rŒs    r)Útest_read_columnszTestBasic.test_read_columns¯sS€ä \‰\¤T¨%£[¼¼eÀAÀq»kÓ9JÑKÓ Lˆä—<‘< ¬4°«;Р7Ó8ˆÜØ  ¸    ÀHÀ:Ð7Nö    
r+c
óЗtjttd««td«dœ«}tjdddgi«}t    ||||ddgid    gdgd
œd¬ «y) NrIÚaabb)rqÚpartrqrr:Úpartition_colsrõ)rõú==rS)ÚfiltersrB)rrŒrrŽr‰rñ)rÔr*Útmp_pathr]rŒs     r)Útest_read_filterszTestBasic.test_read_filters¸sm€Ü \‰\äœE !›H“~ܘV› ñ ó
ˆô—<‘< ¨¨A¨ Ó0ˆÜØ Ø ØØØ*¨V¨HÐ5Ø%8Ð$9ÀuÀgÑNØö    
r+có —|dk7}tjdgd¢i«}t||«gd¢tjdd¬«t    d«gd    ¢g}|D]Q}||_t |tj«r |j
jd«|_t|||¬
«ŒSgd ¢|_d |j
_    t||«y) Nrr?r9)r;r<rIrPr<rQrH)r:r<rI)rƒ)rr:r;r=)
rCrDr’r\rXÚindexr±Ú DatetimeIndexÚ
_with_freqÚname)rÔr*rƒr]Úindexesrüs      r)Útest_write_indexzTestBasic.test_write_indexËs·€Ø  Ñ-ˆ ä \‰\˜3¢    Ð*Ó +ˆÜ˜˜VÔ$ò Ü M‰M˜*¨aÔ 0Ü ‹KÚ ð    
ˆðò    BˆE؈BŒHܘ%¤×!1Ñ!1Ô2ØŸ8™8×.Ñ.¨tÓ4”Ü ˜R °[Ö Að        BòˆŒØˆ‰Œ ܘ˜VÕ$r+có¢—|}tjdgd¢i«}tjjgd¢«}||_t ||«y)Nr?r9©)rSr:)rSr;)rTr:)rCrDÚ
MultiIndexÚ from_tuplesrür’)rÔr1r*r]rüs     r)Útest_write_multiindexzTestBasic.test_write_multiindexãs@€àˆä \‰\˜3¢    Ð*Ó +ˆÜ— ‘ ×)Ñ)Ò*HÓIˆØˆŒÜ˜˜VÕ$r+c    óÆ—|}tjddd¬«}tjtjj d«j dt|«zdf«td«¬«}tjjd    d
g|gd d g¬ «}|jd¬ «}||fD]-}||_ t||«t||dddgi|ddg¬«Œ/y)Nz 01-Jan-2018z 01-Dec-2018ÚMS)Úfreqr;r<ÚABCrAÚLevel1ÚLevel2ÚlevelÚdate)r™rBr?r@©rŽrŒ)rCr\rDrZÚrandomÚ default_rngÚstandard_normalÚlenrXrÚ from_productÚcopyrür’)rÔr1r*Údatesr]Úindex1Úindex2rüs        r)Útest_multiindex_with_columnsz&TestBasic.test_multiindex_with_columnsìsá€ØˆÜ— ‘ ˜m¨]ÀÔFˆÜ \‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°a¼#¸e»*±nÀaÐ5HÓ Iܘ“Kô
ˆô—‘×+Ñ+ؘР! 5Ð )°'¸6Ð1Bð,ó
ˆð—‘ 4Ó(ˆØ˜fÐ%ò    ˆE؈BŒHä ˜R Ô (Ü ØF¨°S¸#°JÐ(?È"ÈcÐSVÈZÉ.ö ñ        r+cóÊ—tjgd¢gd¢dœ«}dddœ}|jd¬«}t||||¬«tjgd¢gd¢dœgd    ¢¬
«}t||||¬«gd ¢gd ¢g}tjt    t d ««t d «Dcgc]}| ‘Œc}dœ|¬
«}|jd¬«}t||||¬«ycc}w)Nr9)ÚqÚrÚs)rSrTF)r€rüT)Údrop©rrŒ)ÚzyxÚwvuÚtsr©rü©rererfrfr=r=Úquxr%©ÚoneÚtwor'r(r'r(r'r(é)r'r()rCrDÚ reset_indexr’rXrY)rÔr*r]rrŒÚarraysÚis       r)Útest_write_ignoring_indexz#TestBasic.test_write_ignoring_indexÿsՀô\‰\¢    ²Ñ@Ó Aˆà'+°eÑ<ˆ ð—>‘> t>Ó,ˆä˜˜V°,ÈÕRô\‰\Ú¢/Ñ 2Ò:Oô
ˆô    ˜˜V°,ÈÕRò EÚ Dð
ˆô\‰\Üœ˜q›“N¼¸a»Ö+A°1¨QªBÒ+AÑ BÈ&ô
ˆð—>‘> t>Ó,ˆÜ˜˜V°,ÈÖRùò    ,BsÂ)
có,—tjjgd¢«}tjtj
j d«jd«|¬«}|dk(r|j||td«y|dk(r t||«yy)Nrr;)rIr<rArúColumn name must be a stringr ) rCrrrDrZrrrr×Ú    TypeErrorr’)rÔr*Ú
mi_columnsr]s    r)Útest_write_column_multiindexz&TestBasic.test_write_column_multiindexs€ä—]‘]×.Ñ.Ò/MÓNˆ
Ü \‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°VÓ <Àjô
ˆð ]Ò "Ø × %Ñ %ؐFœIÐ'Eõ ðyÒ  Ü ˜R Õ (ð!r+có —gd¢gd¢g}tjtjj    d«j d«|¬«}ddg|j _|dk(r|j||td    «y|d
k(r t||«yy) Nr$)r:r;r:r;r:r;r:r;r;©r)r)rAr r rz Column namer ) rCrDrZrrrrBr™r×r r’©rÔr*r+r]s    r)Ú&test_write_column_multiindex_nonstringz0TestBasic.test_write_column_multiindex_nonstring-s‡€ò
EÚ $ð
ˆô\‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°VÓ <Àfô
ˆð% hÐ/ˆ
‰
ÔØ ]Ò "Ø × %Ñ % b¨&´*¸mÕ LØ yÒ  Ü ˜R Õ (ð!r+cóܗ|}gd¢gd¢g}tjtjj    d«j d«|¬«}ddg|j _t||«y)Nr$r&r;r4rAÚ    ColLevel1Ú    ColLevel2)    rCrDrZrrrrBr™r’©rÔr1r*r+r]s     r)Ú#test_write_column_multiindex_stringz-TestBasic.test_write_column_multiindex_string>se€ðˆò EÚ Dð
ˆô\‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°VÓ <Àfô
ˆð(¨Ð5ˆ
‰
Ô䘘VÕ$r+cóЗ|}gd¢}tjtjj    d«j d«|¬«}d|j _t||«y)N)rerfr=r%r;©r)rIrAÚ    StringCol)    rCrDrZrrrrBrÿr’r:s     r)Útest_write_column_index_stringz(TestBasic.test_write_column_index_stringOsT€ðˆò.ˆÜ \‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°VÓ <Àfô
ˆð&ˆ
‰
Œä˜˜VÕ$r+có—gd¢}tjtjj    d«j d«|¬«}d|j _|dk(r|j||td«yt||«y)N©r:r;r<rIr;r=rAÚ NonStringColrr/) rCrDrZrrrrBrÿr×r0r’r5s    r)Ú!test_write_column_index_nonstringz+TestBasic.test_write_column_index_nonstring]so€òˆÜ \‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°VÓ <Àfô
ˆð)ˆ
‰
ŒØ ]Ò "Ø × %Ñ %ؐFœIÐ'Eõ ô ˜R Õ (r+c óþ—tjd«}|dk(r1tjjd¬«}|j    |«t j t jgd¢d«t jgd¢d«t jgd¢«t jgd    ¢«t jgd
¢d«t jgd ¢d «t jgd ¢d «dœ«}tj«5}|j||«t||¬«}t||d¬«}ddd«djtjd «k(sJ‚tjtjgd¢d¬«tjgd¢d¬«tjgd¢d¬«tjgd    ¢d¬«tjgd
¢d¬«tjgd ¢d¬«tjgd ¢d¬«dœ«}    |dk(r&j!dd¬«}|    j!dd¬«}    tj"|    «y#1swYŒ1xYw)Nzpyarrow.parquetrz.Fastparquet nullable dtype support is disabledr©r:r;r<NÚint64Úuint8)rSrTr`N)TFTNrA)çð?rirjNÚfloat32rL)rSrTr`rUrVrWÚgrÂÚnumpy_nullable©r*Ú dtype_backendrSÚInt64rMÚUInt8rlÚbooleanÚFloat32ÚFloat64r`r:)Úaxis)r.Ú importorskipr5r6r4r Útablerr‡r‘Ú write_tablerrNrZrCrDrrˆ)
rÔr*r(Úpqr5rUrÚresult1Úresult2rŒs
          r)Útest_dtype_backendzTestBasic.test_dtype_backendmsê€Ü ×  Ñ  Ð!2Ó 3ˆà ]Ò "ô—;‘;×$Ñ$ØGð%óˆDð × Ñ  Ô %ä— ‘ ä—]‘]¢?°GÓ<Ü—]‘]¢?°GÓ<Ü—]‘]Ò#8Ó9Ü—]‘]Ò#<Ó=ä—]‘]¢<°Ó9ä—]‘]Ò#8¸)ÓDÜ—]‘]Ò#8¸)ÓDñ
ó 
ˆô_‰_Ó ð    X $à N‰N˜5 $Ô 'Ü" 4°Ô7ˆGÜ" 4°ÐFVÔWˆG÷        Xð s‰|×!Ñ!¤R§X¡X¨iÓ%8Ò8Ð8Ð8Ü—<‘<ä—X‘Xšo°WÔ=Ü—X‘Xšo°WÔ=Ü—X‘XÒ3¸8ÔDÜ—X‘XÒ7¸yÔIÜ—X‘Xšl°'Ô:Ü—X‘XÒ3¸9ÔEÜ—X‘XÒ3¸9ÔEñ ó
 
ˆð ]Ò "ð—l‘l 3¨QlÓ/ˆGØ—}‘} S¨q}Ó1ˆHÜ
×јg xÕ0÷/    Xñ    Xús Ä.I2É2I<rN)    rNrOrPÚobjectzdatetime64[ns, UTC]rsz    period[D]rRrlcóä—tjdtjg|¬«i«}d}|dk(r,tjdtjgd¬«i«}t||ddi|¬«y)NÚvaluerMrsrRrMrKr)rCrDrr’)rÔr1rNr]rŒs     r)Útest_read_empty_arrayzTestBasic.test_read_empty_arrayžsr€ô \‰\àœŸ™ "¨EÔ2ð ó
ˆð ˆØ GÒ Ü—|‘|àœRŸX™X b°    Ô:ðóˆHô
    Ø  Ð2BРCÈhö    
r+có(—|dk7rtj|«t|dddd«d¬«5}|j|j    «¬«t |j |¬    «}ddd«tj|«y#1swYŒ xYw)
Nr®ÚioÚdataÚparquetzsimple.parquetÚrb)Úmode)ÚcontentrÂ)    r.rTÚopenÚ serve_contentÚreadrÚurlr‡rˆ)rÔÚ
httpserverÚdatapathrFr*rWr]s       r)Útest_parquet_read_from_urlz$TestBasic.test_parquet_read_from_url¿s€ð VÒ Ü × Ñ  Ô 'Ü ‘(˜4 ¨Ð4DÓEÈDÔ Qð    =ÐUVØ × $Ñ $¨Q¯V©V«XÐ $Ô 6ܘjŸn™n°VÔ<ˆB÷    =ô     ×јb )Õ,÷    =ð    =ús ±8BÂBN)rÛrÜrÝrãrçr.r5Ú parametrizerîròrúrrrr-r2r6r;r?rCrZr^ÚnetworkÚ
single_cpurlr0r+r)rßrߗsЄò    Dò%ð ‡[[×ј]Ò,NÓOñPóPðPò
ò
ò&%ò0%òò&Sò@ )ò)ò"%ò" %ò)ò /1ðb ‡[[×ÑØò
    
ó ñ
ó ð
ð& ‡[[×ÑØ ‡[[×Ññ-óóñ-r+rßc ó—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    e
jje «d¬    «e
jje d
¬    «e
jj!d eej&g«d „«««Zd „Ze
jj,d„«Ze
jj,d„«Ze
jj,e
jj!ddggg«d„««Zd„Zd„Zd„Zd„Ze
jj!d ed„gddg¬«d„«Zd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)e
jj!d'd(d)ge
jTd*d+ge
jje+e,d,¬-«¬.«e-jZd/d)d)d(d(«e-jZd/d)d)d)d)«gg«d0„«Z.d1„Z/d2„Z0d3„Z1e
jje2d4¬    «d5„«Z3d6„Z4y7)8ÚTestParquetPyArrowcóŠ—|}tjddd¬«}|jd«}||d<gd¢|d<t||«y)NrPr<úEurope/Brussels©rRÚtzÚ datetime_tz©TNTÚbool_with_none)rCr\rþr’)rÔr1r|r]Údtis     r)Ú
test_basiczTestParquetPyArrow.test_basicËsI€Ø ˆôm‰m˜J°Ð6GÔHˆØn‰n˜TÓ"ˆØˆˆ=ÑÚ1ˆÐ Ñ䘘RÕ r+cón—|}tjddd¬«|d<t|||ddgdddgi¬    «y)
NrPr<rsrtrvrlrqrBrð)rCr\r’)rÔr1r|r]s    r)Útest_basic_subset_columnsz,TestParquetPyArrow.test_basic_subset_columnsÖsI€ðˆäŸM™M¨*¸aÐDUÔVˆˆ=ÑäØ Ø Ø˜ 5Ð)Ñ*Ø" X¨uÐ$5Ð6ö        
r+cóâ—|j|¬«}t|t«sJ‚t|«}t    |«}|j «}d|j d<tj||«y)NrÂr‚)    rr±rorrrr†r‡rˆ)rÔr1r|Ú    buf_bytesÚ
buf_streamÚresrŒs       r)Ú*test_to_bytes_without_path_or_buf_providedz=TestParquetPyArrow.test_to_bytes_without_path_or_buf_providedäsc€à×&Ñ&¨bÐ&Ó1ˆ    Ü˜)¤UÔ+Ð+Ð+ä˜YÓ'ˆ
ܘ:Ó&ˆà—<‘<“>ˆØ-1ˆ ‰ Ð)Ñ*Ü
×јc 8Õ,r+có֗tjtjd«j    dd«t d«¬«j «}|j||td«y)Né rIr<ÚaaarAzDuplicate column names found©    rCrDrZr[ÚreshaperXrr×r ©rÔr1r]s   r)Útest_duplicate_columnsz)TestParquetPyArrow.test_duplicate_columnsðsI€ä \‰\œ"Ÿ)™) B›-×/Ñ/°°1Ó5¼tÀE»{Ô K× PÑ PÓ RˆØ ×!Ñ! " b¬*Ð6TÕUr+cót—tjdtjdd¬«i«}t||«y)NrSú1 dayr<rQ)rCrDÚtimedelta_ranger’r‡s   r)Útest_timedeltaz!TestParquetPyArrow.test_timedeltaõs,€Ü \‰\˜3¤× 2Ñ 2°7ÀAÔ FÐGÓ HˆÜ˜˜RÕ r+cóx—tjdgd¢i«}|j||tj«y)NrS©rSr:ri)rCrDrÚr ÚArrowExceptionr‡s   r)Útest_unsupportedz#TestParquetPyArrow.test_unsupportedùs/€ä \‰\˜3¢ Ð.Ó /ˆð     ×*Ñ*¨2¨r´7×3IÑ3IÕJr+cóè—tjddtj¬«}tj|dg¬«}t
r"|j ||tj«yt||«y)Nr;é
rMÚfp16©rarB)
rZr[Úfloat16rCrDr rÚr rr’)rÔr1rar]s    r)Útest_unsupported_float16z+TestParquetPyArrow.test_unsupported_float16sQ€ôy‰y˜˜B¤b§j¡jÔ1ˆÜ \‰\˜t¨f¨XÔ 6ˆÝ Ø × .Ñ .¨r°2´w×7MÑ7MÕ Nä ˜R Õ $r+zqPyArrow does not cleanup of partial files dumps when unsupported dtypes are passed to_parquet function in windowsrzfloat16 works on 15Ú    path_typecó¼—tjddtj¬«}tj|dg¬«}t j «5}||«}t jtj«5|j||¬«ddd«tjj|«rJ‚    ddd«y#1swYŒ4xYw#1swYyxYw)Nr;r’rMr“r”)rr*)rZr[r•rCrDr‡r‘rÙr rrÚosrÚisfile)rÔr1r—rar]Úpath_strrs       r)Ú test_unsupported_float16_cleanupz3TestParquetPyArrow.test_unsupported_float16_cleanup
s®€ôy‰y˜˜B¤b§j¡jÔ1ˆÜ \‰\˜t¨f¨XÔ 6ˆä _‰_Ó ð    , (Ù˜XÓ&ˆDÜ×)Ñ)¬'×*@Ñ*@ÓAñ 4Ø— ‘  4° Ô3÷ 4ä—w‘w—~‘~ dÔ+Ð +Ð+Ð+÷        ,ð    ,÷ 4ð 4ú÷    ,ð    ,ús$Á,CÁ?CÂ)CÃC    Ã CÃCc
ó—tjtjtd««tjgd¢tjgd¢«¬«tjgd¢gd¢d¬«d    œ«}t ||«y)
NÚabcdef)rer=r=reNrerdrM)rSrTr`rSr`rT)rTr`rUT)Ú
categoriesÚordered©rSrTr`)rCrDÚ CategoricalrXÚCategoricalDtyper’r‡s   r)Útest_categoricalz#TestParquetPyArrow.test_categorical sf€ä \‰\ä—^‘^¤D¨£NÓ3ä—^‘^Ú=Ü×-Ñ-Ò.CÓDôô
—^‘^Ú2Ú.Ø ôñ ó
ˆô"    ˜˜RÕ r+có”—tjd«}|jdi|¤Ž}d|i}t|||j›d||¬«y)NÚs3fsÚ
filesystemú/pyarrow.parquet©rrŽrr0)r.rTÚ S3FileSystemr’rÿ)rÔrFÚs3_public_bucketr1Ús3sor¦Ús3Úkws        r)Útest_s3_roundtrip_explicit_fsz0TestParquetPyArrow.test_s3_roundtrip_explicit_fs5sW€ä×"Ñ" 6Ó*ˆØ ˆT× Ñ Ñ & Ñ &ˆØ˜BÐ ˆÜØ Ø Ø$×)Ñ)Ð*Ð*:Ð;ØØö     
r+cóH—d|i}t||d|j›d||¬«y)NÚstorage_optionsús3://r¨r©©r’rÿ)rÔrFr«r1r¬s     r)Útest_s3_roundtripz$TestParquetPyArrow.test_s3_roundtripBs7€ð" 4Ð(ˆÜØ Ø ØÐ)×.Ñ.Ð/Ð/?Ð@ØØö     
r+Ú partition_colr?c ó8—tjd«|j«}|rL|jtj |t j««}d}||j|«||<t|||d|j›dd|i|d|dœdd¬    «y)
Nr¦Úcategoryr²z /parquet_dirr±)rör€r±Tr:)rŒrrŽrr„r‰)
r.rTrryÚdictÚfromkeysrZÚint32r’rÿ)rÔrFr«r1rµr¬Ú expected_dfÚpartition_col_types        r)Útest_s3_roundtrip_for_dirz,TestParquetPyArrow.test_s3_roundtrip_for_dirNsª€ô    ×јFÔ#à—n‘nÓ&ˆ ñ Ø%×,Ñ,¬T¯]©]¸=Ì"Ï(É(Ó-SÓTˆKØ!+Ð à)4°]Ñ)C×)JÑ)JØ"ó*ˆK˜ Ñ &ô    Ø Ø Ø ØÐ)×.Ñ.Ð/¨|Ð<Ø*¨DÐ1à"/Ø#Ø#'ñð
Øö     
r+cóö—tjd«t«}|j|«t    |«}|r&t
s |j jd«|_tj||«y)Nr r¤)
r.rTrrrr rBryr‡rˆ)rÔrFr§ÚbufferÚ df_from_bufs     r)Útest_read_file_like_obj_supportz2TestParquetPyArrow.test_read_file_like_obj_supportus^€Ü×јIÔ&Ü“ˆØ×јVÔ$Ü" 6Ó*ˆ Ù Õ&:Ø )× 1Ñ 1× 8Ñ 8¸Ó ?ˆIÔ Ü
×јi¨Õ5r+cón—tjd«|jdd«|jdd«tjtd¬«5t d«ddd«tjtd¬«5|j d«ddd«y#1swYŒ?xYw#1swYyxYw)Nr ÚHOMEÚ TestingUserÚ USERPROFILEz.*TestingUser.*rz~/file.parquet)r.rTÚsetenvrŸÚOSErrorrr)rÔrFÚ monkeypatchs   r)Útest_expand_userz#TestParquetPyArrow.test_expand_user~s•€Ü×јIÔ&Ø×ј6 =Ô1Ø×ј=¨-Ô8Ü ]‰]œ7Ð*<Ô =ñ    +Ü Ð)Ô *÷    +ä ]‰]œ7Ð*<Ô =ñ    3Ø ×  Ñ  Ð!1Ô 2÷    3ð    3÷    +ð    +ú÷    3ð    3úsÁ BÂB+ÂB(Â+B4có˜—ddg}|}|j||d¬«t||«t|«j|jk(sJ‚y)Nrurq©rör€©rr›rÚshape)rÔrùr1r|rör]s      r)Útest_partition_cols_supportedz0TestParquetPyArrow.test_partition_cols_supported‡sI€à  %˜ˆØ ˆØ
 ‰ h¨~È4ˆ ÔPܘh¨Ô7ܘHÓ%×+Ñ+¨r¯x©xÒ7Ð7Ñ7r+cóš—d}|g}|}|j||d¬«t||«t|«j|jk(sJ‚y)NrurËrÌ)rÔrùr1r|röÚpartition_cols_listr]s       r)Útest_partition_cols_stringz-TestParquetPyArrow.test_partition_cols_stringsO€àˆØ-Ð.ÐØ ˆØ
 ‰ h¨~È4ˆ ÔPܘhÐ(;Ô<ܘHÓ%×+Ñ+¨r¯x©xÒ7Ð7Ñ7r+có—|Sr$r0)Úxs r)ú<lambda>zTestParquetPyArrow.<lambda>™s€ Q€r+rlz pathlib.Path)Úidscó—d}|g}|}||«}|j||¬«t|«j|jk(sJ‚y)Nr@)rö)rrrÍ)    rÔrùr1rFr—rörÐr]rs             r)Útest_partition_cols_pathlibz.TestParquetPyArrow.test_partition_cols_pathlib˜sO€ð ˆØ-Ð.ÐØ ˆá˜Ó"ˆØ
 ‰ dÐ+>ˆ Ô?ܘDÓ!×'Ñ'¨2¯8©8Ò3Ð3Ñ3r+cóJ—tjgg¬«}t||«y)N)rürBrír‡s   r)Útest_empty_dataframez'TestParquetPyArrow.test_empty_dataframe¦s€ä \‰\ ¨BÔ /ˆÜ˜˜RÕ r+cóò—ddl}tjdddgi«}|j|jd|j
«¬«g«}|j t«}t||d|i|¬«y)NrrÓr:)Útyper˜r)    r rCrDr˜ÚfieldÚbool_ryrur’)rÔr1r r]r˜Úout_dfs      r)Útest_write_with_schemaz)TestParquetPyArrow.test_write_with_schema«sc€Ûä \‰\˜3  A ˜-Ó (ˆØ—‘  §¡¨s¸¸¿¹»Ô!IРJÓKˆØ—‘œ4“ˆÜ˜˜R¨x¸Ð.@È6ÖRr+cóÆ—tjd«tjtjgd¢d¬«tjgd¢d¬«tjgd¢d¬«dœ«}|r&t
r t |||jd    d
i«¬ «n t ||«tjd tjgd ¢d¬«i«}t ||«y)Nr r9rNrMÚUInt32rarlr¡r`r¤©rŒrSrE)r.rTrCrDrár r’ry)rÔr1r§r]s    r)Ú test_additional_extension_arraysz3TestParquetPyArrow.test_additional_extension_arrays³s£€ô    ×јIÔ&Ü \‰\ä—Y‘Yšy°Ô8Ü—Y‘Yšy°Ô9Ü—Y‘YÒ/°xÔ@ñ ó
ˆñ Õ"6Ü ˜R ¨b¯i©i¸¸e¸ Ó.EÖ Fä ˜R Ô $ä \‰\˜3¤§    ¡    ª/ÀÔ IÐJÓ KˆÜ˜˜RÕ r+cóÆ—tjd«tjdtjgd¢d¬«i«}tj
d|«5|rNt r|jd«}n|jd|›d    «}|jjd«|_n|jd|›d    «}t|||¬
«ddd«y#1swYyxYw) Nr rSraústring[pyarrow]rMÚstring_storager¤zstring[ú]râ)
r.rTrCrDrár¦r ryrBr’)rÔr1rær§r]rŒs      r)Ú test_pyarrow_backed_string_arrayz3TestParquetPyArrow.test_pyarrow_backed_string_arrayÆs¿€ä×јIÔ&Ü \‰\˜3¤§    ¡    Ò*:ÐBSÔ TÐUÓ VˆÜ × Ñ Ð/°Ó @ñ        8Ù!Ý'Ø!Ÿy™y¨Ó/‘Hà!Ÿy™y¨7°>Ð2BÀ!Ð)DÓEHØ#+×#3Ñ#3×#:Ñ#:¸5Ó#AÕ àŸ9™9 w¨~Ð.>¸aÐ%@ÓAÜ ˜R ¨hÕ 7÷        8÷        8ñ        8ús ÁA4CÃC c óH—tjd«tjtjj gd¢«tj ddd¬«tjjtjddd¬««dœ«}t||«y)    Nr ))rr:)r:r;)r<rIz
2012-01-01r<ÚD)rRr    rI)r`rUrV)
r.rTrCrDÚ IntervalIndexrÚ period_rangeÚ from_breaksr\r’r‡s   r)Útest_additional_extension_typesz2TestParquetPyArrow.test_additional_extension_typesÕsz€ô    ×јIÔ&Ü \‰\ä×%Ñ%×1Ñ1Ò2JÓKÜ—_‘_ \¸1À3ÔGä×%Ñ%×1Ñ1Ü—M‘M ,¸ÀÔDóñ     ó    
ˆô    ˜˜RÕ r+có‚—d}tjdtjddd¬«i«}t||d|i¬«y)    Nz2.6rSz
2017-01-01Ú1nsr’©r    rRÚversionrì)rCrDr\r’)rÔr1Úverr]s    r)Útest_timestamp_nanosecondsz-TestParquetPyArrow.test_timestamp_nanosecondsås;€ðˆÜ \‰\˜3¤§ ¡ ¨lÀÐPRÔ SÐTÓ UˆÜ˜˜R¨y¸#Ð.>Ö?r+cóh—tjdd«d|gz}tj|d|i¬«}|dd}tr |j
j d«|_|jtjjk7r    ddl }|j
jj|«}|j|j«dz «}|j
j!|«|_|dj"j!|«|d<t'||d    |¬
«y#t$$rYŒwxYw) Nr ú11.0.0éÚ index_as_col©rüraÚnsré<F)r…rŒ)r.rTrCrDr    rüÚas_unitÚtzinforvÚtimezoneÚutcÚpytzruÚ    utcoffsetÚ FixedOffsetÚ total_secondsÚ
tz_convertÚdtr¸r’)    rÔr1r~Úidxr]rŒrÚoffsetrus             r)Útest_timezone_aware_indexz,TestParquetPyArrow.test_timezone_aware_indexís€Ü×јI xÔ0àÐ+Ð,Ñ,ˆÜ \‰\ ¨>¸3Ð*?Ô @ˆð‘a5ˆÝ Ø%Ÿ^™^×3Ñ3°DÓ9ˆHŒNØ #× *Ñ *¬h×.?Ñ.?×.CÑ.CÒ Cð VÛ🙟™×.Ñ.Ð/GÓHØ×%Ñ% f×&:Ñ&:Ó&<¸rÑ&AÓBØ!)§¡×!:Ñ!:¸2Ó!>”Ø+3°NÑ+C×+FÑ+F×+QÑ+QÐRTÓ+U˜Ñ(ܘ˜R¨U¸XÖFøôò Ùð ús    D%Ä%    D1Ä0D1có6—tjd«tjdt    t d««i«}t j«5}|j||¬«t||dg¬«}ddd«t«dk(sJ‚y#1swYŒxYw)Nr rSr<r©rSr÷r©rør:) r.rTrCrDrXrYr‡r‘rrr)rÔr1r]rrÅs     r)Útest_filter_row_groupsz)TestParquetPyArrow.test_filter_row_groupss…€ä×јIÔ&Ü \‰\˜3¤¤U¨1£X£Ð/Ó 0ˆÜ _‰_Ó ð    F $Ø M‰M˜$ rˆMÔ *Ü! $¨°^Ð4DÔEˆF÷    Fô6‹{˜aÒÐÑ÷    Fð    Fús Á#BÂBcó —tjtjj    d«j d«gd¢¬«}t j«5}|j||¬«t||«}ddd«|r;tjtjjj«sJ‚ytjtjjj«sJ‚y#1swYŒxYw)Nr;)r’r<)r?r@ÚCrArÂ)rCrDrZrrrr‡r‘rrr±Ú_mgrÚcoreÚ    internalsÚ ArrayManagerÚ BlockManager)rÔr1Úusing_array_managerr]rrÅs      r)Útest_read_parquet_managerz,TestParquetPyArrow.test_read_parquet_managers»€ä \‰\Ü I‰I× !Ñ ! !Ó $× 4Ñ 4°WÓ =Âô
ˆô_‰_Ó ð    , $Ø M‰M˜$ rˆMÔ *Ü! $¨Ó+ˆF÷    ,ñ ܘfŸk™k¬2¯7©7×+<Ñ+<×+IÑ+IÔJÐ JÑJä˜fŸk™k¬2¯7©7×+<Ñ+<×+IÑ+IÔJÐ JÑJ÷     ,ð    ,ús Á C:Ã:Dcóò—ddl}|}tjddd¬«}|jd«}||d<gd¢|d<|jj |«}|j tj¬    «}trj|d
jd «|d
<|d jd «|d <|djtj|jd d¬«««|d<t||ddi|¬«y)NrrPr<rsrtrvrwrx)Ú types_mapperrvztimestamp[us][pyarrow]rwÚus)ÚunitrurMr ©r*rŽrŒ) r rCr\rþÚTableÚ from_pandasÚ    to_pandasÚ
ArrowDtyper
ryÚ    timestampr’)rÔr1r|r r]ryÚpa_tablerŒs        r)Ú&test_read_dtype_backend_pyarrow_configz9TestParquetPyArrow.test_read_dtype_backend_pyarrow_config%sþ€Ûà ˆôm‰m˜J°Ð6GÔHˆØn‰n˜TÓ"ˆØˆˆ=ÑÚ1ˆÐ Ñà—=‘=×,Ñ,¨RÓ0ˆØ×%Ñ%´2·=±=Ð%ÓAˆÝ à#+¨JÑ#7×#>Ñ#>Ð?WÓ#XˆHZÑ  Ø,4Ð5HÑ,I×,PÑ,PØ(ó-ˆHÐ(Ñ )ð'/¨}Ñ&=×&DÑ&DÜ— ‘ Ð/˜g×/Ñ/°TÐ>OÔPÓQó'ˆH]Ñ #ô    Ø ØØ(¨)Ð4Øö        
r+có6—tjdddgitjddgd¬«d¬    «}|j«}d
dl}t |j «t d «kDr |jjd«|_t||d d i|¬«y)NrSr:r;r<rIÚtest©rÿzint64[pyarrow])rürNrrörMr r)
rCrDrErr rr·rüryr’)rÔr1r]rŒr s     r)Ú,test_read_dtype_backend_pyarrow_config_indexz?TestParquetPyArrow.test_read_dtype_backend_pyarrow_config_indexCs‡€Ü \‰\Ø 1a&ˆM¤§¡¨1¨a¨&°vÔ!>ÐFVô
ˆð—7‘7“9ˆÛä 7×&Ñ&Ó '¬'°(Ó*;Ò ;Ø%Ÿ^™^×2Ñ2Ð3CÓDˆHŒNÜØ ØØ(¨)Ð4Øö        
r+rBrr:rbrcz*https://github.com/apache/arrow/pull/44171)rŸrréÛc    ó’—tjtd«ttdd««dœ«}||_t ||«y)NrHr:rIråræ)rÔr1rBr]s    r)Útest_columns_dtypes_not_invalidz2TestParquetPyArrow.test_columns_dtypes_not_invalidSs7€ô&\‰\¤T¨%£[¼¼eÀAÀq»kÓ9JÑKÓ LˆàˆŒ
ܘ˜RÕ r+cóv—tjtjgd¢d¬«¬«}t||«y)Nr¡ú custom namer$r#©rCrDrEr’r‡s   r)Útest_empty_columnsz%TestParquetPyArrow.test_empty_columnsks%€ä \‰\¤§¡ª¸}Ô MÔ NˆÜ˜˜RÕ r+cóȗ|dz }tjddgi¬«}ddi|_|j||¬«t    ||¬«}|j|jk(sJ‚y)Nztest_df_metadata.pr:©raÚtest_attributerÂ)rCrDÚattrsrr)rÔrùr1rr]Únew_dfs      r)Útest_df_attrs_persistencez,TestParquetPyArrow.test_df_attrs_persistenceps_€ØÐ.Ñ.ˆÜ \‰\  A 3˜xÔ (ˆØ$ aÐ(ˆŒØ
 ‰ d 2ˆ Ô&ܘd¨2Ô.ˆØ|‰|˜rŸx™xÒ'Ð'Ñ'r+c    ó—|dz }tjdddgiddg¬«}|j||¬«tjdd    «5t    ||¬«}ddd«tj
t j¬
«}tjdddgi|tjddg|¬ «tjdgtr|stn|¬ «¬ «}tj|«y#1swYŒœxYw) Nztest_string_inference.prSrÓÚyrT)rarürÂúfuture.infer_stringT©Úna_valuerM)rarNrürB) rCrDrr¦rÚ StringDtyperZrxrEr r[r‡rˆ)    rÔrùr1r§rr]rÅrNrŒs             r)Útest_string_inferencez(TestParquetPyArrow.test_string_inferencexsހàÐ3Ñ3ˆÜ \‰\  c¨3 ZÐ0¸¸c¸
Ô CˆØ
 ‰ d 2ˆ Ô&Ü × Ñ Ð4°dÓ ;ñ    3Ü! $¨rÔ2ˆF÷    3ä—‘¬¯©Ô/ˆÜ—<‘<ؘ˜SzÐ"ØÜ—(‘(˜C ˜:¨UÔ3Ü—H‘Hؐå'Ñ0Bõàô    ô    
 
ˆô     ×јf hÕ/÷    3ð    3ús Á C5Ã5C>znot supported before 11.0c    óŽ—ddl}|dz }tjdtd«gid¬«}|j    ||j d|j d«fg«¬«t|«}trtjdd    gid
¬«}n#tjdtd«gid ¬«}tj||«y) Nrz    decimal.prSz123.00rårMr÷)r˜Ú123zstring[python]r[) r rCrDrrr˜Ú
decimal128rr r‡rˆ)rÔrùr1rr]rÅrŒs       r)Útest_roundtrip_decimalz)TestParquetPyArrow.test_roundtrip_decimalsª€ó    à˜+Ñ%ˆÜ \‰\˜3¤¨Ó!2Р3Ð4Ð<MÔ NˆØ
 ‰ d 2§9¡9¨s°B·M±MÀ!Ó4DÐ.EÐ-FÓ#Gˆ ÔHܘdÓ#ˆÝ Ü—|‘| S¨5¨' NÐ:JÔK‰Hä—|‘| S¬7°8Ó+<Ð*=Ð$>ÀhÔOˆHÜ
×јf hÕ/r+c
ó0—ddl}ddlm}|dz }|jd|j    gd¢|j ««i«}|j ||«tjdd«5t|«}ddd«tjdgd¢itjtj¬«tjdgtjtj¬«¬«¬    «}tj |«y#1swYŒ–xYw)
Nrzlarge_string.prS)NrTr`r5Tr6rM)rarNrB)r Úpyarrow.parquetrbrUrÚ large_stringrVrCr¦rrDr8rZrxrEr‡rˆ)rÔrùr1rWrrUrÅrŒs        r)Ú#test_infer_string_large_string_typez6TestParquetPyArrow.test_infer_string_large_string_typeœs̀ãÝ$àÐ*Ñ*ˆà—‘˜#˜rŸx™xÒ(8¸"¿/¹/Ó:KÓLÐMÓNˆØ
‰u˜dÔ#ä × Ñ Ð4°dÓ ;ñ    (Ü! $Ó'ˆF÷    (ä—<‘<ØÒ'Ð(Ü—.‘.¬"¯&©&Ô1Ü—H‘H˜c˜U¬"¯.©.Ä"Ç&Á&Ô*IÔJô
ˆô
     ×јf hÕ/÷    (ð    (ús Á+ D Ä DN)5rÛrÜrÝrzr|rrˆrŒrr–r.r5r6rÚskipifr rmr¤ÚpathlibÚPathrœr¤ror¯r´r½rÁrÉrÎrÑr×rÙrßrãrèrîrôrr rr!r%r&r ÚNotImplementedErrorrvr(r,r2r9r    r=rAr0r+r)rqrqÊs„ò    !ò 
ò
-òVò
!òKò%ð ‡[[×ÑÙÓð ?ðóð ‡[[×ÑÐ0Ð0Ð9NÐÓOØ ‡[[×ј[¨3°· ± Ð*=Ó>ñ ,ó?óPóð ,ò!ð* ‡[[×Ññ
 
óð
 
ð ‡[[×Ññ    
óð    
ð ‡[[×ÑØ ‡[[×ÑØà ˆEØ ð    
óñ
óóð
ò>6ò3ò8ò8ð ‡[[×ÑØc™;Ð'¨h¸Ð-Gðóñ    4óð    4ò!ò
Sò!ò& 8ò!ò @òGòB ò Kò
ò<
ð  ‡[[×ÑØà ˆFØ ˆFL‰LؘРؗk‘k×'Ñ'Ø(Ø.ØGð(óô ð"×!Ñ! $¨¨1¨a°Ó3Ø!×!Ñ! $¨¨1¨a°Ó3ð ð    
óñ$!ó%ð$!ò !ò
(ò0ð* ‡[[×ÑÐ,Ð5PÐÓQñ 0óRð 0ó0r+rqcóV—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    e
jjd„«Z d    „Zd
„Zd „Zd „Ze
jj%e«d ¬«d„«Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Ze
jj%e«d ¬«d„«Zy)ÚTestParquetFastParquetcó°—|}tjddd¬«}|jd«}||d<tjdd¬«|d<t    ||«y)    NrPr<z
US/EasternrtrvrŠrQÚ    timedelta)rCr\rþr‹r’)rÔr7r|r]rys     r)rzz!TestParquetFastParquet.test_basic½sQ€Ø ˆäm‰m˜J°°lÔCˆØn‰n˜TÓ"ˆØˆˆ=ÑÜ×,Ñ,¨W¸aÔ@ˆˆ;‰Ü˜˜RÕ r+c    ó†—tjtd«ttdd««dœ«}t}d}ddg|_|j ||||«ddg|_|j ||||«tjd    dddd«tjd    dddd«g|_|j ||||«y)
NrHr:rIrår/rrbrcr&)rCrDrXrYr0rBr×rv)rÔr7r]Úerrr¡s     r)Útest_columns_dtypes_invalidz2TestParquetFastParquet.test_columns_dtypes_invalidÆs¾€Ü \‰\¤T¨%£[¼¼eÀAÀq»kÓ9JÑKÓ LˆäˆØ,ˆð˜VˆŒ
Ø ×!Ñ! " b¨#¨sÔ3ð˜fÐ%ˆŒ
Ø ×!Ñ! " b¨#¨sÔ3ô × Ñ ˜d A q¨!¨QÓ /Ü × Ñ ˜d A q¨!¨QÓ /ð
ˆŒ
ð     ×!Ñ! " b¨#¨sÕ3r+cóڗtjtjd«j    dd«t d«¬«j «}d}|j||t|«y)NrƒrIr<r„rAz9Cannot create parquet dataset with duplicate column namesr…©rÔr7r]r¡s    r)rˆz-TestParquetFastParquet.test_duplicate_columnsÛsM€ä \‰\œ"Ÿ)™) B›-×/Ñ/°°1Ó5¼tÀE»{Ô K× PÑ PÓ RˆØIˆØ ×!Ñ! " b¬*°cÕ:r+cóš—ddl}t|j«td«krTttj«td«k\r/|j    t
j jd¬««tjdgd¢i«}tjddtjd    gid
¬ «}t|||d ¬ «y)Nrú    2024.11.0z2.0.0z$fastparquet uses np.float_ in numpy2rrS)TNFrHgr•rMF)rŒr…) rrr·rZr4r.r5r6rCrDrxr’)rÔr7r(rr]rŒs      r)Útest_bool_with_nonez*TestParquetFastParquet.test_bool_with_noneásª€Ûä ;×*Ñ*Ó +¬g°kÓ.BÒ BÄwÜ N‰NóH
ä WÓ òHð × Ñ Ü— ‘ ×!Ñ!ØBð"óô ô
\‰\˜3Ò 3Ð4Ó 5ˆÜ—<‘<  s¬B¯F©F°CÐ&8Р9ÀÔKˆô    ˜˜R¨(ÀÖFr+cóô—tjdtjddd¬«i«}|j||td«tjdgd¢i«}d}|j||t|«y)NrSÚ2013ÚMr<rñrŽz"Can't infer object conversion type)rCrDrìr×r rNs    r)rz'TestParquetFastParquet.test_unsupportedòsd€ä \‰\˜3¤§¡°¸SÈ!Ô LÐMÓ Nˆà ×!Ñ! " b¬*°dÔ;ô\‰\˜3¢ Ð.Ó /ˆØ2ˆØ ×!Ñ! " b¬*°cÕ:r+có‚—tjdtjtd««i«}t    ||«y)NrSrH)rCrDr¢rXr’)rÔr7r]s   r)r¤z'TestParquetFastParquet.test_categoricalýs,€Ü \‰\˜3¤§¡¬t°E«{Ó ;Ð<Ó =ˆÜ˜˜RÕ r+có—dttd««i}tj|«}t    j
«5}|j ||dd¬«t||dg¬«}ddd«t«dk(sJ‚y#1swYŒxYw)NrSr<r:)r*r€Úrow_group_offsetsr
r )    rXrYrCrDr‡r‘rrr)rÔr7rUr]rrÅs      r)r z-TestParquetFastParquet.test_filter_row_groupss€Ø ”$”u˜Q“x“.Ð !ˆÜ \‰\˜!‹_ˆÜ _‰_Ó ð    F $Ø M‰M˜$ r°tÈqˆMÔ QÜ! $¨°^Ð4DÔEˆF÷    Fô6‹{˜aÒÐÑ÷    Fð    Fús Á%A>Á>Bc    óJ—t||d|j›dd|id|dœ¬«y)Nr²z/fastparquet.parquetr±)r€r±r©r³)rÔrFr«r7r¬s     r)r´z(TestParquetFastParquet.test_s3_roundtrip    s7€ô    Ø Ø ØÐ)×.Ñ.Ð/Ð/CÐDØ*¨DÐ1Ø)-À$ÑGö     
r+cóð—ddg}|}|j|d|d¬«tjj|«sJ‚ddl}|j
t |«d«j}t|«dk(sJ‚y)Nrurqr©r*rör€rFr;©    rr™rÚexistsrÚ ParquetFiler¤Úcatsr©rÔrùr7r|rör]rÚactual_partition_colss        r)rÎz4TestParquetFastParquet.test_partition_cols_supporteds{€à  %˜ˆØ ˆØ
 ‰ Ø Ø Ø)Øð        ô    
ô w‰w~‰~˜hÔ'Ð'Ð'Ûà 7  × 7Ñ 7¼¸H» ÀuÓ M× RÑ RÐÜÐ(Ó)¨QÒ.Ð.Ñ.r+cóì—d}|}|j|d|d¬«tjj|«sJ‚ddl}|j
t |«d«j}t|«dk(sJ‚y)NrurrZrFr:r[r_s        r)rÑz1TestParquetFastParquet.test_partition_cols_string$sw€àˆØ ˆØ
 ‰ Ø Ø Ø)Øð        ô    
ô w‰w~‰~˜hÔ'Ð'Ð'Ûà 7  × 7Ñ 7¼¸H» ÀuÓ M× RÑ RÐÜÐ(Ó)¨QÒ.Ð.Ñ.r+cóð—ddg}|}|j|dd|¬«tjj|«sJ‚ddl}|j
t |«d«j}t|«dk(sJ‚y)Nrurqr)r*r€Ú partition_onrFr;r[r_s        r)Útest_partition_on_supportedz2TestParquetFastParquet.test_partition_on_supported4s{€à  %˜ˆØ ˆØ
 ‰ Ø Ø ØØ'ð        ô    
ô w‰w~‰~˜hÔ'Ð'Ð'Ûà 7  × 7Ñ 7¼¸H» ÀuÓ M× RÑ RÐÜÐ(Ó)¨QÒ.Ð.Ñ.r+có —ddg}|}d}tjt|¬«5|j|dd||¬«ddd«y#1swYyxYw)NrurqzYCannot use both partition_on and partition_cols. Use partition_cols for partitioning datarr)r*r€rcrö)r.rŸr r)rÔrùr7r|rör]r¡s       r)Ú3test_error_on_using_partition_cols_and_partition_onzJTestParquetFastParquet.test_error_on_using_partition_cols_and_partition_onDsa€ð! %˜ˆØ ˆð  ð     ô]‰]œ:¨SÔ 1ñ    Ø M‰MØØ$Ø Ø+Ø-ð ô ÷    ÷    ñ    ús ¤AÁA zfastparquet writes into Indexrcóh—tj«}|j«}t|||¬«y)Nrâ)rCrDrr’©rÔr7r]rŒs    r)rÙz+TestParquetFastParquet.test_empty_dataframeWs&€ô\‰\‹^ˆØ—7‘7“9ˆÜ˜˜R¨(Ö3r+cóŠ—ddl}t|j«td«kDrPt|j«td«kr/|jtj
j d¬««d|gz}tj|d|i¬«}|j«}d    |j_ t|||¬
«y) Nrz2022.12rPzCfastparquet bug, see https://github.com/dask/fastparquet/issues/929rr÷rørùrürâ) rrr·r4r.r5r6rCrDrrürÿr’)rÔr7r~r(rrr]rŒs        r)rz0TestParquetFastParquet.test_timezone_aware_index^s±€Ûä ;×*Ñ*Ó +¬g°iÓ.@Ò @ÄWØ × #Ñ #óF
ä KÓ  òF!ð × Ñ Ü— ‘ ×!Ñ!ðIð"óô ðÐ+Ð,Ñ,ˆä \‰\ ¨>¸3Ð*?Ô @ˆà—7‘7“9ˆØ%ˆ‰Ôܘ˜R¨(Ö3r+cóþ—tjdddgi«}tj«5}|j    |«t j td¬«5tjt«5t|dd¬«ddd«ddd«t j td¬«5t|dd    ¬
«ddd«ddd«y#1swYŒLxYw#1swYŒPxYw#1swYŒ*xYw#1swYyxYw) NrSr:r;z!not supported for the fastparquetrrT)r*Úuse_nullable_dtypesr rL) rCrDr‡r‘rr.rŸr rÍrÎr)rÔr7r]rs    r)Ú&test_use_nullable_dtypes_not_supportedz=TestParquetFastParquet.test_use_nullable_dtypes_not_supportedusá€Ü \‰\˜3  A ˜-Ó (ˆä _‰_Ó ð    R $Ø M‰M˜$Ô Ü—‘œzÐ1TÔUñ WÜ×/Ñ/´ Ó>ñWÜ  ¨mÐQUÕV÷W÷ Wô—‘œzÐ1TÔUñ RܘT¨-ÀyÕQ÷ R÷     Rð    R÷WðWú÷ Wð Wú÷ Rð Rú÷     Rð    RúsS®-C3ÁCÁ5CÂC #C3Â/C'Â>C3ÃC ÃCÃC$    Ã C3Ã'C0    Ã,C3Ã3C<cód—tjd«5}tj|«j    d«t j td¬«5t|d¬«ddd«tj|«jd¬«ddd«y#1swYŒ7xYw#1swYyxYw)    Nú test.parquetsbreakitÚrrrÂF)Ú
missing_ok)
r‡r‘rCrDÚ write_bytesr.rŸÚ    ExceptionrÚunlink)rÔrs  r)Ú$test_close_file_handle_on_read_errorz;TestParquetFastParquet.test_close_file_handle_on_read_error€sŠ€Ü _‰_˜^Ó ,ð    8°Ü L‰L˜Ó × *Ñ *¨:Ô 6Ü—‘œy°Ô3ñ 9ܘT¨-Õ8÷ 9ô L‰L˜Ó × %Ñ %°Ð %Ô 7÷     8ð    8÷ 9ð 9ú÷    8ð    8ús$–AB&ÁBÁ$-B&ÂB#    ÂB&Â&B/cóX—tjddgddgdœ¬«}tjd«5}t    |j «d«5}|j |«ddd«t||¬«}ddd«tj|«y#1swYŒ5xYw#1swYŒ,xYw)Nrr:r>r.rnÚwbrÂ)    rCrDr‡r‘rfÚencoderrrˆ)rÔr*r]rrWrÅs      r)Útest_bytes_file_namez+TestParquetFastParquet.test_bytes_file_nameˆs“€ä \‰\ a¨ V°1°a°&Ñ9Ô :ˆÜ _‰_˜^Ó ,ð    7°Üd—k‘k“m TÓ*ð !¨aØ— ‘ ˜aÔ ÷ !ô" $¨vÔ6ˆF÷        7ô
     ×јf bÕ)÷     !ð !ú÷    7ð    7ús#³B ÁBÁ B ÂB    ÂB  B)cóX—tjd«tjddgddgdœ¬«}t    j
«5}tj td¬«5|j|dd¬    «ddd«ddd«t    j
«5}tj|«jd
«tj td¬«5t|dd¬    «ddd«ddd«y#1swYŒ…xYw#1swYŒ‰xYw#1swYŒ*xYw#1swYyxYw) Nrrr:r>r.zfilesystem is not implementedrr=©r*r§rb) r.rTrCrDr‡r‘rŸrErrCrDrqr©rÔr]rs   r)Útest_filesystem_notimplementedz5TestParquetFastParquet.test_filesystem_notimplemented’s €Ü×јMÔ*Ü \‰\ a¨ V°1°a°&Ñ9Ô :ˆÜ _‰_Ó ð    L $Ü—‘Ü#Ð+Jôñ Lð— ‘ ˜d¨=ÀU ÔK÷ L÷    Lô _‰_Ó ð    K $Ü L‰L˜Ó × *Ñ *¨6Ô 2Ü—‘Ü#Ð+Jôñ Kô˜T¨-ÀEÕJ÷ K÷    Kð    K÷  Lð Lú÷    Lð    Lú÷ Kð Kú÷    Kð    KúóIÁDÁ#C<Á8DÂAD ÃDÃ+D Ã<D    ÄDÄDÄD    ÄD Ä D)cóX—tjd«tjddgddgdœ¬«}t    j
«5}tj td¬«5|j|dd¬    «ddd«ddd«t    j
«5}tj|«jd
«tj td¬«5t|dd¬    «ddd«ddd«y#1swYŒ…xYw#1swYŒ‰xYw#1swYŒ*xYw#1swYyxYw) Nr rr:r>r.z1filesystem must be a pyarrow or fsspec FileSystemrr=rzrb) r.rTrCrDr‡r‘rŸr rrCrDrqrr{s   r)Útest_invalid_filesystemz.TestParquetFastParquet.test_invalid_filesystem¢s €Ü×јIÔ&Ü \‰\ a¨ V°1°a°&Ñ9Ô :ˆÜ _‰_Ó ð    H $Ü—‘ÜÐ"Uôñ Hð— ‘ ˜d¨9À ÔG÷ H÷    Hô _‰_Ó ð    G $Ü L‰L˜Ó × *Ñ *¨6Ô 2Ü—‘ÜÐ"Uôñ Gô˜T¨)ÀÕF÷ G÷    Gð    G÷  Hð Hú÷    Hð    Hú÷ Gð Gú÷    Gð    Gúr}c    óœ—tjd«}tjddgddgdœ¬«}t    j
«5}tj td¬«5|j|d|j«d    d
i¬ «ddd«ddd«t    j
«5}tj|«jd «tj td¬«5t|d|j«d    d
i¬ «ddd«ddd«y#1swYŒ–xYw#1swYŒšxYw#1swYŒ*xYw#1swYyxYw) Nz
pyarrow.fsrr:r>r.z8storage_options not supported with a pyarrow FileSystem.rr r=re)r*r§r±rb)r.rTrCrDr‡r‘rŸrErÚLocalFileSystemrCrDrqr)rÔÚpa_fsr]rs    r)Ú.test_unsupported_pa_filesystem_storage_optionszETestParquetFastParquet.test_unsupported_pa_filesystem_storage_options²s*€Ü×#Ñ# LÓ1ˆÜ \‰\ a¨ V°1°a°&Ñ9Ô :ˆÜ _‰_Ó ð
     $Ü—‘Ü#ØPôñ     ð— ‘ ØØ$Ø$×4Ñ4Ó6Ø%*¨E Nð    ô÷         ÷
    ô_‰_Ó ð      $Ü L‰L˜Ó × *Ñ *¨6Ô 2Ü—‘Ü#ØPôñ     ôØØ$Ø$×4Ñ4Ó6Ø%*¨E Nõ    ÷         ÷     ð     ÷     ð     ú÷
    ð
    ú÷     ð     ú÷     ð     úsIÁD*Á#&D    D*Â-AEÃ- D6Ä EÄD'    Ä#D*Ä*D3Ä6D?    Ä;EÅE c    óL—d}tjdttdd««i«}t    j
d«5}|j |«tjt|¬«5t|d¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)    NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rqr:rIz tmp.parquetrÚnumpy)rM) rCrDrXrYr‡r‘rr.rŸr r)rÔr*r¡r]rs     r)Útest_invalid_dtype_backendz1TestParquetFastParquet.test_invalid_dtype_backendÎs€ð %ð     ô\‰\˜5¤$¤u¨Q°£{Ó"3Ð4Ó 5ˆÜ _‰_˜]Ó +ð    :¨tØ M‰M˜$Ô Ü—‘œz°Ô5ñ :ܘT°Õ9÷ :÷    :ð    :÷ :ð :ú÷    :ð    :ús$Á-BÁ/BÁ=BÂB    ÂBÂB#cóԗtjtjgd¢d¬«¬«}tjtjgd¢d¬«¬«}t|||¬«y)Nr¡r*r$r#râr+rhs    r)r,z)TestParquetFastParquet.test_empty_columnsÙsB€ô\‰\¤§¡ª¸}Ô MÔ NˆÜ—<‘<¤b§h¡hªÀ]Ô&SÔTˆÜ˜˜R¨(Ö3r+N)rÛrÜrÝrzrLrˆrQrr¤r r.r5ror´rÎrÑrdrfrBrrÙrrlrtrxr|rrƒr†r,r0r+r)rGrG¼s߄ò!ò4ò*;ò Gò"    ;ò!ò ð ‡[[×Ññ
óð
ò/ò /ò /ò ð& ‡[[×ÑÑ+Ó-Ð6UÐÓVñ4óWð4ò 4ò.    Rò8ò*òKò Gò ò8    :ð ‡[[×ÑÑ+Ó-Ð6UÐÓVñ4óWñ4r+rG)    NNNNNTFTr;)MÚ__doc__rvÚdecimalrr`rr™rCr…rZr.Úpandas._configrrÚpandas._config.configrÚ pandas.compatrÚpandas.compat.pyarrowr    r
r r r ÚpandasrCÚpandas._testingÚ_testingr‡Úpandas.util.versionrÚpandas.io.parquetrrrrrr r-r¸rr3r5ÚfilterwarningsÚ
pytestmarkÚfixturer&rBr6r*r1r7rFr^r|ÚnowrþrÿÚminÚmaxÚstrptimer~r’r›r¢r¨r«r¯r²r¿rÆrÉrÏrÑrßrqrGr0r+r)ú<module>ršsuðÙÛÝÝÛ    ÛãÛ ÷õ.å-÷õóÝÝ'÷õðÛà€MðÛàÐð ‡KK×ÑÐSÓTØ
‡KK×ÑØGóð€
ð€‡àˆ ‰ Ø à— ‘ ×"Ñ"Ø)Ð)òPÙ"Ð#6¸tÔDÈÑOØQð#óð
— ‘ ×!Ñ!Ù&Ó(Ø;Ø ð"óð ô    
ð    ˆ ‰ Ø Ø—+‘+×$Ñ$Ø!Ð!Ð*Dð%óô    
ð! ôñ2ó3ð2ð‡ñóð𠇁ñ    óð    ð‡ñTóðTð‡ñóðð"‡ñóðð.€‡à×Ñ×јh×/Ñ/×3Ñ3Ó4Ø×Ñ×јh×/Ñ/×3Ñ3Ó4Ø×Ñ×јh×/Ñ/×3Ñ3Ó4Ø×Ñ×"Ñ"Ð#=Ð?TÓUØ×Ñ×"Ñ"Ð#=Ð?TÓUØ×Ñ×"Ñ"Ð#=Ð?TÓUØ×Ñ×"Ñ"Ð#=Ð?TÓUð ô
ñó
ðð Ø     ØØØ ØØØØ ó?òD 9ò 2ò $ò$ò$òFò((#òV 6ò
6ò(÷" ?ñ ?ôp-ôp-ôf    c0˜ôc0ôdb4˜Tõb4øðe$ò؃MðûðòØÓðús$Á$LÁ+LÌLÌLÌL)Ì(L)