
    Mh                    H   S r SSKJr  SSKrSSKJrJr  SSKrSSKJ	r
  SSKJr  SSKJr  SSKJr  \(       a  SS	KJrJrJrJrJr  SS
KJrJr  \" \S   \S   S-  S9S\R4                  S4           SS jj5       r\" \S   \S   S-  S9  S       SS jj5       rg)zpickle compat     )annotationsN)TYPE_CHECKINGAny)pickle_compat)doc)_shared_docs)
get_handle)CompressionOptionsFilePathReadPickleBufferStorageOptionsWriteBuffer)	DataFrameSeriesstorage_optionscompression_optionsfilepath_or_buffer)r   r   inferc                    US:  a  [         R                  n[        USUSUS9 n[         R                  " XR                  US9  SSS5        g! , (       d  f       g= f)a}  
Pickle (serialize) object to file.

Parameters
----------
obj : any object
    Any python object.
filepath_or_buffer : str, path object, or file-like object
    String, path object (implementing ``os.PathLike[str]``), or file-like
    object implementing a binary ``write()`` function.
    Also accepts URL. URL has to be of S3 or GCS.
{compression_options}

    .. versionchanged:: 1.4.0 Zstandard support.

protocol : int
    Int which indicates which protocol should be used by the pickler,
    default HIGHEST_PROTOCOL (see [1], paragraph 12.1.2). The possible
    values for this parameter depend on the version of Python. For Python
    2.x, possible values are 0, 1, 2. For Python>=3.0, 3 is a valid value.
    For Python >= 3.4, 4 is a valid value. A negative value for the
    protocol parameter is equivalent to setting its value to
    HIGHEST_PROTOCOL.

{storage_options}

    .. [1] https://docs.python.org/3/library/pickle.html

See Also
--------
read_pickle : Load pickled pandas object (or any object) from file.
DataFrame.to_hdf : Write DataFrame to an HDF5 file.
DataFrame.to_sql : Write DataFrame to a SQL database.
DataFrame.to_parquet : Write a DataFrame to the binary parquet format.

Examples
--------
>>> original_df = pd.DataFrame({{"foo": range(5), "bar": range(5, 10)}})  # doctest: +SKIP
>>> original_df  # doctest: +SKIP
   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9
>>> pd.to_pickle(original_df, "./dummy.pkl")  # doctest: +SKIP

>>> unpickled_df = pd.read_pickle("./dummy.pkl")  # doctest: +SKIP
>>> unpickled_df  # doctest: +SKIP
   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9
r   wbFcompressionis_textr   )protocolN)pickleHIGHEST_PROTOCOLr	   dumphandle)objr   r   r   r   handless         B/var/www/html/env/lib/python3.13/site-packages/pandas/io/pickle.py	to_pickler"   !   sU    F !|**	'
 
C(;
 
 
s    A
Adecompression_options)r   r#   c                B   [         [        [        [        4n[	        U SUSUS9 n  [
        R                  " SS9   [
        R                  " S[        5        [        R                  " UR                  5      sSSS5        sSSS5        $ ! , (       d  f       Oo= f! U a+    [        R                  " UR                  SS9s sSSS5        $ f = f! [         a+    [        R                  " UR                  S	S9s sSSS5        $ f = f SSS5        g! , (       d  f       g= f)
a  
Load pickled pandas object (or any object) from file.

.. warning::

   Loading pickled data received from untrusted sources can be
   unsafe. See `here <https://docs.python.org/3/library/pickle.html>`__.

Parameters
----------
filepath_or_buffer : str, path object, or file-like object
    String, path object (implementing ``os.PathLike[str]``), or file-like
    object implementing a binary ``readlines()`` function.
    Also accepts URL. URL is not limited to S3 and GCS.

{decompression_options}

    .. versionchanged:: 1.4.0 Zstandard support.

{storage_options}

Returns
-------
same type as object stored in file

See Also
--------
DataFrame.to_pickle : Pickle (serialize) DataFrame object to file.
Series.to_pickle : Pickle (serialize) Series object to file.
read_hdf : Read HDF5 file into a DataFrame.
read_sql : Read SQL query or database table into a DataFrame.
read_parquet : Load a parquet object, returning a DataFrame.

Notes
-----
read_pickle is only guaranteed to be backwards compatible to pandas 0.20.3
provided the object was serialized with to_pickle.

Examples
--------
>>> original_df = pd.DataFrame(
...     {{"foo": range(5), "bar": range(5, 10)}}
...    )  # doctest: +SKIP
>>> original_df  # doctest: +SKIP
   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9
>>> pd.to_pickle(original_df, "./dummy.pkl")  # doctest: +SKIP

>>> unpickled_df = pd.read_pickle("./dummy.pkl")  # doctest: +SKIP
>>> unpickled_df  # doctest: +SKIP
   foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9
rbFr   T)recordignoreN)encodingzlatin-1)AttributeErrorImportErrorModuleNotFoundError	TypeErrorr	   warningscatch_warningssimplefilterWarningr   loadr   pcUnicodeDecodeError)r   r   r   excs_to_catchr    s        r!   read_pickler5   r   s    L $[2EyQM	'
 

	?	>,,D9))(G<!;;w~~6 :9
 
 :9 ! > www~~==-
 
$>
 " 	?777>>I>>3
 
.	? :
 
 
sc   DB;B	6	B	
B	BDB%C?C
CC)D7DDD
D)r   r   r   zFilePath | WriteBuffer[bytes]r   r
   r   intr   StorageOptions | NonereturnNone)r   N)r   zFilePath | ReadPickleBufferr   r
   r   r7   r8   zDataFrame | Series)__doc__
__future__r   r   typingr   r   r-   pandas.compatr   r2   pandas.util._decoratorsr   pandas.core.shared_docsr   pandas.io.commonr	   pandas._typingr
   r   r   r   r   pandasr   r   r   r"   r5        r!   <module>rE      s    "   - ' 0 '   !23$%:;>RR '.++-1J<	J<5J< $J< 	J<
 +J< 
J<	J<Z  !23&'>?BVV '.-1\?3\?#\? +\? 	\?	\?rD   