+
    JV-j÷[  ã                   óÔ  € ^ RI t ^ RIt ^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHt ^ RIHt  ^ RIHt ^ RIHtHtHt  ^ RIt^ RIHt ^ RIHtHt ]P:                  P                   t]P:                  P,                  R 4       t]P:                  P,                  R 4       t ]P:                  P,                  R	 4       t!]P:                  P,                  R
 4       t"]P:                  P,                  R 4       t#]P:                  P,                  R 4       t$]P:                  P,                  R 4       t%]P:                  P,                  R 4       t&]P:                  P,                  R 4       t']P:                  P,                  R 4       t(]P:                  P,                  R 4       t)]P:                  P,                  R 4       t*]P:                  P,                  R 4       t+]P:                  P,                  R 4       t,]P:                  P,                  R 4       t-]P:                  P,                  R 4       t.]P:                  P,                  R 4       t/]P:                  P,                  R 4       t0]P:                  P,                  R 4       t1]P:                  P,                  R 4       t2]P:                  P,                  R 4       t3]P:                  P,                  R 4       t4]P:                  P,                  R 4       t5]P:                  P,                  R 4       t6]P:                  P,                  R 4       t7]P:                  P,                  ]P:                  Pq                  R . R'O4      ]P:                  Pq                  R!R"R#.4      R$ 4       4       4       t9]P:                  P,                  R% 4       t:]P:                  P,                  R& 4       t;R#   ] d    Rt EL¶i ; i  ] d    Rt EL™i ; i  ] d	    R;tt EL˜i ; i)(é    N)ÚLocalFileSystemÚSubTreeFileSystem)Úguid)ÚVersion)Ú_read_tableÚ_test_dataframeÚ_write_table)Ú_roundtrip_pandas_dataframeÚalltypes_samplec                 óž  € \        R R7      pV R,          p\        P                  P                  V4      pRVP                  P
                  9   g   Q h\        W24       \        P                  ! V4      P
                  pRV9   g   Q h\        P                  ! VR,          P                  R4      4      pVR,          RRRR	R
^ RR R^/.8X  g   Q hR	# )é'  ©Úsizeúpandas_roundtrip.parquetó   pandasÚutf8Úindex_columnsÚkindÚrangeÚnameNÚstartÚstopÚstep)r   ÚpaÚTableÚfrom_pandasÚschemaÚmetadatar	   ÚpqÚread_metadataÚjsonÚloadsÚdecode)ÚtempdirÚdfÚfilenameÚarrow_tabler   Újss   &     Úr/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pyarrow/tests/parquet/test_pandas.pyÚ#test_pandas_parquet_custom_metadatar*   7   sÇ   € ä	˜eÔ	$€BàÐ3Õ3€HÜ—(‘(×&Ñ& rÓ*€KØ˜×*Ñ*×3Ñ3Ô3Ð3Ð3ä�Ô'ä×Ò Ó)×2Ñ2€HØ˜Ô Ð Ð ä	�Š�H˜YÕ'×.Ñ.¨vÓ6Ó	7€BØˆoÕ F¨GØ$*¨DØ$+¨Q°¸Ø$*¨Að$/ð #0ô 0ð 0ò 0ó    c           
      óö  € \         P                  ! \         P                  ! R \         P                  ! 4       4      \         P                  ! R\         P                  ! 4       4      \         P                  ! R\         P
                  ! 4       4      .4      p\        P                  ! R \        P                  ! ^\        P                  R7      R\        P                  ! ^\        P                  R7      R. RO/4      p\        P                  ! R ^^.RRR.RRR./4      p\         P                  P                  W!RR7      p\         P                  P                  W1RR7      pVP                  P                  VP                  RR	7      '       d   Q hVP                  P                  VP                  4      '       g   Q h\        P                  ! V R
,          VR7      pVP!                  V4       VP!                  V4       R# )ÚintÚfloatÚstring©Údtypegš™™™™™ñ?NF)r   Úpreserve_indexT)Úcheck_metadatazmerged.parquet)r   )ÚABBAÚEDDAÚACDC)r   r   ÚfieldÚint16Úfloat32r/   ÚpdÚ	DataFrameÚnpÚarangeÚuint8r   r   Úequalsr   ÚParquetWriterÚwrite_table)r$   r   Údf1Údf2Útable1Útable2Úwriters   &      r)   Ú:test_merging_parquet_tables_with_different_pandas_metadatarG   K   sq  € ô �YŠYÜ
�Š�œŸš›
Ó#Ü
�Š�œ"Ÿ*š*›,Ó'Ü
�Š�œ2Ÿ9š9›;Ó'ðó €Fô
 �,Š,ØŒr�yŠy˜¤"§(¡(Ô+Ø”—’˜1¤B§J¡JÔ/ØÒ*ðó €Cô
 �,Š,Ø��1ˆvØ�#�t�Ø�4˜�,ðó €Cô
 �X‰X×!Ñ! #ÀUÐ!ÓK€FÜ�X‰X×!Ñ! #ÀUÐ!ÓK€Fà�}‰}×#Ñ# F§M¡MÀ$Ð#×GÒGÐGÐGØ�=‰=×Ñ §¡×.Ò.Ð.Ð.ä×Ò˜gÐ(8Õ8ÀÔH€FØ
