Ë
    ìmxi06  ã                   óZ  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlZ		 d dl
mZ d dlmZ 	 d dlZd dlmZ d dlmZ ej,                  j                  Zej,                  j                   d„ «       Zej,                  j                   d„ «       Zej,                  j                   d„ «       Zej,                  j                   d„ «       Zej,                  j                   d	„ «       Zej,                  j                   d
„ «       Zd„ Zd„ Zej,                  j                   ej,                  jA                  dg d¢«      d„ «       «       Z!ej,                  j                   ej,                  jA                  ddg«      d„ «       «       Z"ej,                  j                   ej,                  jA                  dddg«      d„ «       «       Z#d„ Z$ej,                  jJ                  ej,                  jA                  dd«      d„ «       «       Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d „ Z,d!„ Z-y# e$ r dZY �Œéw xY w# e$ r dxZZY �Œèw xY w)"é    N)Úmock)Ú_write_table)Úalltypes_samplec                  ó   — t        d¬«      } t        j                  j                  | «      }t	        j
                  «       }t        ||dd¬«       |j                  d«       t        j                  |«      }|j                  d«       t        j                  ||¬«      }t        j                  | |j                  «       j                  «       «       y )Né'  ©ÚsizeÚsnappyú2.6)ÚcompressionÚversionr   )Úmetadata)r   ÚpaÚTableÚfrom_pandasÚioÚBytesIOr   ÚseekÚpqÚread_metadataÚParquetFileÚtmÚassert_frame_equalÚreadÚ	to_pandas)ÚdfÚa_tableÚbufr   Úfilehs        ú^/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/parquet/test_parquet_file.pyÚtest_pass_separate_metadatar!   1   s�   € ô 
˜eÔ	$€Bä�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨8¸UÕCà‡H�HˆQ„KÜ×Ñ Ó$€Hà‡H�HˆQ„Kä�N‰N˜3¨Ô2€Eä×Ñ˜"˜eŸj™j›l×4Ñ4Ó6Õ7ó    c                  óê  — d\  } }t        | ¬«      }t        j                  j                  |«      }t	        j
                  «       }t        ||| |z  dd¬«       |j                  d«       t        j                  |«      }|j                  |k(  sJ ‚t        |«      D �cg c]  }|j                  |«      ‘Œ }}t        j                  |«      }t        j                  ||j!                  «       «       y c c}w ©N©r   é   r   r
   r   ©Úrow_group_sizer   r   r   )r   r   r   r   r   r   r   r   r   r   Únum_row_groupsÚrangeÚread_row_groupÚconcat_tablesr   r   r   )	ÚNÚKr   r   r   ÚpfÚiÚ
row_groupsÚresults	            r    Útest_read_single_row_groupr3   E   sÌ   € ð �D€A€qÜ	˜aÔ	 €Bä�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨a°!©eØ%¨uõ6ð ‡H�HˆQ„Kä	�‰˜Ó	€Bà×Ñ Ò!Ð!Ð!ä05°a³Ö9¨1�"×#Ñ# AÕ&Ð9€JÐ9Ü×Ñ˜jÓ)€FÜ×Ñ˜"˜f×.Ñ.Ó0Õ1ùò :s   ÂC0c                  óÜ  — d\  } }t        | ¬«      }t        j                  j                  |«      }t	        j
                  «       }t        ||| |z  dd¬«       |j                  d«       t        j                  |«      }t        |j                  d d «      }t        |«      D �cg c]  }|j                  ||¬«      ‘Œ }}t        j                  |«      }	t        j                   ||   |	j#                  «       «       t        |«      D �cg c]  }|j                  |||z   ¬«      ‘Œ }}t        j                  |«      }	t        j                   ||   |	j#                  «       «       y c c}w c c}w ©	Nr%   r   r
   r   r'   r   é   )Úcolumns)r   r   r   r   r   r   r   r   r   r   Úlistr7   r*   r+   r,   r   r   r   )
r-   r.   r   r   r   r/   Úcolsr0   r1   r2   s
             r    Ú-test_read_single_row_group_with_column_subsetr:   \   s6  € à�D€A€qÜ	˜aÔ	 €BÜ�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨a°!©eØ%¨uõ6ð ‡H�HˆQ„KÜ	�‰˜Ó	€Bä�—
