
    /_i                         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        [/var/www/html/land_sniper/venv/lib/python3.12/site-packages/pyarrow/tests/parquet/common.py_write_tabler      sD     1  '$$U+BNN5$)&)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-     BMM4*6*E	NN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+1r""$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 e7H1CEF==HOO+++=="""f8I1CEF==HOO+++=="""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    HH  $E,0F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    (HHUOE99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    88BIId%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   IINN4!$1"43"43"43 rww/!$1!$1!$199??4(//

;99T4		%),1$K8qDJJrN8FTM"Vd]  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    88
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_     +rxx(((&&{3
**,C#8UCHHQK>>#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   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%+6Q#a&67)* TD[&E$(O#DqCF#DDvMVaZU4!8_"MD6QU#3"MM1F4 !'!5!5j!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