×Ñ�vÔØ
×Ñ�vÖr+   c                 óÈ  € V R ,          p\        RR7      pRRRRRRR	R
/Vn        \        P                  P	                  V4      pRVP
                  P                  R,          9   g   Q h\        W14       \        P                  ! V4      P                  p\        P                  ! VR,          P                  R4      4      pRV9   g   Q hVR,          VP                  8X  g   Q hR# )zmetadata_persistence.parquetr   r   Úfloat16zhalf-precisionr9   zsingle precisionÚfloat64zdouble precisionÚ
desciptionz%Attributes Persistence Test DataFrames
   attributesr   r   Ú
attributesN)r   Úattrsr   r   r   r   r   r	   r   r    r!   r"   r#   )r$   r&   r%   Útabler   r(   s   &     r)   Ú$test_attributes_metadata_persistencerO   h   sÎ   € ð Ð7Õ7€HÜ	˜eÔ	$€BàÐ#ØÐ%ØÐ%ØÐ=ð	€B„Hô �H‰H× Ñ  Ó$€EØ˜EŸL™L×1Ñ1°)Õ<Ô<Ð<Ð<ä�Ô!Ü×Ò Ó)×2Ñ2€HÜ	�Š�H˜YÕ'×.Ñ.¨vÓ6Ó	7€BØ˜2ÔÐÐØˆlÕ˜rŸx™xÔ'Ð'Ò'r+   c                 óâ  € \        ^
R7      p\        P                  P                  \	        \        VP                  VP                  RRR1,          4      4      RR.R7      Vn        V R,          p\        P                  P                  V4      pVP                  P                  f   Q h\        W24       \        P                  ! V4      pVP                  4       p\         P"                  ! W4       R# )é
   r   NÚlevel_1Úlevel_2©Únamesr   éÿÿÿÿ)r   r:   Ú