‘
˜2˜A�Ó€DÜ>CÀA»hÖG¸�"×#Ñ# A¨tÐ#Õ4ÐG€JÐGÜ×Ñ˜jÓ)€FÜ×Ñ˜"˜T™( F×$4Ñ$4Ó$6Ô7ô FKÈ1ÃXÖNÀ�"×#Ñ# A¨t°d©{Ð#Õ;ÐN€JÐNÜ×Ñ˜jÓ)€FÜ×Ñ˜"˜T™( F×$4Ñ$4Ó$6Õ7ùò Hùò Os   Â#E$ÄE)c                  óœ  — d\  } }t        | ¬«      }t        j                  j                  |«      }t	        j
                  «       }t        ||| |z  dd¬«       |j                  d«       t        j                  |«      }|j                  |k(  sJ ‚|j                  t        |«      «      }t        j                  ||j                  «       «       y r$   )r   r   r   r   r   r   r   r   r   r   r)   Úread_row_groupsr*   r   r   r   )r-   r.   r   r   r   r/   r2   s          r    Útest_read_multiple_row_groupsr=   u   s§   € à�D€A€qÜ	˜aÔ	 €Bä�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨a°!©eØ%¨uõ6ð ‡H�HˆQ„Kä	�‰˜Ó	€Bà×Ñ Ò!Ð!Ð!à×Ñ¤ a£Ó)€FÜ×Ñ˜"˜f×.Ñ.Ó0Õ1r"   c                  ó@  — d\  } }t        | ¬«      }t        j                  j                  |«      }t	        j
                  «       }t        ||| |z  dd¬«       |j                  d«       t        j                  |«      }t        |j                  d d «      }|j                  t        |«      |¬«      }t        j                  ||   |j!                  «       «       |j                  t        |«      ||z   ¬«      }t        j                  ||   |j!                  «       «       y r5   )r   r   r   r   r   r   r   r   r   r   r8   r7   r<   r*   r   r   r   )r-   r.   r   r   r   r/   r9   r2   s           r    Ú0test_read_multiple_row_groups_with_column_subsetr?   Š   sì   € à�D€A€qÜ	˜aÔ	 €BÜ�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨a°!©eØ%¨uõ6ð ‡H�HˆQ„KÜ	�‰˜Ó	€Bä�—
