
    q-Ph                        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mZ ddlmZ e	r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CallableLiteraloverload)normalize_filepath)IOBase)SerializationFormat
serializerCallable[[IOBase | str], None]fileNoneformatLiteral['binary']returnbytesc                    d S N r   r   r   s      S/var/www/html/test/jupyter/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	   r
   polars._utils.variousr   r   polars._typingr   r   r   r   r   <module>r6      s'   - - " " " " " "                       = = = = = = = = = = = = 4 4 4 4 4 4 3222222 
   
 
   
 
   
     r   