o
    'i                     @   s   d dl Z zd dlZW n ey   dZY nw d dlZd dlmZ dd Zdd Z			dddZ
dd	d
Zdd Zdd Zdd ZdddZdddZdddZdd ZdddZdS )     N)utilc                 K   sF   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    r   Z/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/pyarrow/tests/parquet/common.py_write_table   s   
r   c                  O   s,   dd l m} |j| i |}|jdd |S )Nr   T)full)r   r   
read_tablevalidate)argsr   r   r   r   r   r   _read_table)   s   r   c                 C   sH   |pi }|pi }t  }t| |fi | t | }t|fi |S N)r   BufferOutputStreamr   BufferReadergetvaluer   )r   read_table_kwargswrite_table_kwargswriterreaderr   r   r   _roundtrip_table1   s   r    c                 K   sp   |d u r| }|p	i }t | ||d}|j|jksJ ||s J t |||d}|j|jks/J ||s6J d S )N)r   r   )r    schemaequals)r   expectedr   r   resultr   r   r   _check_roundtrip<   s   r%   c                 C   s    t j| }t||d}| S )N)r   )r   r	   r
   r    	to_pandas)dfwrite_kwargsr   r$   r   r   r   _roundtrip_pandas_dataframeN   s
   r)   c                 C   s<   t d}t |}t jjt|j|jt|j|j| |dS )Nint_sizedtype)npiinforandomrandintmaxmin)r,   r-   platform_int_infor/   r   r   r   _random_integersU   s   

r5   c                 C   s   t tj| |dS )Nr-   )r   arrayr.   aranger+   r   r   r   _range_integers^   s   r9   '  c                 C   s   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dt j| dkdd t| D d g|  d g|  dS )Nr6   r   c                 S   s   g | ]}t d qS )
   )r   rands).0ir   r   r   
<listcomp>p   s    z_test_dict.<locals>.<listcomp>)uint8uint16uint32uint64int8int16int32int64float32float64boolstringsall_noneall_none_category)r.   r0   seedr5   r@   rA   rB   rC   rD   rE   rF   rG   randnastyperH   r8   rI   ranger,   rN   r   r   r   
_test_dictb   s    







rS   c                 C   s   dd l }|t| |}|S )Nr   )pandas	DataFramerS   )r,   rN   pdr'   r   r   r   _test_dataframev   s   rW   c                 C   s   t jt| |S r   )r   r	   from_pydictrS   rR   r   r   r   _test_table   s   rY   c                 C   sV   dd l m} t| tjr| }ntj| }t }t||ddd |	d |
|S )Nr   SNAPPYz2.6)compressionversion)r   r   
isinstancer   r	   r
   ioBytesIOr   seekParquetFile)table_or_dfr   a_tablebufr   r   r   make_sample_file   s   

re   Fc              	   C   s  dd l }tj| i dtj| tjddtj| tjddtj| tjddtj| tjddtj| tj	ddtj| tj	dd	tj| tj
dd
tj| tjddtj| tjddtj| tjddtj| tjddtj| dkdtjd| dddtjd| dddtjd| dddtjd| ddd|dd t| D dg|  d gdd t| d D  d g d g|  d gd d d t| d D  d!}|r|d d"|d#< ||S )$Nr   r@   r6   rA   rB   rC   rD   rE   rF   rG   float16rH   rI   rJ   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                 S      g | ]}t |qS r   rk   r=   xr   r   r   r?          z#alltypes_sample.<locals>.<listcomp> c                 S   rl   r   rm   rn   r   r   r   r?      rp      c                 S   s   g | ]	}d g|d  qS )N   r   rn   r   r   r   r?      s    )	empty_strstr_with_nullsnull	null_listcategorystr_category)rT   r.   r0   rN   r8   r@   rA   rB   rC   rE   rF   rG   rf   rH   rI   rO   SeriesrQ   rP   rU   )r,   rN   categoricalrV   arraysr   r   r   alltypes_sample   sf   	



 
r}   )NN)r:   r   )r:   r   F)r^   numpyr.   ImportErrorpyarrowr   pyarrow.testsr   r   r   r    r%   r)   r5   r9   rS   rW   rY   re   r}   r   r   r   r   <module>   s,   

	



