
    j"                        d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZ ddlmZ e	rddlmZ ddlmZ dd	lmZ edd            Zedd            Zedd            Zd dZdS )!z'Utility for serializing Polars objects.    )annotations)BytesIOStringIO)Path)TYPE_CHECKINGLiteraloverload)normalize_filepath)Callable)IOBase)SerializationFormat
serializerCallable[[IOBase | str], None]fileNoneformatLiteral['binary']returnbytesc                    d S N r   r   r   s      X/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/polars/_utils/serde.pyserialize_polars_objectr      s	     C    Literal['json']strc                    d S r   r   r   s      r   r   r      s	     #r   IOBase | str | Pathr   c                    d S r   r   r   s      r   r   r      s	    
 3r   IOBase | str | Path | Nonebytes | str | Nonec                    d fd}|& |            }|dk    r|                                 n|S t          |t                    r3 |                                             }|                    |           dS t          |t                    r! |            }|                    |           dS t          |t
          t          f          rt          |          }  |           dS   |           dS )z5Serialize a Polars object (DataFrame/LazyFrame/Expr).r   r   c                     t                      5 }  |            |                                 }d d d            n# 1 swxY w Y   |S r   )r   getvalue)buf
serializedr   s     r   serialize_to_bytesz3serialize_polars_object.<locals>.serialize_to_bytes)   s    YY 	(#JsOOOJ	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( s    <A A Njson)r   r   )decode
isinstancer   writer   r   r   r
   )r   r   r   r)   r(   serialized_strs   `     r   r   r   "   s         |''))
&,&6&6z  """JF	D(	#	# ++--4466

>"""t	D'	"	" 
''))


:t	D3+	&	& !$''
4t
4tr   N)r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r    r   r   r   r   )r   r   r   r"   r   r   r   r#   )__doc__
__future__r   ior   r   pathlibr   typingr   r   r	   polars._utils.variousr
   collections.abcr   r   polars._typingr   r   r   r   r   <module>r7      s3   - - " " " " " "                       3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 3((((((222222 
   
 
   
 
   
     r   