Ë
    ìmxi  ã                   óœ   — d dl Z 	 d dlZd dlZd dlmZ d„ Zd„ Z		 	 dd„Z
dd„Zd„ Zd„ Zd	„ Zdd
„Zdd„Zdd„Zd„ Zdd„Zy# e$ r dZY Œ@w xY w)é    N)Úutilc                 ó¦   — dd l m} ddlm} |j	                  | «      rt
        j                  j                  | «      }  |j                  | |fi |¤Ž | S )Nr   )Ú_pandas_api)	Úpyarrow.parquetÚparquetÚpyarrow.pandas_compatr   Úis_data_frameÚpaÚTableÚfrom_pandasÚwrite_table)ÚtableÚpathÚkwargsÚpqr   s        úS/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/parquet/common.pyÚ_write_tabler      sD   € å Ý1à× Ñ  Ô'Ü—‘×$Ñ$ UÓ+ˆà€B‡N�N�5˜$Ñ) &Ò)Ø€Ló    c                  óZ   — dd l m}  |j                  | i |¤Ž}|j                  d¬«       |S )Nr   T)Úfull)r   r   Ú
read_tableÚvalidate)Úargsr   r   r   s       r   Ú_read_tabler   )   s-   € Ý àˆB�M‰M˜4Ð* 6Ñ*€EØ	‡N�N˜€NÔØ€Lr   c                 óº   — |xs i }|xs i }t        j                  «       }t        | |fi |¤Ž t        j                  |j	                  «       «      }t        |fi |¤ŽS ©N)r
   ÚBufferOutputStreamr   ÚBufferReaderÚgetvaluer   )r   Úread_table_kwargsÚwrite_table_kwargsÚwriterÚreaders        r   Ú_roundtrip_tabler$   1   s\   € à)Ò/¨RÐØ+Ò1¨rÐä×"Ñ"Ó$€FÜ�˜Ñ5Ð"4Ò5Ü�_‰_˜VŸ_™_Ó.Ó/€FÜ�vÑ3Ð!2Ñ3Ð3r   c                 ó  — |€| }|xs i }t        | ||¬«      }|j                  |j                  k(  sJ ‚|j                  |«      sJ ‚t        |||¬«      }|j                  |j                  k(  sJ ‚|j                  |«      sJ ‚y )N)r    r!   )r$   ÚschemaÚequals)r   Úexpectedr    r!   Úresults        r   Ú_check_roundtripr*   <   s�   € àÐØˆà)Ò/¨RÐô ˜eÐ7HØ1CôE€Fà�=‰=˜HŸO™OÒ+Ð+Ð+Ø�=‰=˜Ô"Ð"Ð"Ü˜fÐ8IØ1CôE€Fà�=‰=˜HŸO™OÒ+Ð+Ð+Ø�=‰=˜Ô"Ð"Ñ"r   c                 óz   — t         j                  j                  | «      }t        ||¬«      }|j	                  «       S )N)r!   )r
   r   r   r$   Ú	to_pandas)ÚdfÚwrite_kwargsr   r)   s       r   Ú_roundtrip_pandas_dataframer/   N   s4   € Ü�H‰H× Ñ  Ó$€EÜØ ,ô0€Fà×ÑÓÐr   c                 ó  — t        j                  d«      }t        j                  |«      }t         j                  j                  t	        |j
                  |j
                  «      t        |j                  |j                  «      | |¬«      S )NÚint_©ÚsizeÚdtype)ÚnpÚiinfoÚrandomÚrandintÚmaxÚmin)r3   r4   Úplatform_int_infor6   s       r   Ú_random_integersr<   U   sh   € äŸ™ Ó(ÐÜ�H‰H�U‹O€EÜ�9‰9×ÑœS §¡Ð,=×,AÑ,AÓBÜ  §¡Ð,=×,AÑ,AÓBØ"&¨eð ó 5ð 5r   c                 óV   — t        j                  t        j                  | |¬«      «      S )N©r4   )r
   Úarrayr5   Úaranger2   s     r   Ú_range_integersrA   ^   s   € Ü�8‰8”B—I‘I˜d¨%Ô0Ó1Ð1r   c                 óJ  — t         j                  j                  |«       t        | t         j                  «      t        | t         j
                  «      t        | t         j                  «      t        | t         j                  «      t        | t         j                  «      t        | t         j                  «      t        | t         j                  «      t        | t         j                  «      t         j                  j                  | «      j                  t         j                  «      t        j                  | t         j                   ¬«      t         j                  j                  | «      dkD  t#        | «      D �cg c]  }t%        j&                  d«      ‘Œ c}d g| z  d g| z  dœS c c}w )Nr>   r   é
   )Úuint8Úuint16Úuint32Úuint64Úint8Úint16Úint32Úint64Úfloat32Úfloat64ÚboolÚstringsÚall_noneÚall_none_category)r5   r7   Úseedr<   rD   rE   rF   rG   rH   rI   rJ   rK   ÚrandnÚastyperL   r@   rM   Úranger   Úrands)r3   rR   Úis      r   Ú