‘
˜2˜A�Ó€DØ×Ñ¤ a£°$ÐÓ7€FÜ×Ñ˜"˜T™( F×$4Ñ$4Ó$6Ô7ð ×Ñ¤ a£°$¸±+ÐÓ>€FÜ×Ñ˜"˜T™( F×$4Ñ$4Ó$6Õ7r"   c                  ón  — d\  } }t        | ¬«      }t        j                  j                  |«      }t	        j
                  «       }t        ||| |z  dd¬«       |j                  d«       t        j                  |«      }|j                  «       dk(  sJ ‚|j                  |j                  d d «      dk(  sJ ‚y )	Nr%   r   r
   r   r'   r   r   r&   )r   r   r   r   r   r   r   r   r   r   Úscan_contentsr7   )r-   r.   r   r   r   r/   s         r    Útest_scan_contentsrB   ¡   s    € à�D€A€qÜ	˜aÔ	 €BÜ�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨a°!©eØ%¨uõ6ð ‡H�HˆQ„KÜ	�‰˜Ó	€Bà×ÑÓ Ò&Ð&Ð&Ø×Ñ˜BŸJ™J r¨˜NÓ+¨uÒ4Ð4Ñ4r"   c                 ób  — | dz  }t        j                  t        |«      «       dt        |«      › d�}t        j                  t
        «      5 }t        j                  |«       d d d «       j                  t        «      rt        j                  dk(  ry |j                  |«       y # 1 sw Y   ŒDxY w)NÚ	directoryzCannot open for reading: path 'z' is a directoryÚwin32)ÚosÚmkdirÚstrÚpytestÚraisesÚIOErrorr   r   ÚerrisinstanceÚPermissionErrorÚsysÚplatformÚmatch)ÚtempdirÚpathÚmsgÚexcs       r    Ú0test_parquet_file_pass_directory_instead_of_filerU   ²   s…   € à�[Ñ €DÜ‡H�HŒS�‹YÔà+¬C°«I¨;Ð6FÐ
G€CÜ	�‰”wÓ	ð  3Ü
�‰�tÔ÷à
×ÑœÔ)¬c¯l©l¸gÒ.EØØ‡I�Iˆc…N÷	ð ús   ÁB%Â%B.c                  ó”  — t        j                  t        j                  ddg«      t        j                  ddg«      gddg¬«      } t        j                  «       }t	        j
                  | |«       t	        j                  |j                  «       «      }|j                  j                  d«      j                  «       ddgk(  sJ ‚|j                  j                  d	«      j                  «       ddgk(  sJ ‚d
D ]E  }t        j                  t        t        f«      5  |j                  j                  |«       d d d «       ŒG y # 1 sw Y   ŒRxY w)Nr&   é   ÚfooÚbarÚintsÚstrs)Únamesr   é   )éÿÿÿÿr6   )r   ÚtableÚarrayÚBufferOutputStreamr   Úwrite_tabler   ÚgetvalueÚreaderÚread_columnÚ	to_pylistrI   rJ   Ú
ValueErrorÚ
IndexError)r_   ÚbioÚfÚindexs       r    Útest_read_column_invalid_indexrl   ¿   s	  € Ü�H‰H”b—h‘h  1˜vÓ&¬¯©°%¸°Ó(@ÐAØ" FÐ+ô-€Eä
×
Ñ
Ó
!€CÜ‡N�N�5˜#ÔÜ
�‰�s—|‘|“~Ó&€AØ�8‰8×Ñ Ó"×,Ñ,Ó.°1°a°&Ò8Ð8Ð8Ø�8‰8×Ñ Ó"×,Ñ,Ó.°5¸%°.Ò@Ð@Ð@Øò (ˆÜ�]‰]œJ¬
Ð3Ó4ñ 	(Ø�H‰H× Ñ  Ô'÷	(ð 	(ñ(÷	(ð 	(ús   ÄD>Ä>E	Ú
batch_size)i,  éè  i  c           	      ó6  — d}d}t        |¬«      }| dz  }t        j                  j                  |«      }t	        ||d|¬«       t        j                  |«      }|j                  d d |j                  dd  fD ]   }|j                  ||¬«      }	t        d	||z   |«      }
t        |	|
«      D ]l  \  }}t        |||z   «      }t        j                  |j                  «       |j                  ||…d d …f   j                   d d …|f   j#                  d
¬«      «       Œn Œ¢ y )Ni¸  rn   r   úpandas_roundtrip.parquetr   ©r   Ú
chunk_sizeé
   )rm   r7   r   T©Údrop)r   r   r   r   r   r   r   r7   Úiter_batchesr*   ÚzipÚminr   r   r   ÚilocÚlocÚreset_index)rQ   rm   Ú
total_sizerr   r   ÚfilenameÚarrow_tableÚfile_r7   ÚbatchesÚbatch_startsÚbatchÚstartÚends                 r    Ú test_iter_batches_columns_readerr…   Ì   s  € ð €JØ€Jä	˜jÔ	)€BàÐ3Ñ3€HÜ—(‘(×&Ñ& rÓ*€KÜ�˜h°Ø&õ(ô �N‰N˜8Ó$€EØ—J‘J˜s �O R§Z¡Z°° _Ð5ò ˆØ×$Ñ$°
ÀGÐ$ÓLˆÜ˜Q 
¨:Ñ 5°zÓBˆÜ ¨Ó6ò 	‰LˆE�5Ü�j %¨*Ñ"4Ó5ˆCÜ×!Ñ!Ø—‘Ó!Ø—‘˜˜c˜	¢1˜Ñ%×)Ñ)ª!¨W¨*Ñ5×AÑAÀtÐAÓLõñ	ñr"   rr   rn   c                 óÞ  — t        dd¬«      }| dz  }t        j                  j                  |«      }|j                  j
                  €J ‚t        ||d|¬«       t        j                  |«      }d„ }t         ||«      «      }d}t        |j                  «      D ]Ò  }	t        j                  ||   j                  «       |j                  |	g«      j                  «       j!                  d	«      «       |d
