
    Pi                         d dl Z 	 d dlZn# e$ r dZY nw xY w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dS )    N)utilc                     dd l m} ddlm} |                    |           rt
          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        p/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pyarrow/tests/parquet/common.py_write_tabler      sr          111111  '' ,$$U++BN5$))&)))L    c                  X    dd l m}  |j        | i |}|                    d           |S )Nr   T)full)r   r   
read_tablevalidate)argsr   r   r   s       r   _read_tabler   )   sC          BM4*6**E	NNNLr   c                     |pi }|pi }t          j                    }t          | |fi | t          j        |                                          }t          |fi |S N)r
   BufferOutputStreamr   BufferReadergetvaluer   )r   read_table_kwargswrite_table_kwargswriterreaders        r   _roundtrip_tabler$   1   so    )/R+1r"$$F55"4555_V__..//Fv33!2333r   c                    || }|pi }t          | ||          }|j        |j        k    sJ |                    |          sJ t          |||          }|j        |j        k    sJ |                    |          sJ d S )N)r    r!   )r$   schemaequals)r   expectedr    r!   results        r   _check_roundtripr*   <   s    )/R e7H1CE E EF=HO++++=="""""f8I1CE E EF=HO++++=="""""""r   c                     t           j                            |           }t          ||          }|                                S )N)r!   )r
   r   r   r$   	to_pandas)dfwrite_kwargsr   r)   s       r   _roundtrip_pandas_dataframer/   N   sB    H  $$E,0 0 0Fr   c                     t          j        d          }t          j        |          }t           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    ((HUOOE9S,=,ABB ,=,ABB"&e  5 5 5r   c                 R    t          j        t          j        | |                    S )Nr4   )r
   arrayr5   aranger2   s     r   _range_integersrA   ^   s!    8BId%000111r   '  c                    t           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                            |                               t           j                  t          j        | t           j                  t           j                            |           dk    d t#          |           D             d g| z  d g| z  dS )Nr>   r   c                 6    g | ]}t          j        d           S )
   )r   rands).0is     r   
<listcomp>z_test_dict.<locals>.<listcomp>p   s     888qDJrNN888r   )uint8uint16uint32uint64int8int16int32int64float32float64boolstringsall_noneall_none_category)r5   r7   seedr<   rJ   rK   rL   rM   rN   rO   rP   rQ   randnastyperR   r@   rS   ranger3   rX   s     r   
_test_dictr]   b   s   INN4!$11"433"433"433 rw//!$11!$11!$119??4((//
;;9T444	%%)88E$KK888FTM"Vd]  r   c                 T    dd l }|                    t          | |                    }|S )Nr   )pandas	DataFramer]   )r3   rX   pdr-   s       r   _test_dataframerb   v   s0    	jt,,	-	-B Ir   c                 \    t           j                            t          | |                    S r   )r
   r   from_pydictr]   r\   s     r   _test_tablere      s"    8
4 6 6777r   c                 &   dd l m} t          | t          j                  r| }nt          j                            |           }t          j                    }t          ||dd           |	                    d           |
                    |          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_filerr      s          +rx(( 4(&&{33
*,,C#8UCCCCHHQKKK>>#r   Fc           
         dd l }t          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                            |           dk    dt          j        d| d          dt          j        d| d          dt          j        d| d          dt          j        d| d          d|                    d t#          |           D                       dg| z  d gd t#          | dz
            D             z   d gz   d g| z  d gdz  d t#          | dz
            D             z   d }|r|d                             d!          |d"<   |                    |          S )#Nr   rJ   r>   rK   rL   rM   rN   rO   rP   rQ   float16rR   rS   rT   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]strc                 ,    g | ]}t          |          S  ry   rG   xs     r   rI   z#alltypes_sample.<locals>.<listcomp>   s    666Q#a&&666r    c                 ,    g | ]}t          |          S r{   r|   r}   s     r   rI   z#alltypes_sample.<locals>.<listcomp>   s    #D#D#DqCFF#D#D#Dr      c                      g | ]}d g|dz  z  S )N   r{   r}   s     r   rI   z#alltypes_sample.<locals>.<listcomp>   s#    "M"M"MD6QU#3"M"M"Mr   )	empty_strstr_with_nullsnull	null_listcategorystr_category)r_   r5   r7   rX   r@   rJ   rK   rL   rM   rO   rP   rQ   rt   rR   rS   rY   Seriesr[   rZ   r`   )r3   rX   categoricalra   arrayss        r   alltypes_sampler      s   INN44rx000")D	222 	")D	222 	")D	222	
 		$bh/// 	4rx000 	4rx000 	4rx000 	29T444 	29T444 	29T444 		%%) 	ry!:D'79 9 9 	ry!=t'79 9 9" 	ry!@$'79 9 9#& 	RYq$.>???'( 	ryy66%++66677)* TD[&#D#DE$(OO#D#D#DDvMVaZ"M"MU4!8__"M"M"MM1  F4  B!'!5!5j!A!A~<<r   )NN)rB   r   )rB   r   F)rk   numpyr5   ImportErrorpyarrowr
   pyarrow.testsr   r   r   r$   r*   r/   r<   rA   r]   rb   re   rr   r   r{   r   r   <module>r      sL  $ 
			   	BBB          	 	 	   /3(,4 4 4 4# # # #$  5 5 52 2 2   (   8 8 8 8                   s    