MultiIndexÚfrom_tuplesÚlistÚzipÚcolumnsr   r   r   r   Úpandas_metadatar	   r   Úread_pandasÚ	to_pandasÚtmÚassert_frame_equal)r$   r%   r&   r'   Ú
table_readÚdf_reads   &     r)   Ú%test_pandas_parquet_column_multiindexrc   �   sº   € ä	˜bÔ	!€BÜ—‘×*Ñ*ÜŒS�—‘˜RŸZ™Z©¨"¨Õ-Ó.Ó/Ø˜)Ð$ð +ó €B„Jð
 Ð3Õ3€HÜ—(‘(×&Ñ& rÓ*€KØ×Ñ×-Ñ-Ò9Ð9Ð9ä�Ô'ä—’ Ó)€JØ×"Ñ"Ó$€GÜ×Ò˜"Ö&r+   c                 ó$  € \        R R7      pV R,          p\        P                  P                  VRR7      pVP                  P
                  pVR,          '       d   Q hVR,          '       g   Q h\        W24       \        P                  ! V4      pVP                  P
                  pVR,          '       d   Q hVP                  P                  pVP                  P                  V8X  g   Q hVP                  4       p\        P                  ! W4       R# )r   r   r   F©r2   r   r[   N)r   r   r   r   r   r\   r	   r   r]   r   r^   r_   r`   )r$   r%   r&   r'   r(   ra   r    rb   s   &       r)   Ú<test_pandas_parquet_2_roundtrip_read_pandas_no_index_writtenrf   ”   sá   € ä	˜eÔ	$€BàÐ3Õ3€HÜ—(‘(×&Ñ& r¸%Ð&Ó@€KØ	×	Ñ	×	+Ñ	+€BØ�/×"Ô"Ð"Ð"ð ˆi�=Œ=Ðˆ=ä�Ô'Ü—’ Ó)€Jà	×	Ñ	×	*Ñ	*€BØ�/×"Ô"Ð"Ð"à×%Ñ%×.Ñ.€MØ×Ñ×&Ñ&¨-Ô7Ð7Ð7à×"Ñ"Ó$€GÜ×Ò˜"Ö&r+   c                  óH  € \        R 4      p \        P                  P                  V 4      p\        P                  ! 4       p\        WRR7       VP                  4       p\        P                  ! V4      p\        V4      P                  4       p\        P                  ! W4       R# )r   ú2.6©ÚversionN©r   r   r   r   ÚBufferOutputStreamr	   ÚgetvalueÚBufferReaderr   r^   r_   r`   ©r%   r'   ÚimosÚbufÚreaderrb   s         r)   Ú)test_pandas_parquet_native_file_roundtriprs   ­   sr   € ä	˜Ó	€BÜ—(‘(×&Ñ& rÓ*€KÜ× Ò Ó"€DÜ�¨EÕ2Ø
�-‰-‹/€CÜ�_Š_˜SÓ!€FÜ˜&Ó!×+Ñ+Ó-€GÜ×Ò˜"Ö&r+   c                  óz  € \        R 4      p \        P                  P                  V 4      p\        P                  ! 4       p\        WRR7       VP                  4       p\        P                  ! V4      p\        P                  ! VRR.R7      P                  4       p\        P                  ! V RR.,          V4       R# )r   rh   ri   Ústringsr>   ©r[   N)r   r   r   r   rl   r	   rm   rn   r   r]   r^   r_   r`   ro   s         r)   Útest_read_pandas_column_subsetrw   ¹   s�   € ä	˜Ó	€BÜ—(‘(×&Ñ& rÓ*€KÜ× Ò Ó"€DÜ�¨EÕ2Ø
�-‰-‹/€CÜ�_Š_˜SÓ!€FÜ�nŠnØ˜ GÐ,ôç�iƒkð ô ×Ò˜"˜i¨Ð1Õ2°GÖ<r+   c                  óH  € \        ^ 4      p \        P                  P                  V 4      p\        P                  ! 4       p\        WRR7       VP                  4       p\        P                  ! V4      p\        V4      P                  4       p\        P                  ! W4       R# )r   rh   ri   Nrk   ro   s         r)   Ú#test_pandas_parquet_empty_roundtripry   Ç   sr   € ä	˜Ó	€BÜ—(‘(×&Ñ& rÓ*€KÜ× Ò Ó"€DÜ�¨EÕ2Ø
�-‰-‹/€CÜ�_Š_˜SÓ!€FÜ˜&Ó!×+Ñ+Ó-€GÜ×Ò˜"Ö&r+   c                  óÐ   € R R^/R^/R^ /.RR/p \         P                  ! V R7      p\        P                  P	                  V4      p\        P
                  ! 4       p\        W#4       R# )Úagg_colÚ	page_typeÚrecord_typeÚnon_consecutive_homeÚ	uid_firstÚ1001)ÚdataN)r:   r;   r   r   r   rl   r	   )r�   r%   r'   rp   s       r)   Ú!test_pandas_can_write_nested_datar‚   Ó   sl   € ð 	Ø˜!ÐØ˜AÐØ# QÐ'ð
ð
 	�Vð€Dô 
�Š˜4Ô	 €BÜ—(‘(×&Ñ& rÓ*€KÜ× Ò Ó"€Dä�Ö#r+   c                 óä  € V R ,          p^p\         P                  ! R\        P                  ! V\        P                  R7      R\        P                  ! V\        P
                  R7      R\        P                  ! V\        P                  R7      R\        P                  P                  V4      ^ 8„  R. RO/4      p\        P                  P                  V4      pVP                  R4      ;_uu_ 4       p\        WER	R
7       RRR4       \        P                  ! VP!                  4       4      p\#        V4      pVP%                  4       p\&        P(                  ! W84       R#   + '       g   i     Lg; i)zpandas_pyfile_roundtrip.parquetÚint64r0   r9   rJ   Úboolru   NÚwbrh   ri   )ÚfooÚbarNÚbazÚqux)r:   r;   r<   r=   r„   r9   rJ   ÚrandomÚrandnr   r   r   Úopenr	   ÚioÚBytesIOÚ
read_bytesr   r^   r_   r`   )	r$   r&   r   r%   r'   Úfr�   ra   rb   s	   &        r)   Ú$test_pandas_parquet_pyfile_roundtripr’   ä   sü   € àÐ:Õ:€HØ€DÜ	�ŠØ”—’˜4¤r§x¡xÔ0Ø”2—9’9˜T¬¯©Ô4Ø”2—9’9˜T¬¯©Ô4Ø”—	‘	—‘ Ó%¨Ñ)ØÒ5ðó 
€Bô —(‘(×&Ñ& rÓ*€Kà	�‰�t×	Ô	 Ü�[¨UÕ3÷ 
ô �:Š:�h×)Ñ)Ó+Ó,€Dä˜TÓ"€JØ×"Ñ"Ó$€GÜ×Ò˜"Ö&÷ 
×	ús   Ã2EÅE/	c                 ó   € R p\         P                  P                  ^ 4       \        P                  ! R\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R	\         P
                  ! V\         P                  R7      R
\         P
                  ! V\         P                  R7      R\         P
                  ! V\         P                  R7      R\         P                  P                  V4      ^ 8„  /4      pV R,          p\         P"                  P%                  V4      pR FB  p\'        WCRVR7       \)        V4      pVP+                  4       p\,        P.                  ! W'4       KD  	  R FB  p\'        WCRVR7       \)        V4      pVP+                  4       p\,        P.                  ! W'4       KD  	  R Fz  p	V	R8w  d2   \         P0                  P2                  P5                  V	4      '       g   K;  \'        WCRV	R7       \)        V4      pVP+                  4       p\,        P.                  ! W'4       K|  	  R# )r   r>   r0   Úuint16Úuint32Úuint64Úint8r8   Úint32r„   r9   rJ   r…   r   rh   )rj   Úuse_dictionary)rj   Úwrite_statisticsÚNONE)rj   ÚcompressionN)TF)r›   ÚSNAPPYÚGZIPÚLZ4ÚZSTD)r<   r‹   Úseedr:   r;   r=   r>   r”   r•   r–   r8   r˜   r„   r9   rJ   rŒ   r   r   r   r	   r   r^   r_   r`   ÚlibÚCodecÚis_available)
r$   r   r%   r&   r'   r™   ra   rb   rš   rœ   s
   &         r)   Ú)test_pandas_parquet_configuration_optionsr¥   ü   s  € à€DÜ‡I�I‡N�N�1ÔÜ	�ŠØ”—’˜4¤r§x¡xÔ0Ø”"—)’)˜D¬¯	©	Ô2Ø”"—)’)˜D¬¯	©	Ô2Ø”"—)’)˜D¬¯	©	Ô2Ø”—	’	˜$¤b§h¡hÔ/Ø”—’˜4¤r§x¡xÔ0Ø”—’˜4¤r§x¡xÔ0Ø”—’˜4¤r§x¡xÔ0Ø”2—9’9˜T¬¯©Ô4Ø”2—9’9˜T¬¯©Ô4Ø”—	‘	—‘ Ó%¨Ñ)ðó 
€Bð Ð3Õ3€HÜ—(‘(×&Ñ& rÓ*€Kã'ˆÜ�[°EØ$2õ	4ä  Ó*ˆ
Ø×&Ñ&Ó(ˆÜ
×Ò˜bÖ*ñ (ó *ÐÜ�[°EØ&6õ	8ä  Ó*ˆ
Ø×&Ñ&Ó(ˆÜ
×Ò˜bÖ*ñ *ó AˆØ˜6Ô!Ü—F‘F—L‘L×-Ñ-¨k×:Ò:ÙÜ�[°EØ!,õ	.ä  Ó*ˆ
Ø×&Ñ&Ó(ˆÜ
×Ò˜bÖ*ó Ar+   c                  óâ   € \        ^dR7      p \        P                  ! ^ ^
\        V 4      ,          ^
4      V n        RV P                  n        \        V RR/4      p\        P                  ! W4       R# )éd   r   r‡   ÚflavorÚsparkN)	r   r<   r=   ÚlenÚindexr   r
   r_   r`   )r%   Úresults     r)   Ú+test_spark_flavor_preserves_pandas_metadatar­   )  sR   € ä	˜cÔ	"€BÜ�yŠy˜˜B¤ R£�L¨"Ó-€B„HØ€B‡H�H„Mä(¨¨h¸Ð-@ÓA€FÜ×Ò˜&Ö%r+   c           	      ó>  € R \         P                  ! R4      R\         P                  ! R4      R/R\         P                  ! R4      \         P                  ! R4      \         P                  ! R4      \         P                  ! R4      //p\        V R,          4      p\         P                  ! VRR7      P	                  RRR	7      p\
        P                  P                  V4      p\        WB4       \        V4      pVP                  4       p\        P                  ! Wc4       R
# )Úclosez2017-06-30 01:31:00gí*¤ü_c@z2017-06-30 01:32:00Útimeúdata.parquetzdatetime64[us]r0   F©ÚdropN)r:   Ú	TimestampÚstrr;   Ú	set_indexr   r   r   r	   r   r^   r_   r`   )r$   r�   ÚpathÚdfxÚtdfxr'   Ú	result_dfs   &      r)   Ú test_index_column_name_duplicater»   3  së   € ð 	Ü�LŠLÐ.Ó/Ð1CÜ�LŠLÐ.Ó/Ð1Cð
ð 	Ü�LŠLÐ.Ó/´·²Ø%ó2ô �LŠLÐ.Ó/´·²Ø%ó2ð	
ð€Dô ˆw˜Õ'Ó(€Dô
 �,Š,�tÐ#3Ô
4×
>Ñ
>¸vÈEÐ
>Ó
R€Cä�8‰8×Ñ Ó$€DÜ�ÔÜ˜dÓ#€KØ×%Ñ%Ó'€IÜ×Ò˜)Ö)r+   c                 ó®  € ^p\        \        V4      4      p\        P                  P	                  . ROV.RR.R7      p\        P
                  ! RV/VR7      p\        P                  P                  V4      pV R,          p\        WV4       \        V4      pVP                  V4      '       g   Q hVP                  4       p\        P                  ! W„4       R# )	é   ÚfoobarÚsome_numbersrT   Únumbers)r«   zdup_multi_index_levels.parquetN)r‡   r‡   rˆ   )rY   r   r:   rW   Úfrom_arraysr;   r   r   r   r	   r   r?   r^   r_   r`   )	r$   Únum_rowsrÀ   r«   r%   rN   r&   Úresult_tablerº   s	   &        r)   Ú test_multiindex_duplicate_valuesrÄ   Q  s·   € à€HÜ”5˜“?Ó#€GÜ�M‰M×%Ñ%Ú	 Ð(Ø˜Ð(ð &ó €Eô
 
�Š�y 'Ð*°%Ô	8€BÜ�H‰H× Ñ  Ó$€EàÐ9Õ9€Hä�Ô!Ü˜xÓ(€LØ�<‰<˜×%Ò%Ð%Ð%à×&Ñ&Ó(€IÜ×Ò˜)Ö(r+   c                 óØ   € R p\         P                  ! \        P                  ! V4      RR^ RR7      p\	        V R,          4      pVP                  4       p\        P                  ! WB4       R# )ó  carat        cut  color  clarity  depth  table  price     x     y     z
 0.23      Ideal      E      SI2   61.5   55.0    326  3.95  3.98  2.43
 0.21    Premium      E      SI1   59.8   61.0    326  3.89  3.84  2.31
 0.23       Good      E      VS1   56.9   65.0    327  4.05  4.07  2.31
 0.29    Premium      I      VS2   62.4   58.0    334  4.20  4.23  2.63
 0.31       Good      J      SI2   63.3   58.0    335  4.34  4.35  2.75
 0.24  Very Good      J     VVS2   62.8   57.0    336  3.94  3.96  2.48
 0.24  Very Good      I     VVS1   62.3   57.0    336  3.95  3.98  2.47
 0.26  Very Good      H      SI1   61.9   55.0    337  4.07  4.11  2.53
 0.22       Fair      E      VS2   65.1   61.0    337  3.87  3.78  2.49
 0.23  Very Good      H      VS1   59.4   61.0    338  4.00  4.05  2.39ú\s{2,}NÚpython©ÚsepÚ	index_colÚheaderÚenginezv0.7.1.parquet)r:   Úread_csvrŽ   r�   r   r^   r_   r`   ©ÚdatadirÚexpected_stringÚexpectedrN   r¬   s   &    r)   Ú&test_backwards_compatible_index_namingrÓ   g  sY   € ðK€Oô �{Š{œ2Ÿ:š: oÓ6¸IØ%)°!¸HôF€Hä˜Ð"2Õ2Ó3€EØ�_‰_Ó€FÜ×Ò˜&Ö+r+   c                 óø   € R p\         P                  ! \        P                  ! V4      R. RO^ RR7      P	                  4       p\        V R,          4      pVP                  4       p\        P                  ! WB4       R# )rÆ   rÇ   rÈ   rÉ   zv0.7.1.all-named-index.parquetN©ÚcutÚcolorÚclarity)	r:   rÎ   rŽ   r�   Ú
sort_indexr   r^   r_   r`   rÏ   s   &    r)   Ú1test_backwards_compatible_index_multi_level_namedrÚ   |  sh   € ðK€Oô �{Š{Ü
�
Š
�?Ó#¨Ú-Ø˜ô÷ �jƒlð	 ô ˜Ð"BÕBÓC€EØ�_‰_Ó€FÜ×Ò˜&Ö+r+   c                 ó<  € R p\         P                  ! \        P                  ! V4      R. RO^ RR7      P	                  4       pVP
                  P                  . RO4      Vn        \        V R,          4      pVP                  4       p\        P                  ! WB4       R# )rÆ   rÇ   rÈ   rÉ   Nzv0.7.1.some-named-index.parquetrÕ   )rÖ   NrØ   )r:   rÎ   rŽ   r�   rÙ   r«   Ú	set_namesr   r^   r_   r`   rÏ   s   &    r)   Ú6test_backwards_compatible_index_multi_level_some_namedrÝ   •  s€   € ðK€Oô �{Š{Ü
�
Š
�?Ó#ØÒ!<Ø˜ô÷ �jƒlð	 ð
 —^‘^×-Ñ-Ò.FÓG€H„Nä˜Ð"CÕCÓD€EØ�_‰_Ó€FÜ×Ò˜&Ö+r+   c                 ó€  € \        R 4      \        \        P                  4      8:  d   \        P                  ! R4       \        P
                  ! R. ROR. ROR\        P                  ! R^RR7      /4      p\        P                  P                  . RO\        P                  ! R^RR7      .RR	.R
7      Vn	        V R,          p\        V4      pVP                  4       p\        P                  ! WA4       \        VR.R7      pVP                  4       p\        P                  ! WAR.,          P                  RR7      4       R	# )z2.2.0zRegression in pandas 2.2.0ÚaÚbÚcz
2017-01-01zEurope/Brussels)ÚperiodsÚtzr«   NrT   z'v0.7.1.column-metadata-handling.parquetrv   Tr²   ©é   é   r½   )gš™™™™™¹?gš™™™™™É?g333333Ó?©rß   rà   rá   )r   r:   Ú__version__ÚpytestÚskipr;   Ú
date_rangerW   rÁ   r«   r   r^   r_   r`   Úreset_index)rÐ   rÒ   r·   rN   r¬   s   &    r)   Ú2test_backwards_compatible_column_metadata_handlingrí   ¯  s  € äˆwÓœ7¤2§>¡>Ó2Ô2ô 	�ŠÐ0Ô1Ü�|Š|Ø	Ši˜šlØ	Œb�mŠm˜L°!Ð8IÔJð	LóM€Hô —]‘]×.Ñ.Ú	Ü	�Š�|¨QÐ3DÔ	Eð	Gà˜ˆoð /ó €H„Nð
 Ð>Õ>€DÜ˜Ó€EØ�_‰_Ó€FÜ×Ò˜&Ô+äØ�s�eô€Eà�_‰_Ó€FÜ×Ò˜&¨C¨5¥/×"=Ñ"=À4Ð"=Ó"HÖIr+   c                  óJ  € \         P                  ! R R.RR..RR.R7      p V R,          P                  R4      V R&   V P                  R.4      p \        P
                  P                  V 4      p\        P                  ! 4       p\        P                  ! W4       \        P                  ! VP                  4       4      P                  4       p\        VP                  \         P                  4      '       g   Q hVP                  P!                  V P                  4      '       g   Q hR# )	rß   rà   rá   ÚdÚc1Úc2rv   ÚcategoryN)r:   r;   Úastyper¶   r   r   r   rl   r   rA   r]   rm   r^   Ú
isinstancer«   ÚCategoricalIndexr?   )r%   rN   ÚbosÚref_dfs       r)   Ú)test_categorical_index_survives_roundtriprø   È  sÒ   € ô 
�Š˜˜S�z C¨ :Ð.¸¸t¸Ô	E€BØ�$�x�‰˜zÓ*€B€t�HØ	�‰�t�fÓ	€Bä�H‰H× Ñ  Ó$€EÜ
×
Ò
Ó
!€CÜ‡N‚N�5ÔÜ�^Š^˜CŸL™L›NÓ+×5Ñ5Ó7€FÜ�f—l‘l¤B×$7Ñ$7×8Ò8Ð8Ð8Ø�<‰<×Ñ˜rŸx™x×(Ò(Ð(Ò(r+   c            	      ó”  € \         P                  ! R \         P                  ! . RO. RORR7      /4      p \        P                  P                  V 4      p\        P                  ! 4       p\        P                  ! W4       VP                  4       p\        P                  ! V4      P                  4       p\        P                  ! W@4       R# )rß   T)Ú
categoriesÚorderedN)rß   rà   rá   rß   )rà   rá   rï   )r:   r;   ÚCategoricalr   r   r   rl   r   rA   rm   r]   r^   r_   r`   )r%   rN   rö   Úcontentsr¬   s        r)   Ú)test_categorical_order_survives_roundtriprþ   ×  sŽ   € ô 
�Š�sœBŸNšNÚªÀ$ôHð Ió 
J€Bô �H‰H× Ñ  Ó$€EÜ
×
Ò
Ó
!€CÜ‡N‚N�5Ôà�|‰|‹~€HÜ�^Š^˜HÓ%×/Ñ/Ó1€Fä×Ò˜&Ö%r+   c                  ó@  € \         P                  ! R R.^d,          RR.^d,          /4      p V P                  R RRR/4      p\        P                  P                  V 4      p\        P                  P                  V4      p\        P                  ! 4       p\        P                  ! W4R^
R7       \        P                  ! VP                  4       4      pV^ ,          P                  V^ ,          4      '       g   Q hV^,          P                  V^,          4      '       g   Q hR# )ÚcolNr-   g      ð?rò   rh   )rj   Ú
chunk_size)r:   r;   ró   r   r   r   rl   r   rA   Ú
read_tablerm   r?   )r%   Údf_categoryrN   Ú	table_catrq   r¬   s         r)   Ú*test_pandas_categorical_na_type_row_groupsr  ç  sÚ   € ô 
�Š�u˜t˜f s�l¨E°C°5¸3µ;Ð?Ó	@€BØ—)‘)˜U J°°zÐBÓC€KÜ�H‰H× Ñ  Ó$€EÜ—‘×$Ñ$ [Ó1€IÜ
×
Ò
Ó
!€Cô ‡N‚N�9¨5¸RÕ@Ü�]Š]˜3Ÿ<™<›>Ó*€Fð �!�9×Ñ˜E !�H×%Ò%Ð%Ð%Ø�!�9×Ñ˜E !�H×%Ò%Ð%Ò%r+   c                  ój  € \         P                  ! . RORR7      p . ROp\        P                  ! R\        P                  P                  WR7      /4      p\        P                  ! 4       p\        P                  ! \        P                  ! V4      V4       \        P                  ! VP                  4       4      P                  4       pVP                  P                  R8X  g   Q hVP                  P                   P"                  V8H  P%                  4       '       g   Q h\&        P(                  ! WB4       R# )	ræ   r˜   r0   Úx)rú   rò   N)ræ   r   r   ræ   r   rV   ræ   )r‡   rˆ   r‰   )r<   Úarrayr:   r;   rü   Ú
from_codesr   rl   r   rA   rN   r  rm   r^   r  r1   Úcatrú   Úallr_   r`   )Úcodesrú   r%   rq   r¬   s        r)   Ú!test_pandas_categorical_roundtripr  ù  s×   € ô
 �HŠHÒ+°7Ô;€EÚ&€JÜ	�Š�sœBŸN™N×5Ñ5Øð 6ó &ð 'ó 
(€Bô ×
Ò
Ó
!€CÜ‡N‚N”2—8’8˜B“< Ô%ä�]Š]˜3Ÿ<™<›>Ó*×4Ñ4Ó6€FØ�8‰8�>‰>˜ZÔ'Ð'Ð'Ø�H‰H�L‰L×#Ñ# zÑ1×6Ñ6×8Ò8Ð8Ð8Ü×Ò˜&Ö%r+   c                 ó  € \        \        P                  4      \        R 4      8  d   \        P                  ! R4       \        P
                  ! R. RO/RR7      pVP                  R4      p\        P
                  ! R. RO/4      pVP                  R4      p\        P                  ! VR,          4      P                  4       \        P                  ! VR,          4      P                  4       8X  g   Q h\        P                  ! VR,          P                  P                  P                  4      P                  4       \        P                  ! VR,          P                  P                  P                  4      P                  4       8X  g   Q h\        V R,          4      p\        P                  ! \        P                   ! V4      V4       \        P"                  ! V4      P%                  4       p\&        P(                  ! WB4       R# )	z1.3.0z:PyArrow backed string data type introduced in pandas 1.3.0r  zstring[pyarrow]r0   rò   zcat.parquetN)r‡   rˆ   r‡   )r   r:   rè   ré   rê   r;   ró   r   r  Ú	to_pylistr
  rú   Úvaluesrµ   r   rA   rN   r  r^   r_   r`   )r$   rB   rC   r·   r¬   s   &    r)   Ú)test_categories_with_string_pyarrow_dtyper    sX  € ô Œr�~‰~Ó¤¨Ó!1Ô1Ü�ŠÐPÔQä
