
    Pi%                        d dl Z d dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlmZ  G d dej                  ZdZedz   dz   Z G d d	ej                  Z G d
 dej                  Z G d dej                  Zd Z d Z!dddZ"de de"_#        ddddZ$ddddZ%de de%_#        d ddddZ&ddddZ'dddZ(dS )!    N)IpcReadOptionsIpcWriteOptions	ReadStats
WriteStatsMessageMessageReaderRecordBatchReader_ReadPandasMixinMetadataVersion	Alignmentread_messageread_record_batchread_schemaread_tensorwrite_tensorget_record_batch_sizeget_tensor_sizec                        e Zd ZdZddddZdS )RecordBatchStreamReadera  
    Reader for the Arrow streaming binary format.

    Parameters
    ----------
    source : bytes/buffer-like, pyarrow.NativeFile, or file-like Python object
        Either an in-memory buffer, or a readable file object.
        If you want to use memory map use MemoryMappedFile as source.
    options : pyarrow.ipc.IpcReadOptions
        Options for IPC deserialization.
        If None, default values will be used.
    memory_pool : MemoryPool, default None
        If None, default memory pool is used.
    Noptionsmemory_poolc                T    t          |          }|                     |||           d S )Nr    _ensure_default_ipc_read_options_open)selfsourcer   r   s       _/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pyarrow/ipc.py__init__z RecordBatchStreamReader.__init__2   s-    27;;

67
DDDDD    __name__
__module____qualname____doc__r     r!   r   r   r   "   sE          +/D E E E E E E Er!   r   aO  Parameters
----------
sink : str, pyarrow.NativeFile, or file-like Python object
    Either a file path, or a writable file object.
schema : pyarrow.Schema
    The Arrow schema for data to be written to the file.
options : pyarrow.ipc.IpcWriteOptions
    Options for IPC serialization.

    If None, default values will be used: the legacy format will not
    be used unless overridden by setting the environment variable
    ARROW_PRE_0_15_IPC_FORMAT=1, and the V5 metadata version will be
    used unless overridden by setting the environment variable
    ARROW_PRE_1_0_METADATA_VERSION=1.
zmetadata : dict | pyarrow.KeyValueMetadata, optional
    Key/value pairs (both must be bytes-like) that will be stored
    in the file footer and are retrievable via
    pyarrow.ipc.open_file(...).metadata.c                   $    e Zd Zde ZdddZdS )RecordBatchStreamWriterz.Writer for the Arrow streaming binary format

Nr   c                T    t          |          }|                     |||           d S Nr+   _get_legacy_format_defaultr   )r   sinkschemar   s       r   r    z RecordBatchStreamWriter.__init__X   s-    ,W55

4
11111r!   )r#   r$   r%   _ipc_writer_class_docr&   r    r'   r!   r   r*   r*   S   sF         G 15 2 2 2 2 2 2 2r!   r*   c                   "    e Zd ZdZdddddZdS )RecordBatchFileReadera  
    Class for reading Arrow record batch data from the Arrow binary file format

    Parameters
    ----------
    source : bytes/buffer-like, pyarrow.NativeFile, or file-like Python object
        Either an in-memory buffer, or a readable file object.
        If you want to use memory map use MemoryMappedFile as source.
    footer_offset : int, default None
        If the file is embedded in some larger file, this is the byte offset to
        the very end of the file data
    options : pyarrow.ipc.IpcReadOptions
        Options for IPC serialization.
        If None, default values will be used.
    memory_pool : MemoryPool, default None
        If None, default memory pool is used.
    Nr   c                V    t          |          }|                     ||||           d S )Nfooter_offsetr   r   r   )r   r   r7   r   r   s        r   r    zRecordBatchFileReader.__init__p   s=    27;;

6" 	 	= 	= 	= 	= 	=r!   Nr"   r'   r!   r   r4   r4   ]   sA         $=d!= = = = = = =r!   r4   c                   &    e Zd Zde ZddddZdS )RecordBatchFileWriterz/Writer to create the Arrow binary file format

Nr   metadatac                V    t          |          }|                     ||||           d S Nr;   r.   )r   r0   r1   r   r<   s        r   r    zRecordBatchFileWriter.__init__}   s/    ,W55

48
DDDDDr!   )r#   r$   r%   _ipc_file_writer_class_docr&   r    r'   r!   r   r:   r:   w   sO            G 15t E E E E E E Er!   r:   c                    | r6t          | t                    st          dt          |                      | S t          j        }t          t          t          j	        
                    dd                              }t          t          t          j	        
                    dd                              rt          j        }t          ||          S )Nzexpected IpcWriteOptions, got ARROW_PRE_0_15_IPC_FORMAT0ARROW_PRE_1_0_METADATA_VERSION)use_legacy_formatmetadata_version)
