o
    i                     @  s   d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZmZ ddlmZ dd	lmZ eed
 d	ddddZeed
 d			d d!ddZdS )"z feather-format compat     )annotations)HashableSequence)FilePath
ReadBufferStorageOptionsWriteBuffer)import_optional_dependency)doc)	DataFrame
Int64Index
RangeIndex)_shared_docs)
get_handlestorage_options)r   Ndfr   pathFilePath | WriteBuffer[bytes]r   returnNonec                 K  s   t d ddlm} t| tstdddh}t| jttfs,t	| j}td| d| j
ttt| s=td	| jjd
urGtd| jj|vrQtdt|d|dd}|j| |jfi | W d
   d
S 1 spw   Y  d
S )aK  
    Write a DataFrame to the binary Feather format.

    Parameters
    ----------
    df : DataFrame
    path : str, path object, or file-like object
    {storage_options}

        .. versionadded:: 1.2.0

    **kwargs :
        Additional keywords passed to `pyarrow.feather.write_feather`.

        .. versionadded:: 1.1.0
    pyarrowr   featherz'feather only support IO with DataFramesstringunicodez%feather does not support serializing zG for the index; you can .reset_index() to make the index into column(s)zfeather does not support serializing a non-default index for the index; you can .reset_index() to make the index into column(s)Nz=feather does not serialize index meta-data on a default indexz%feather must have string column nameswbFr   is_text)r	   r   r   
isinstancer   
ValueErrorindexr   r   typeequals
from_rangerangelennamecolumnsinferred_typer   write_featherhandle)r   r   r   kwargsr   valid_typestyphandles r/   S/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/io/feather_format.py
to_feather   s4   


"r1   TFilePath | ReadBuffer[bytes]r'   Sequence[Hashable] | Noneuse_threadsboolc                 C  s^   t d ddlm} t| d|dd}|j|j|t|dW  d   S 1 s(w   Y  dS )	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}

        .. versionadded:: 1.2.0

    Returns
    -------
    type of object stored in file
    r   r   r   rbFr   )r'   r4   N)r	   r   r   r   read_featherr*   r5   )r   r'   r4   r   r   r.   r/   r/   r0   r7   `   s   $r7   )N)r   r   r   r   r   r   r   r   )NTN)r   r2   r'   r3   r4   r5   r   r   )__doc__
__future__r   typingr   r   pandas._typingr   r   r   r   pandas.compat._optionalr	   pandas.util._decoratorsr
   pandas.core.apir   r   r   pandas.core.shared_docsr   pandas.io.commonr   r1   r7   r/   r/   r/   r0   <module>   s"    C