�,Š,˜Ò2Ð3Ð;LÔ
M€CØ
�*‰*�ZÓ
 €Cä
�,Š,˜Ò2Ð3Ó
4€CØ
�*‰*�ZÓ
 €Cô �8Š8�C˜•HÓ×'Ñ'Ó)¬R¯XªX°c¸#µhÓ-?×-IÑ-IÓ-KÔKÐKÐKÜ�8Š8�C˜•H—L‘L×+Ñ+×2Ñ2Ó3×=Ñ=Ó?Ä2Ç8Â8ØˆC��‰×Ñ×&Ñ&óD(ß(1©	«ô4ð 4ð 4ô ˆw˜Õ&Ó'€DÜ‡N‚N”2—8’8˜C“= $Ô'Ü�]Š]˜4Ó ×*Ñ*Ó,€Fä×Ò˜&Ö&r+   c                 ó²  € \         P                  ! R RR. R	O/4      pVR,          P                  R4      VR&   \        P                  ! V4      p\
        P                  ! V\        V R,          4      R .R7       \
        P                  ! \        V R,          4      4      P                  4       p\        P                  ! VR.,          VR.,          4       \
        P                  ! V\        V R,          4      4       \
        P                  ! \        V R,          4      4      P                  4       p\        P                  ! VR.,          VR.,          4       \
        P                  ! V\        V R,          4      4       \
        P                  ! \        V R,          4      4      P                  4       p\        P                  ! VR.,          VR.,          4       R# )