z  }t        j                  ||   j                  «       j#                  d¬«      |j                  |	g«      j                  «       j$                  d	d  j#                  d¬«      «       |d
z  }ŒÔ y )Nr   T)r	   Úcategoricalrp   r   rq   c              3   ó~   K  — t        | j                  «      D ]!  }| j                  d|g¬«      }|D ]  }|–— Œ Œ# y ­w)Né„  )rm   r1   )r*   r)   rv   )rj   Ú	row_groupr€   r‚   s       r    Úget_all_batchesz1test_iter_batches_reader.<locals>.get_all_batchesó   sQ   è ø€ Ü˜q×/Ñ/Ó0ò 	ˆIØ—n‘nØØ%˜;ð %ó ˆGð
 !ò �Ø“ññ	ùs   ‚;=r   r‰   r]   rt   )r   r   r   r   ÚschemaÚpandas_metadatar   r   r   r8   r*   r)   r   r   r   r<   Úheadr{   ry   )
rQ   rr   r   r}   r~   r   r‹   r€   Úbatch_nor0   s
             r    Útest_iter_batches_readerr�   å   s]  € ô 
˜e°Ô	6€BàÐ3Ñ3€HÜ—(‘(×&Ñ& rÓ*€KØ×Ñ×-Ñ-Ð9Ð9Ð9ä�˜h°Ø&õ(ô �N‰N˜8Ó$€Eòô ‘? 5Ó)Ó*€GØ€Hä�5×'Ñ'Ó(ò ˆÜ
×ÑØ�HÑ×'Ñ'Ó)Ø×!Ñ! 1 #Ó&×0Ñ0Ó2×7Ñ7¸Ó<ô	
ð
 	�A‰ˆä
×ÑØ�HÑ×'Ñ'Ó)×5Ñ5¸4Ð5Ó@Ø×!Ñ! 1 #Ó&×0Ñ0Ó2×7Ñ7¸¸Ð=×IÑIØð Jó ô	
ð 	�A‰‰ñr"   Ú
pre_bufferFTc                 ó@  — d\  }}t        |¬«      }t        j                  j                  |«      }t	        j
                  «       }t        ||||z  dd¬«       |j                  d«       t        j                  || ¬«      }|j                  «       j                  |k(  sJ ‚y )Nr%   r   r
   r   r'   r   )r‘   )r   r   r   r   r   r   r   r   r   r   r   Únum_rows)r‘   r-   r.   r   r   r   r/   s          r    Útest_pre_bufferr”     s„   € ð �D€A€qÜ	˜aÔ	 €BÜ�h‰h×"Ñ" 2Ó&€Gä
�*‰*‹,€CÜ�˜#¨a°!©eØ%¨uõ6ð ‡H�HˆQ„KÜ	�‰˜¨
Ô	3€BØ�7‰7‹9×Ñ Ò"Ð"Ñ"r"   c                 óš  — | j                  d«      }t        j                  ddgddgdœ«      }t        j                  ||«       t        |d«      5 }t        j                  |«      5 }|j                  «        |j                  rJ ‚|j                  rJ ‚	 ddd«       |j                  rJ ‚j                  rJ ‚	 ddd«       j                  sJ ‚j                  sJ ‚t        j                  |«      5 }|j                  «        |j                  rJ ‚	 ddd«       |j                  sJ ‚y# 1 sw Y   Œ–xY w# 1 sw Y   Œ}xY w# 1 sw Y   Œ0xY w)z¯
    Unopened files should be closed explicitly after use,
    and previously opened files should be left open.
    Applies to read_table, ParquetDataset, and ParquetFile
    zfile.parquetr   r]   )Úcol1Úcol2ÚrbN)	Újoinpathr   r_   r   rb   Úopenr   r   Úclosed)rQ   Úfnr_   rj   Úps        r    Ú#test_parquet_file_explicitly_closedrž   "  s"  € ð 
