
    <>i                         S SK r  S SKrS SKrS SKJr  S rS r	  SS jr
SS jrS rS rS	 rSS
 jrSS jrSS jrS rSS jrg! \ a    Sr NGf = f)    N)utilc                     SS K Jn  SSKJn  UR	                  U 5      (       a  [
        R                  R                  U 5      n UR                  " X40 UD6  U $ )Nr   )_pandas_api)	pyarrow.parquetparquetpyarrow.pandas_compatr   is_data_framepaTablefrom_pandaswrite_table)tablepathkwargspqr   s        [/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pyarrow/tests/parquet/common.py_write_tabler      sC     1  ''$$U+NN5)&)L    c                  T    SS K Jn  UR                  " U 0 UD6nUR                  SS9  U$ )Nr   T)full)r   r   
read_tablevalidate)argsr   r   r   s       r   _read_tabler   )   s+     MM4*6*E	NNNLr   c                     U=(       d    0 nU=(       d    0 n[         R                  " 5       n[        X40 UD6  [         R                  " UR	                  5       5      n[        U40 UD6$ N)r
   BufferOutputStreamr   BufferReadergetvaluer   )r   read_table_kwargswrite_table_kwargswriterreaders        r   _roundtrip_tabler$   1   sZ    )/R+1r""$F5"45__V__./Fv3!233r   c                    Uc  U nU=(       d    0 n[        XUS9nUR                  UR                  :X  d   eUR                  U5      (       d   e[        XBUS9nUR                  UR                  :X  d   eUR                  U5      (       d   eg )N)r    r!   )r$   schemaequals)r   expectedr    r!   results        r   _check_roundtripr*   <   s    )/R e1CEF==HOO+++==""""f1CEF==HOO+++==""""r   c                 r    [         R                  R                  U 5      n[        X!S9nUR	                  5       $ )N)r!   )r
   r   r   r$   	to_pandas)dfwrite_kwargsr   r)   s       r   _roundtrip_pandas_dataframer/   N   s2    HH  $E0Fr   c                    [         R                  " S5      n[         R                  " U5      n[         R                  R                  [	        UR
                  UR
                  5      [        UR                  UR                  5      XS9$ )Nint_sizedtype)npiinforandomrandintmaxmin)r3   r4   platform_int_infor6   s       r   _random_integersr<   U   sf    (HHUOE99S,=,A,AB ,=,A,AB"&  5 5r   c                 R    [         R                  " [        R                  " XS95      $ )Nr4   )r
   arrayr5   aranger2   s     r   _range_integersrA   ^   s    88BIId011r   c                 N   [         R                  R                  U5        [        U [         R                  5      [        U [         R
                  5      [        U [         R                  5      [        U [         R                  5      [        U [         R                  5      [        U [         R                  5      [        U [         R                  5      [        U [         R                  5      [         R                  R                  U 5      R                  [         R                  5      [         R                  " U [         R                   S9[         R                  R                  U 5      S:  [#        U 5       Vs/ s H  n[$        R&                  " S5      PM     snS /U -  S /U -  S.$ s  snf )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   IINN4!$1"43"43"43 rww/!$1!$1!$199??4(//

;99T4		%),1$K8KqDJJrNK8FTM"Vd]  9s   3 F"c                 B    SS K nUR                  [        X5      5      nU$ )Nr   )pandas	DataFramerX   )r3   rR   pdr-   s       r   _test_dataframer]   v   s    	j,	-B Ir   c                 R    [         R                  R                  [        X5      5      $ r   )r
   r   from_pydictrX   )r3   rR   s     r   _test_tabler`      s    88
4 677r   c                    SS K Jn  [        U [        R                  5      (       a  U nO[        R                  R                  U 5      n[        R                  " 5       n[        X#SSS9  UR                  S5        UR                  U5      $ )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`     +rxx((((&&{3
**,C8UCHHQK>>#r   c                    SS K n[        R                  R                  U5        0 S[        R                  " U [        R
                  S9_S[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S	[        R                  " U [        R                  S9_S
[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S[        R                  " U [        R                  S9_S[        R                  R                  U 5      S:  _S[        R                  " SU SS9_S[        R                  " SU SS9_S[        R                  " SU SS9_S[        R                  " SU SS9_SUR!                  [#        U 5       Vs/ s H  n[%        U5      PM     sn5      _S/U -  S /[#        U S-
  5       Vs/ s H  n[%        U5      PM     sn-   S /-   S /U -  S /S-  [#        U S-
  5       Vs/ s H  nS /US-  -  PM     sn-   S.EnU(       a  US   R'                  S5      US '   UR)                  U5      $ s  snf s  snf s  snf )!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   IINN44rxx0"))D		2 	"))D		2 	"))D		2	
 			$bhh/ 	4rxx0 	4rxx0 	4rxx0 	299T4 	299T4 	299T4 			%) 	ryy!:D'79 	ryy!=t'79" 	ryy!@$'79#& 	RYYq$.>?'( 	ryy%+6+Q#a&+67)* TD[&E$(O#DOqCFO#DDvMVaZU4!8_"M_D6QU#3_"MM1F4 !'!5!5j!A~<< 7#D"Ms   	K=<L
3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