Úpartrß   r   ÚInt64Úcase1©Úpartition_colsÚcase2r±   Nrä   )r:   r;   ró   r   rN   r   Úwrite_to_datasetrµ   r  r^   r_   r`   rA   )r$   r%   rN   r¬   s   &   r)   Ú5test_write_to_dataset_pandas_preserve_extensiondtypesr  $  sJ  € ä	�Š�v˜s Eª9Ð5Ó	6€BØ�5•	× Ñ  Ó)€B€u�IÜ�HŠH�R‹L€Eä×ÒØŒs�7˜WÕ$Ó%°v°hõô �]Š]œ3˜w¨Õ0Ó1Ó2×<Ñ<Ó>€FÜ×Ò˜& % �/¨2¨u¨g­;Ô7ä×Ò˜œs 7¨WÕ#4Ó5Ô6Ü�]Š]œ3˜w¨Õ0Ó1Ó2×<Ñ<Ó>€FÜ×Ò˜& % �/¨2¨u¨g­;Ô7ä‡N‚N�5œ#˜g¨Õ6Ó7Ô8Ü�]Š]œ3˜w¨Õ7Ó8Ó9×CÑCÓE€FÜ×Ò˜& % �/¨2¨u¨g­;Ö7r+   c                 óÀ  € \         P                  ! R . R
OR. RO/4      p\         P                  ! . RORR7      Vn        \        P
                  ! V4      pVRR .,          P                  4       pVR ,          P                  R4      VR &   \        P                  ! V\        V R,          4      R .R7       \        P                  ! \        V R,          4      4      P                  4       p\        P                  ! WC4       \        P                  ! V\        V R,          4      4       \        P                  ! \        V R,          4      4      P                  4       p\        P                  ! WA4       \        P                  ! V\        V R,          4      4       \        P                  ! \        V R,          4      4      P                  4       p\        P                  ! WA4       R	# )r  r   Úidx©r   rò   r  r  r  r±   N)rß   rß   rà   rä   rç   )r:   r;   ÚIndexr«   r   rN   Úcopyró   r   r  rµ   r  r^   r_   r`   rA   )r$   r%   rN   Údf_catr¬   s   &    r)   Ú+test_write_to_dataset_pandas_preserve_indexr!  9  sK  € ô 