×	Ñ	˜.Ó	)€BÜ�H‰H˜q !˜f¨q°!¨fÑ5Ó6€EÜ‡N�N�5˜"Ôô 
ˆb�$‹ð ˜1Ü�^‰^˜AÓð 	  !Ø�F‰FŒHØ—x’xÐ�<Ø—x’xÐ�<�x÷	 ð —8’8Ðˆ|Ø—8’8Ðˆ|�8÷ð �8Š8€Oˆ8Ø�8Š8€Oˆ8ô 
�‰˜Ó	ð ˜qØ	�‰ŒØ—8’8Ðˆ|�8÷ð �8Š8€O‰8÷	 ð 	 ú÷ð ú÷ð ús0   ÁD5Á&-D)Â$D5Ã2EÄ)D2	Ä.D5Ä5D>ÅE
Úuse_uri)TFc                 ó  — | \  }}}|r|n|f}|ri nt        |¬«      }t        j                  dt        d«      i«      }t	        j
                  |||¬«       t	        j                  |i |¤Ž}|j                  «       |k(  sJ ‚|j                  rJ ‚|j                  «        |j                  sJ ‚t	        j                  |i |¤Ž5 }	|	j                  «       |k(  sJ ‚|	j                  rJ ‚	 d d d «       	j                  sJ ‚y # 1 sw Y   ŒxY w)N©Ú
filesystemÚars   )
Údictr   r_   r*   r   rb   r   r   r›   Úclose)
Ús3_example_fsrŸ   Ús3_fsÚs3_uriÚs3_pathÚargsÚkwargsr_   Úparquet_filerj   s
             r    Ú!test_parquet_file_with_filesystemr­   ?  sü   € ð +Ñ€Eˆ6�7á‰F 7Ð,€DÙ‰R¤°Ô 6€Fä�H‰H�cœ5 ›9Ð%Ó&€EÜ‡N�N�5˜'¨eÕ4ä—>‘> 4Ð2¨6Ñ2€LØ×ÑÓ %Ò'Ð'Ð'Ø×"Ò"Ð"Ð"Ø×ÑÔØ×ÒÐÐä	�‰˜Ð	( Ñ	(ð ¨AØ�v‰v‹x˜5Ò Ð Ð Ø—8’8Ðˆ|�8÷ð �8Š8€O‰8÷ð ús   Ã$C=Ã=Dc                  óf  — t        j                  dt        j                  g d¢«      i«      } t        j                  «       }t        | |«       |j                  d«       t        j                  |«      j                  «       j                  d   j                  d   j                  }|j                  du sJ ‚|j                  dk(  sJ ‚|j                  �J ‚|j                   du sJ ‚|j"                  dk(  sJ ‚|j$                  sJ ‚|j&                  dk(  sJ ‚|j(                  sJ ‚t+        |«      d	k(  sJ ‚y )
NÚvalue)r^   Né   r   Tr]   Fr^   r°   zmarrow.ArrayStatistics<null_count=1, distinct_count=None, min=-1, is_min_exact=True, max=3, is_max_exact=True>)r   r_   r`   r   r   r   r   r   r   r   r7   ÚchunksÚ
statisticsÚis_null_count_exactÚ
null_countÚdistinct_countÚis_distinct_count_exactrx   Úis_min_exactÚmaxÚis_max_exactÚrepr)r_   r   r²   s      r    Útest_read_statisticsr»   V  s  € Ü�H‰H�gœrŸx™xªÓ6Ð7Ó8€EÜ
�*‰*‹,€CÜ�˜ÔØ‡H�HˆQ„Kä—‘ Ó$×)Ñ)Ó+×3Ñ3°AÑ6×=Ñ=¸aÑ@×KÑK€JØ×)Ñ)¨TÑ1Ð1Ð1Ø× Ñ  AÒ%Ð%Ð%Ø×$Ñ$Ð,Ð,Ð,ð ×-Ñ-°Ñ6Ð6Ð6Ø�>‰>˜RÒÐÐØ×"Ò"Ð"Ð"Ø�>‰>˜QÒÐÐØ×"Ò"Ð"Ð"Ü�
Óð !<ò =ð =ñ =r"   c                 ó®   — | › d�}t        j                  |«      j                  «       }|j                  ddgk(  sJ ‚|d   j	                  «       g d¢k(  sJ ‚y )Nz/unknown-logical-type.parquetzcolumn with known typezcolumn with unknown type)s   unknown string 1s   unknown string 2s   unknown string 3)r   r   r   Úcolumn_namesrf   )Úparquet_test_datadirÚ	test_filer_   s      r    Ú test_read_undefined_logical_typerÀ   m  sh   € Ø'Ð(Ð(EÐF€Iä�N‰N˜9Ó%×*Ñ*Ó,€EØ×ÑÐ":Ð<VÐ!WÒWÐWÐWØÐ+Ñ,×6Ñ6Ó8ò =ò ð ñ r"   c                  óŒ  — t        j                  d«       t        j                  dt	        d«      i«      } t        j                  | d«       t        j                  d«      }| j                  |«      sJ ‚d}t        j                  t        j                  |¬«      5  t        j                  d«       d d d «       y # 1 sw Y   y xY w)NÚfsspecr£   rs   úfsspec+memory://example.parquetz#Unrecognized filesystem type in URI©rP   znon-existing://example.parquet)rI   Úimportorskipr   r_   r*   r   rb   Ú
read_tableÚequalsrJ   ÚArrowInvalid)r_   Útable2rS   s      r    Ú test_parquet_file_fsspec_supportrÊ   y  s�   € Ü
×Ñ˜Ô!ä�H‰H�cœ5 ›9Ð%Ó&€EÜ‡N�N�5Ð;Ô<Ü�]‰]Ð<Ó=€FØ�<‰<˜ÔÐÐà
/€CÜ	�‰”r—‘¨cÔ	2ñ 8Ü
�‰Ð6Ô7÷8÷ 8ñ 8ús   ÂB:Â:Cc                  óx  — 	 ddl m}  t        j                  dt        d«      i«      }  «       }|j                  dd¬«       |j                  d«      sJ ‚d	}t        j                  |d
|¬«       t        j                  d«      }|j                  |«      sJ ‚y # t        $ r t        j                  d«       Y Œ°w xY w)Nr   ©ÚMemoryFileSystemz&fsspec is not installed, skipping testÚbrs   z/path/to/prefixT)Úcreate_parentszfsspec+memory://path/to/prefixz	b.parquetr¡   z(fsspec+memory://path/to/prefix/b.parquet)Úfsspec.implementations.memoryrÍ   ÚImportErrorrI   Úskipr   r_   r*   rG   Úexistsr   rb   rÆ   rÇ   )rÍ   r_   ÚfsÚfs_strrÉ   s        r    Ú<test_parquet_file_fsspec_support_through_filesystem_argumentrÖ   †  s£   € ð>ÝBô �H‰H�cœ5 ›9Ð%Ó&€Eá	Ó	€BØ‡H�HÐ¨t€HÔ4Ø�9‰9Ð&Ô'Ð'Ð'à-€FÜ‡N�N�5˜+°&Õ9Ü�]‰]ÐEÓF€FØ�<‰<˜ÔÐÑøô ò >Ü�‰Ð<Ö=ð>ús   ‚B ÂB9Â8B9c                  óÂ  — 	 ddl m}  t        j                  d«      } |_        t        j                  j                  dd|i«      5  d}t        j                  dt        d«      i«      }t        j                  ||«       t        j                   |«      }|j#                  |«      sJ ‚	 d d d «       y # t        $ r t        j                  d«       Y ŒÉw xY w# 1 sw Y   y xY w)	Nr   rÌ   z3fsspec is not installed, skipping Hugging Face testÚhuggingface_hubzsys.modulesz'hf://datasets/apache/arrow/test.parquetr£   rs   )rÐ   rÍ   rÑ   rI   rÒ   ÚtypesÚ
ModuleTypeÚHfFileSystemr   Úpatchr¤   r   r_   r*   r   rb   rÆ   rÇ   )rÍ   Úfake_hf_moduleÚurir_   rÉ   s        r    Ú$test_parquet_file_hugginface_supportrß   ˜  sÂ   € ðKÝBô ×%Ñ%Ð&7Ó8€NØ"2€NÔÜ	�‰�‰˜Ð):¸NÐ(KÓ	Lñ $Ø7ˆÜ—‘˜#œu R›yÐ)Ó*ˆÜ
�‰�u˜cÔ"Ü—‘˜sÓ#ˆØ�|‰|˜FÔ#Ð#Ñ#÷$ð $øô ò KÜ�‰ÐIÖJðKú÷
$ð $ús   ‚B1 ÁA!CÂ1CÃCÃCc                  ó
  — 	 dd l } t        j                  d«       t	        j
                  d«      }t        j                  t        |¬«      5  t        j                  d«       d d d «       y # t        $ r Y ŒZw xY w# 1 sw Y   y xY w)Nr   z"fsspec is available, skipping testzI`fsspec` is required to handle `fsspec+<filesystem>://` and `hf://` URIs.rÄ   rÃ   )	rÂ   rI   rÒ   rÑ   ÚreÚescaperJ   r   rÆ   )rÂ   rS   s     r    Ú1test_fsspec_uri_raises_if_fsspec_is_not_availablerã   ¨  st   € ð:Ûô 	�‰Ð8Ô9ä
