
    Eg[                    ^   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ dd	lZdd
lmZ ddlmZ ddlmZ ddlmZ erddlmZmZ ddlmZmZm Z m!Z!m"Z"  eed         	 d	 	 	 	 	 	 	 	 	 dd       Z# eed         d	dd	e	jH                  f	 	 	 	 	 	 	 	 	 	 	 dd       Z%y	)z feather-format compat     )annotations)TYPE_CHECKINGAny)using_pyarrow_string_dtype)lib)import_optional_dependency)doc)check_dtype_backendN)	DataFrame)_shared_docs)arrow_string_types_mapper)
get_handle)HashableSequence)DtypeBackendFilePath
ReadBufferStorageOptionsWriteBufferstorage_options)r   c                    t        d       ddlm} t        | t              st        d      t        |d|d      5 } |j                  | |j                  fi | ddd       y# 1 sw Y   yxY w)	a	  
    Write a DataFrame to the binary Feather format.

    Parameters
    ----------
    df : DataFrame
    path : str, path object, or file-like object
    {storage_options}
    **kwargs :
        Additional keywords passed to `pyarrow.feather.write_feather`.

    pyarrowr   featherz'feather only support IO with DataFrameswbFr   is_textN)	r   r   r   
isinstancer   
ValueErrorr   write_featherhandle)dfpathr   kwargsr   handless         K/var/www/html/venv/lib/python3.12/site-packages/pandas/io/feather_format.py
to_featherr'   &   si    & y)b)$BCC	dOU
 <	b'..;F;< < <s   A$$A-Tc                   t        d       ddlm} ddl}t	        |       t        | d|d      5 }|t        j                  u r:t               s0|j                  |j                  |t        |            cddd       S |j                  |j                  |t        |            }|d	k(  r0dd
lm}	 |j                   |	       j                         cddd       S |dk(  r)|j                  t"        j$                        cddd       S t               r#|j                  t'                     cddd       S t(        # 1 sw Y   yxY w)a  
    Load a feather-format object from the file path.

    Parameters
    ----------
    path : str, path object, or file-like object
        String, path object (implementing ``os.PathLike[str]``), or file-like
        object implementing a binary ``read()`` function. The string could be a URL.
        Valid URL schemes include http, ftp, s3, and file. For file URLs, a host is
        expected. A local file could be: ``file://localhost/path/to/table.feather``.
    columns : sequence, default None
        If not provided, all columns are read.
    use_threads : bool, default True
        Whether to parallelize reading using multiple threads.
    {storage_options}

    dtype_backend : {{'numpy_nullable', 'pyarrow'}}, default 'numpy_nullable'
        Back-end data type applied to the resultant :class:`DataFrame`
        (still experimental). Behaviour is as follows:

        * ``"numpy_nullable"``: returns nullable-dtype-backed :class:`DataFrame`
          (default).
        * ``"pyarrow"``: returns pyarrow-backed nullable :class:`ArrowDtype`
          DataFrame.

        .. versionadded:: 2.0

    Returns
    -------
    type of object stored in file

    Examples
    --------
    >>> df = pd.read_feather("path/to/file.feather")  # doctest: +SKIP
    r   r   r   NrbFr   )columnsuse_threadsnumpy_nullable)_arrow_dtype_mapping)types_mapper)r   r   r   (pandas.core.arrays.arrow.extension_typesr
   r   r   
no_defaultr   read_featherr!   bool
read_tablepandas.io._utilr-   	to_pandasgetpd
ArrowDtyper   NotImplementedError)
r#   r*   r+   r   dtype_backendr   pandasr%   pa_tabler-   s
             r&   r1   r1   E   s2   V y) 4&	dOU
 &	CNN*3M3O''T+=N ( 	& & %%NNGk9J & 
 ,,<%%3G3I3M3M%N& &" i'%%2==%A%& &( ()%%3L3N%O+& &. &%/& &s%   AD:=AD:$D:#D:4D::E)N)
r"   r   r#   zFilePath | WriteBuffer[bytes]r   StorageOptions | Noner$   r   returnNone)r#   zFilePath | ReadBuffer[bytes]r*   zSequence[Hashable] | Noner+   r2   r   r=   r:   zDtypeBackend | lib.NoDefaultr>   r   )&__doc__
__future__r   typingr   r   pandas._configr   pandas._libsr   pandas.compat._optionalr   pandas.util._decoratorsr	   pandas.util._validatorsr
   r;   r7   pandas.core.apir   pandas.core.shared_docsr   r4   r   pandas.io.commonr   collections.abcr   r   pandas._typingr   r   r   r   r   r'   r0   r1        r&   <module>rO      s    "
 6  > ' 7  % 0 5 '
  \"345 .2<<
'< +< 	<
 
< 6<< \"345 *.-125..I&
&I&&I& I& +	I&
 0I& I& 6I&rN   