�Š�vš°²yÐAÓ	B€BÜ�xŠxš¨eÔ4€B„HÜ�HŠH�R‹L€EØ�˜�Õ ×%Ñ%Ó'€FØ˜F•^×*Ñ*¨:Ó6€Fˆ6�Nä×ÒØŒs�7˜WÕ$Ó%°v°hõô �]Š]œ3˜w¨Õ0Ó1Ó2×<Ñ<Ó>€FÜ×Ò˜&Ô)ä×Ò˜œs 7¨WÕ#4Ó5Ô6Ü�]Š]œ3˜w¨Õ0Ó1Ó2×<Ñ<Ó>€FÜ×Ò˜&Ô%ä‡N‚N�5œ#˜g¨Õ6Ó7Ô8Ü�]Š]œ3˜w¨Õ7Ó8Ó9×CÑCÓE€FÜ×Ò˜&Ö%r+   r2   Úmetadata_fnameÚ	_metadataÚ_common_metadatac           	      ó@  € ^p^pV \        4       ,          pVP                  4        . p. p. p\        V4       Fë  p	\        WIR7      p
\        P
                  ! \        P                  ! W”,          V	^,           V,          RR7      RR7      V
n        WY R2,          p\        P                  P                  W¡R7      pVP                  R4      pVP                  P                  e   Q h\        WË4       VP!                  V4       VP!                  V
4       VP!                  V4       Kí  	  \        P                  P                  X
VR7      p\"        P$                  ! VP                  WR,          4       \"        P&                  ! V4      pR	R
.pVP)                  VR7      P+                  4       p\        P,                  ! V Uu. uF  pVV,          NK  	  up4      pVRJd   V
P                  P.                  MRVP                  n        \0        P2                  ! VV4       R# u upi )é   )r¡   r„   r0   r«   r  z.parquetre   Nr>   ru   rv   F)r   Úmkdirr   r   r:   r  r<   r=   r«   r   r   r   Úreplace_schema_metadatar   r   r	   Úappendr   Úwrite_metadataÚParquetDatasetr]   r^   Úconcatr   r_   r`   )r$   r2   r"  Únfilesr   ÚdirpathÚ	test_dataÚframesÚpathsÚir%   r·   rN   Útable_for_metadataÚdatasetr[   r¬   r  rÒ   s   &&&                r)   Ú(test_dataset_read_pandas_common_metadatar5  R  s¾  € ð €FØ€Dàœ›Õ€GØ‡M�M„Oà€IØ€FØ€EÜ�6Ž]ˆÜ˜TÔ*ˆÜ—8’8Ü�IŠI�a•h  Q¥¨$¥°gÔ>ÀWô
ˆŒð ˜3˜h˜Õ'ˆä—‘×$Ñ$ RÐ$ÓGˆð ×-Ñ-¨dÓ3ˆØ�|‰|×$Ñ$Ò,Ð,Ð,ä�UÔ!Ø×Ñ˜ÔØ�‰�bÔØ�‰�TÖñ# ô( Ÿ™×-Ñ-Ø
˜>ð .ó Ðô ×ÒÐ(×/Ñ/°Õ1IÔJä×Ò Ó(€GØ˜	Ð"€GØ× Ñ ¨Ð Ó1×;Ñ;Ó=€FÜ�yŠy©fÓ5©f¨˜!˜GŸ*˜*©fÑ5Ó6€Hà'¨uÓ4ˆ�‰�Š¸$ð ‡N�NÔä×Ò˜& (Ö+ùò 6s   Æ<Hc                 ó"  € \         P                  ! R . RO/4      pV R,          p\        W4       \        P                  ! R\        \        V 4      \        4       4      R7      pVP                  \        P                  ! V4      4      '       g   Q hR# )rß   r±   )Ú
filesystemNrä   )r:   r;   r	   r   r]   r   rµ   r   r?   r   rN   )r$   r%   r&   r¬   s   &   r)   Ú%test_read_pandas_passthrough_keywordsr8  „  sj   € ô 
�Š�sšIÐ&Ó	'€Bà˜Õ'€HÜ�Ôä�^Š^ØÜ$¤S¨£\´?Ó3DÓEô€Fð �=‰=œŸš "›×&Ò&Ð&Ò&r+   c           	      ó˜  € \         P                  ! R \         P                  ! RR.RR	..4      R\         P                  ! RR.4      /4      pV R,          p\        P                  ! \        P
                  ! 4       \        P
                  ! 4       4      p\        P                  ! \        P                  ! R V4      \        P                  ! R\        P
                  ! 4       4      .4      p\        P                  P                  W4      p\        WR4       \        P                  ! V4      P                  4       p\        P                  ! Wa4       R# )