�)‰)ØSóU€Cä	�‰”{¨#Ô	.ñ 9Ü
�‰Ð7Ô8÷9ð 9øô ò Ùðú÷9ð 9ús   ‚A* ÁA9Á*	A6Á5A6Á9Bc                 óP  — t        j                  g «      }t         j                  j                  g |¬«      }| dz  }t	        j
                  ||«       t	        j                  |«      }t        j                  t        «      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)N)rŒ   zempty_file.parquetr   )rm   )r   rŒ   r   Úfrom_batchesr   rb   r   rI   rJ   rg   rv   )rQ   rŒ   Úempty_tableÚparquet_file_pathr¬   s        r    Ú(test_iter_batches_raises_batch_size_zerorè   ·  s„   € ä�Y‰Y�r‹]€FÜ—(‘(×'Ñ'¨°6Ð'Ó:€KØÐ"6Ñ6ÐÜ‡N�N�;Ð 1Ô2Ü—>‘>Ð"3Ó4€LÜ	�‰”zÓ	"ñ 0Ø×!Ñ!¨QÐ!Ô/÷0÷ 0ñ 0ús   Â BÂB%).r   rF   rá   rN   rÙ   rI   Úunittestr   Úpyarrowr   Úpyarrow.parquetÚparquetr   Úpyarrow.tests.parquet.commonr   rÑ   ÚpandasÚpdÚpandas.testingÚtestingr   r   ÚmarkÚ
pytestmarkr!   r3   r:   r=   r?   rB   rU   rl   Úparametrizer…   r�   r”   rž   Ús3r­   r»   rÀ   rÊ   rÖ   rß   rã   rè   © r"   r    ú<module>r÷      sA  ðó$ 
Û 	Û 	Û 
Û ã Ý ã ðÝ Ý9ðÛÝå<ð �[‰[× Ñ €
ð ‡�×Ññ8ó ð8ð& ‡�×Ññ2ó ð2ð, ‡�×Ññ8ó ð8ð0 ‡�×Ññ2ó ð2ð( ‡�×Ññ8ó ð8ð, ‡�×Ññ5ó ð5ò 
ò
(ð ‡�×ÑØ‡�×Ñ˜Ò'8Ó9ñó :ó ðð. ‡�×ÑØ‡�×Ñ˜¨ vÓ.ñ(ó /ó ð(ðV ‡�×ÑØ‡�×Ñ˜¨¨t }Ó5ñ#ó 6ó ð#òð: ‡�‡�Ø‡�×Ñ˜ MÓ2ñó 3ó ðò*=ò.	ò
8ò ò$$ò 9ó0øðo ò Ø	ƒBðûð ò Ø€N€B‹ðús"   ¤H ±H ÈHÈHÈ	H*È)H*