Ë
    ëmxiƒ%  ã                   ó²  — 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j4                  «      Z G d
„ dej8                  «      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(y)!é    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y)Ú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                óB   — t        |«      }| j                  |||¬«       y )Nr   ©Ú _ensure_default_ipc_read_optionsÚ_open)ÚselfÚsourcer   r   s       úB/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/ipc.pyÚ__init__z RecordBatchStreamReader.__init__2   s   € Ü2°7Ó;ˆØ�
‰
�6 7¸ˆ
ÕDó    ©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    © r!   r   r   r   "   s   „ ñð +/¸Dõ 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.ú
zÎmetadata : 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y)ÚRecordBatchStreamWriterz.Writer for the Arrow streaming binary format

N©r   c                óB   — t        |«      }| j                  |||¬«       y ©Nr+   ©Ú_get_legacy_format_defaultr   )r   ÚsinkÚschemar   s       r   r    z RecordBatchStreamWriter.__init__X   s   € Ü,¨WÓ5ˆØ�
‰
�4˜¨ˆ
Õ1r!   )r#   r$   r%   Ú_ipc_writer_class_docr&   r    r'   r!   r   r*   r*   S   s   „ ðàÐ ð€Gð 15õ 2r!   r*   c                   ó    — e Zd ZdZddddœd„Zy)Ú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                óD   — t        |«      }| j                  ||||¬«       y )N©Úfooter_offsetr   r   r   )r   r   r7   r   r   s        r   r    zRecordBatchFileReader.__init__p   s&   € ä2°7Ó;ˆØ�
‰
�6¨Ø"°ð 	õ 	=r!   ©Nr"   r'   r!   r   r4   r4   ]   s   „ ñð$=¸dØ!õ=r!   r4   c                   ó$   — e Zd Zde› �Zdddœd„Zy)ÚRecordBatchFileWriterz/Writer to create the Arrow binary file format

N©r   Úmetadatac                óD   — t        |«      }| j                  ||||¬«       y ©Nr;   r.   )r   r0   r1   r   r<   s        r   r    zRecordBatchFileWriter.__init__}   s    € Ü,¨WÓ5ˆØ�
‰
�4˜¨¸8ˆ
ÕDr!   )r#   r$   r%   Ú_ipc_file_writer_class_docr&   r    r'   r!   r   r:   r:   w   s!   „ ðàÐ ð €Gð 15¸tõ Er!   r:   c                 óz  — | r)t        | t        «      st        dt        | «      › �«      ‚| S t        j
                  }t        t        t        j                  j                  dd«      «      «      }t        t        t        j                  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ÜÐ<¼TÀ'»]¸OÐLÓMÐMØˆä&×)Ñ)ÐäŒS”—‘—‘Ð ;¸SÓAÓBÓCð äŒC”—
‘
—‘Ð?ÀÓEÓFÔGÜ*×-Ñ-ÐÜÐ->Ø,<ô>ð >r!   c                 óp   — | r't        | t        «      st        dt        | «      › �«      ‚| xs
 t        «       S )Nzexpected IpcReadOptions, got )rF   r   rG   rH   r+   s    r   r   r   ‘   s3   € Ù”z '¬>Ô:ÜÐ7¼¸W»°ÐGÓHÐHØÒ&”nÓ&Ð&r!   r+   c                ó   — t        | ||¬«      S r-   )r*   )r0   r1   r   s      r   Ú
new_streamrR   —   s   € Ü" 4¨Ø+2ô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   € ô& # 6°7Ø/:ô<ð <r!   r;   c                ó    — t        | |||¬«      S r>   )r:   )r0   r1   r   r<   s       r   Únew_filerV   ¿   s   € Ü   v°wÈÔ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ð 2r!   ©ÚnthreadsÚpreserve_indexc                ó8  — t         j                  j                  | ||¬«      }t        j                  «       }t        j                  ||j
                  «      5 }|j                  |«       ddd«       |j                  «       S # 1 sw Y   |j                  «       S xY w)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‰N×&Ñ& r°HØ6Dð 'ó F€Eä× Ñ Ó"€DÜ	×	#Ñ	# D¨%¯,©,Ó	7ð "¸6Ø×Ñ˜5Ô!÷"à�=‰=‹?Ð÷"à�=‰=‹?Ðús   ÁBÂBT©Úuse_threadsc                óÄ   — t        j                  | «      }t        j                  |«      5 }|j                  «       }ddd«       j	                  |¬«      S # 1 sw Y   ŒxY w)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     sT   € ô —O‘O CÓ(€MÜ	×	#Ñ	# MÓ	2ð "°fØ—‘Ó!ˆ÷"à�?‰? {ˆ?Ó3Ð3÷"ð "ús   «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õ ôE˜c×:Ñ:ô Eð*)Ð ð$ Ø
ñð,ñ,ð ô2˜c×:Ñ:ô 2ô=˜C×6Ñ6ô =ô4E˜C×6Ñ6ô Eò>ò'ð )-ô 4ð
ð Ð ð ð	€
Ô ð $(°Tô <ð. '+°Tô Sðð Ð ð ð	€Ô ð2°TÀtô 2ð6 &*¸$ô ð8 ,0õ 4r!   