_test_dictrX   b   s  € Ü‡I�I‡N�N�4Ôä! $¬¯©Ó1Ü" 4¬¯©Ó3Ü" 4¬¯©Ó3Ü" 4¬¯©Ó3Ü  ¤r§w¡wÓ/Ü! $¬¯©Ó1Ü! $¬¯©Ó1Ü! $¬¯©Ó1Ü—9‘9—?‘? 4Ó(×/Ñ/´·
±
Ó;Ü—9‘9˜T¬¯©Ô4Ü—	‘	—‘ Ó%¨Ñ)Ü,1°$«KÖ8 q”D—J‘J˜r•NÒ8Ø�F˜T‘MØ"˜V d™]ñð ùò 9s   Å5F c                 óD   — dd l }|j                  t        | |«      «      }|S )Nr   )ÚpandasÚ	DataFramerX   )r3   rR   Úpdr-   s       r   Ú_test_dataframer]   v   s!   € Ûà	�‰”j  tÓ,Ó	-€Bð €Ir   c                 óT   — t         j                  j                  t        | |«      «      S r   )r
   r   Úfrom_pydictrX   )r3   rR   s     r   Ú_test_tabler`   €   s   € Ü�8‰8×Ñ¤
¨4°Ó 6Ó7Ð7r   c                 ó  — dd l m} t        | t        j                  «      r| }nt        j                  j                  | «      }t        j                  «       }t        ||dd¬«       |j                  d«       |j                  |«      S )Nr   ÚSNAPPYz2.6)ÚcompressionÚversion)r   r   Ú
isinstancer
   r   r   ÚioÚBytesIOr   ÚseekÚParquetFile)Útable_or_dfr   Úa_tableÚbufs       r   Úmake_sample_filerm   „   s_   € Ý ä�+œrŸx™xÔ(Ø‰ä—(‘(×&Ñ& {Ó3ˆä
�*‰*‹,€CÜ�˜#¨8¸UÕCà‡H�HˆQ„KØ�>‰>˜#ÓÐr   c                 ó8  — dd l }t        j                  j                  |«       i dt        j                  | t        j
                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “d	t        j                  | t        j                  ¬«      “d
t        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  | t        j                  ¬«      “dt        j                  j                  | «      dkD  “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “dt        j                  d| d¬«      “d|j!                  t#        | «      D �cg c]  }t%        |«      ‘Œ c}«      “dg| z  d gt#        | dz
  «      D �cg c]  }t%        |«      ‘Œ c}z   d gz   d g| z  d gdz  t#        | dz
  «      D �cg c]  }d g|dz  z  ‘Œ c}z   dœ¥}|r|d   j'                  d«      |d <   |j)                  |«      S c c}w c c}w c c}w )!Nr   rD   r>   rE   rF   rG   rH   rI   rJ   rK   Úfloat16rL   rM   rN   Údatetime_msz2016-01-01T00:00:00.001zdatetime64[ms]Údatetime_usz2016-01-01T00:00:00.000001zdatetime64[us]Údatetime_nsz2016-01-01T00:00:00.000000001zdatetime64[ns]Ú	timedeltaztimedelta64[s]ÚstrÚ é   é   )Ú	empty_strÚstr_with_nullsÚnullÚ	null_listÚcategoryÚstr_category)rZ   r5   r7   rR   r@   rD   rE   rF   rG   rI   rJ   rK   ro   rL   rM   rS   ÚSeriesrU   rt   rT   r[   )r3   rR   Úcategoricalr\   ÚxÚarrayss         r   Úalltypes_sampler‚   “   s�  € Ûä‡I�I‡N�N�4ÔðØ”—‘˜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ðð 	”2—9‘9˜T¬¯©Ô4ðð 	”—	‘	—‘ Ó%¨Ñ)ðð 	”r—y‘yÐ!:¸DØ'7ô9ðð 	”r—y‘yÐ!=¸tØ'7ô9ðð" 	”r—y‘yÐ!@À$Ø'7ô9ð#ð& 	”R—Y‘Y˜q $Ð.>Ô?ð'ð( 	ˆr�y‰y¬%°«+Ö6 Qœ#˜a�&Ò6Ó7ð)ð* �T˜D‘[Ø˜&´E¸$À¹(³OÖ#D¨q¤C¨¥FÒ#DÑDÈÀvÑMØ�˜‘Ø�V˜a‘Z¼UÀ4È!Á8»_Ö"M¸ D 6¨Q°©UÓ#3Ò"MÑMò1€Fñ4 Ø!'¨¡×!5Ñ!5°jÓ!Aˆˆ~ÑØ�<‰<˜ÓÐùò 7ùâ#Dùâ"Ms   É'LÊL
ËL)NN)é'  r   )rƒ   r   F)rf   Únumpyr5   ÚImportErrorÚpyarrowr
   Úpyarrow.testsr   r   r   r$   r*   r/   r<   rA   rX   r]   r`   rm   r‚   © r   r   ú<module>r‰      su   ðó$ 
ðÛó Ý ò	òð /3Ø(,ó4ó#ò$ò5ò2óó(ó8òô  øð{ ò Ø	‚Bðús   †A ÁAÁ
A