Úcol1Úcol2r‡   rˆ   r±   N)ÚidÚ	something)Úvalue2Úelse)r<  Ú
something2)ÚvalueÚelse2)r:   r;   ÚSeriesr   Úmap_r/   r   r7   r   r   r	   r   r]   r^   r_   r`   )r$   r%   r&   Úudtr   r'   r¬   s   &      r)   Útest_read_pandas_map_fieldsrF  ”  sè   € ô 
�ŠØ”—	’	Ø Ð"4Ð5Ø!Ð#5Ð6ð
ó ð 	”—	’	˜5 %˜.Ó)ðó 
€Bð ˜Õ'€Hä
�'Š'”"—)’)“+œrŸyšy›{Ó
+€CÜ�YŠYœŸš ¨Ó-¬r¯xªx¸ÄÇ	Â	ÃÓ/LÐMÓN€FÜ—(‘(×&Ñ& rÓ2€Kä�Ô'ä�^Š^˜HÓ%×/Ñ/Ó1€FÜ×Ò˜&Ö%r+   )TFN)<rŽ   r!   Únumpyr<   ÚImportErrorré   Úpyarrowr   Ú
pyarrow.fsr   r   Úpyarrow.utilr   Úpyarrow.vendored.versionr   Úpyarrow.parquetÚparquetr   Úpyarrow.tests.parquet.commonr   r   r	   Úpandasr:   Úpandas.testingÚtestingr_   r
   r   ÚmarkÚ
pytestmarkr*   rG   rO   rc   rf   rs   rw   ry   r‚   r’   r¥   r­   r»   rÄ   rÓ   rÚ   rÝ   rí   rø   rþ   r  r  r  r  r!  Úparametrizer5  r8  rF  © r+   r)   Ú<module>rW     s'  ðó$ 
Û ðÛó ã ß 9Ý Ý ,ðÝ ÷<ñ <ðÛÝ÷?ð �[‰[× Ñ €
ð ‡�×Ññ0ó ð0ð& ‡�×Ññó ðð8 ‡�×Ññ(ó ð(ð0 ‡�×Ññ'ó ð'ð$ ‡�×Ññ'ó ð'ð0 ‡�×Ññ'ó ð'ð ‡�×Ññ
=ó ð
=ð ‡�×Ññ'ó ð'ð ‡�×Ññ$ó ð$ð  ‡�×Ññ'ó ð'ð. ‡�×Ññ)+ó ð)+ðX ‡�×Ññ&ó ð&ð ‡�×Ññ*ó ð*ð: ‡�×Ññ)ó ð)ð* ‡�×Ññ,ó ð,ð( ‡�×Ññ,ó ð,ð0 ‡�×Ññ,ó ð,ð2 ‡�×ÑñJó ðJð0 ‡�×Ññ)ó ð)ð ‡�×Ññ&ó ð&ð ‡�×Ññ&ó ð&ð" ‡�×Ññ&ó ð&ð$ ‡�×Ññ'ó ð'ð. ‡�×Ññ8ó ð8ð( ‡�×Ññ&ó ð&ð0 ‡�×ÑØ‡�×ÑÐ)Ò+>Ó?Ø‡�×ÑÐ)¨KÐ9KÐ+LÓMñ,,ó Nó @ó ð,,ð^ ‡�×Ññ'ó ð'ð ‡�×Ññ&ó ò&øð} ô Ø	ƒBðûð ô Ø	ƒBðûð ô Ø€N€B‹ðús3   ŠN8 «O ¼O Î8	OÏOÏ	OÏOÏO'Ï&O'