isinstancer   	TypeErrortyper   V5boolintosenvirongetV4)r   rE   rD   s      r   r/   r/      s     '?33 	NLT']]LLMMM&)S ;SAABBCC C
?EEFFGG .*-->,<> > > >r!   c                     | r4t          | t                    st          dt          |                      | pt                      S )Nzexpected IpcReadOptions, got )rF   r   rG   rH   r+   s    r   r   r      sK     Iz'>:: IGWGGHHH&n&&&r!   r+   c                &    t          | ||          S r-   )r*   )r0   r1   r   s      r   
new_streamrR      s     "4+24 4 4 4r!   z5Create an Arrow columnar IPC stream writer instance

zS

Returns
-------
writer : RecordBatchStreamWriter
    A writer for the given sink
r   c                &    t          | ||          S )a  
    Create reader for Arrow streaming format.

    Parameters
    ----------
    source : bytes/buffer-like, pyarrow.NativeFile, or file-like Python object
        Either an in-memory buffer, or a readable file object.
    options : pyarrow.ipc.IpcReadOptions
        Options for IPC serialization.
        If None, default values will be used.
    memory_pool : MemoryPool, default None
        If None, default memory pool is used.

    Returns
    -------
    reader : RecordBatchStreamReader
        A reader for the given source
    r   )r   )r   r   r   s      r   open_streamrT      s"    & #67/:< < < <r!   r;   c                (    t          | |||          S r>   )r:   )r0   r1   r   r<   s       r   new_filerV      s     vwRRRRr!   z3Create an Arrow columnar IPC file writer instance

zQ

Returns
-------
writer : RecordBatchFileWriter
    A writer for the given sink
c                (    t          | |||          S )a  
    Create reader for Arrow file format.

    Parameters
    ----------
    source : bytes/buffer-like, pyarrow.NativeFile, or file-like Python object
        Either an in-memory buffer, or a readable file object.
    footer_offset : int, default None
        If the file is embedded in some larger file, this is the byte offset to
        the very end of the file data.
    options : pyarrow.ipc.IpcReadOptions
        Options for IPC serialization.
        If None, default values will be used.
    memory_pool : MemoryPool, default None
        If None, default memory pool is used.

    Returns
    -------
    reader : RecordBatchFileReader
        A reader for the given source
    r6   )r4   )r   r7   r   r   s       r   	open_filerX      s%    , !m[2 2 2 2r!   nthreadspreserve_indexc                "   t           j                            | ||          }t          j                    }t          j        ||j                  5 }|                    |           ddd           n# 1 swxY w Y   |                                S )a  
    Serialize a pandas DataFrame into a buffer protocol compatible object.

    Parameters
    ----------
    df : pandas.DataFrame
    nthreads : int, default None
        Number of threads to use for conversion to Arrow, default all CPUs.
    preserve_index : bool, default None
        The default of None will store the index as a column, except for
        RangeIndex which is stored as metadata only. If True, always
        preserve the pandas index data as a column. If False, no index
        information is saved and the result will have a default RangeIndex.

    Returns
    -------
    buf : buffer
        An object compatible with the buffer protocol.
    rY   N)paRecordBatchfrom_pandasBufferOutputStreamr*   r1   write_batchgetvalue)dfrZ   r[   batchr0   writers         r   serialize_pandasrf      s    ( N&&rH6D ' F FE ""D		#D%,	7	7 "65!!!" " " " " " " " " " " " " " "==??s   A22A69A6Tuse_threadsc                    t          j        |           }t          j        |          5 }|                                }ddd           n# 1 swxY w Y   |                    |          S )a  Deserialize a buffer protocol compatible object into a pandas DataFrame.

    Parameters
    ----------
    buf : buffer
        An object compatible with the buffer protocol.
    use_threads : bool, default True
        Whether to parallelize the conversion using multiple threads.

    Returns
    -------
    df : pandas.DataFrame
        The buffer deserialized as pandas DataFrame
    Nrg   )r]   BufferReaderr   read_all	to_pandas)bufrh   buffer_readerreadertables        r   deserialize_pandasrq     s     OC((M		#M	2	2 "f!!" " " " " " " " " " " " " " "??{?333s   A

AAr8   ))rL   pyarrowr]   pyarrow.libr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   lib_RecordBatchStreamReaderr   r2   r?   _RecordBatchStreamWriterr*   _RecordBatchFileReaderr4   _RecordBatchFileWriterr:   r/   r   rR   r&   rT   rV   rX   rf   rq   r'   r!   r   <module>ry      s#  ( 
			    A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A      E E E E Ec: E E E*) $ 
,, 2 2 2 2 2c: 2 2 2= = = = =C6 = = =4E E E E EC6 E E E> > >' ' ' )- 4 4 4 4 4
	 	 	 	
  $(T < < < < <. '+T S S S S S	 	 	 	 2Tt 2 2 2 2 26 &*$     8 ,0 4 4 4 4 4 4 4r!   