
    iLD              
         U d dl mZ d dlmZmZmZmZmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZmZ erZd 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 d d	lmZ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* d dl+m,Z,m-Z-m.Z.m/Z/ d dl0m1Z1 d dl2m3Z3  G d de      Z4 G d de      Z5 G d de      Z6 G d de      Z7 G d de      Z8 G d de      Z9 G d de      Z: G d de      Z; G d  d!e      Z< G d" d#e      Z= G d$ d%e      Z>ed&   Z?d'e@d(<   eeAd)   d)f   ZBd'e@d*<   eeAd+   d+f   ZCd'e@d,<   e?ee?   z  ZDd'e@d-<   eAeE   eAeF   z  eAeG   z  eAeH   z  eAd.   z  eAd/   z  eAd0   z  eAd1   z  eAeIe      z  eAeJed2f      z  eAeK   z  eAeL   z  eAd3   z  eAd4   z  ZMd'e@d5<   eeHe?eMz  d4z  f   eeHeJeHe?eMz  d4z  f   z     z  ZNd'e@d6<   eeHe?f   ZOd'e@d7<   eeEeFd3f   ZPd'e@d8<   ed9   ZQd'e@d:<   ePeQz  eHz  eGz  eKz  ZRd'e@d;<   eeRd<eIe   f   ZSd'e@d=<   ed>d?eHf   ZTd'e@d@<   eSeTz  d4z  ZUd'e@dA<   edB   ZVd'e@dC<   edD   ZWd'e@dE<   dFZXd'e@dG<   edHeXf   ZYd'e@dI<   edJ   ZZd'e@dK<   edL   Z[d'e@dM<   edN   Z\d'e@dO<   edP   Z]d'e@dQ<   edR   Z^d'e@dS<   edT   Z_d'e@dU<   eJedV   ef   Z`d'e@dW<   eJedX   eaeEed?eHf   f   f   Zbd'e@dY<   eJedZ   eaeEeIeH   f   f   eJed[   ed\gd\f   f   z  Zcd'e@d]<   ed^   Zdd'e@d_<   ed`   Zed'e@da<   edb   Zfd'e@dc<   edd   Zgd'e@de<   edf   Zhd'e@dg<   edh   Zid'e@di<   edj   Zjd'e@dk<   edR   Zkd'e@dl<   edm   Zld'e@dn<   edo   Zmd'e@dp<   edq   Znd'e@dr<   eds   Zod'e@dt<   edu   Zpd'e@dv<   edw   Zqd'e@dx<   edy   Zrd'e@dz<   ed{   Zsd'e@d|<   ed}   Ztd'e@d~<   ed   Zud'e@d<   ed   Zvd'e@d<   ed   Zwd'e@d<   ed   Zxd'e@d<   ed   Zyd'e@d<   ed   Zzd'e@d<   ed   Z{d'e@d<   ed   Z|d'e@d<   ed   Z}d'e@d<   ed   Z~d'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   ed   Zd'e@d<   eee   d?dddd!d#ddf	   Zd'e@d<   eeeHeeRz  d4z  f   ee   e7e:e;dde>d\f	   Zd'e@d<   eeYeJeYd2f   z  eHeeHeHf   z  f   Zd'e@d<   eeYeeH   z  eHeeHef   z  eeHeeHef   z     z  f   Zd'e@d<   eeYeJeY   z  eHf   eeH   z  eGz  Zd'e@d<   eeYeJeHd2f   eEz  f   eEz  Zd'e@d<   eeHeHeeH   z  f   eeH   z  eGz  Zd'e@d<   ed   Zd'e@d<    edd\dd?d>      Z edd\d      ZeJeEeEeEf   Zd'e@d<   ed   Zd'e@d<    G dĄ de      Z G dƄ de      Z G dȄ de      Z G dʄ de      Zed   Zd'e@d<   ed	   Zd'e@d<   eez  ez  ez  ez  Zd'e@d<   eEZd'e@d<   eeeeeE   d?d<f   Zd'e@d<   eHZd'e@d<   eeeeH   d?d<f   Zd'e@d<   eeeG   d?d<f   Zd'e@d<   eez  Zd'e@d<   eez  ez  Zd'e@d<   eed   df   Zd'e@d<   ed   Zd'e@d<   eHe	z  eeK   z  eKz  eIeH   z  eIe	   z  eIeeK      z  eIeK   z  Zd'e@d<   eegeKf   eegeHf   z  Zed   Zd'e@d<   g dߢZ G d d      ZeegeaeHeHf   f   Zd'e@d<   eaeHeHf   ez  Zd'e@d<   eaeHef   Zd'e@d<   y4)    )annotations)Callable
CollectionIterableMappingSequence)Path)IOTYPE_CHECKINGAnyLiteralProtocol	TypedDictTypeVarUnion)datedatetimetime	timedelta)Decimal)	TypeAlias)
ConnectionEngine)AsyncConnectionAsyncEngineAsyncSession)Session)	DataFrameExpr	LazyFrameSeries)numpy)DataTypeDataTypeClassIntegerTypeTemporalType)	GPUEngine)Selectorc                  "    e Zd ZdZ	 d	 	 	 ddZy)ArrowArrayExportablezGType protocol for Arrow C Data Interface via Arrow PyCapsule Interface.Nc                     y N selfrequested_schemas     G/home/work/apex_v16/venv/lib/python3.12/site-packages/polars/_typing.py__arrow_c_array__z&ArrowArrayExportable.__arrow_c_array__#   s     #    r,   )r0   object | Nonereturnztuple[object, object])__name__
__module____qualname____doc__r2   r-   r3   r1   r*   r*       s    Q 15$ -$	$r3   r*   c                      e Zd ZdZdddZy)ArrowStreamExportablezIType protocol for Arrow C Stream Interface via Arrow PyCapsule Interface.Nc                     y r,   r-   r.   s     r1   __arrow_c_stream__z(ArrowStreamExportable.__arrow_c_stream__+       r3   r,   )r0   r4   r5   object)r6   r7   r8   r9   r=   r-   r3   r1   r;   r;   (   s    SWr3   r;   c                      e Zd ZdZddZy)ArrowSchemaExportablezIType protocol for Arrow C Schema Interface via Arrow PyCapsule Interface.c                     y r,   r-   )r/   s    r1   __arrow_c_schema__z(ArrowSchemaExportable.__arrow_c_schema__1   r>   r3   N)r5   r?   )r6   r7   r8   r9   rC   r-   r3   r1   rA   rA   .   s    S/r3   rA   c                  8    e Zd ZdZddZddZddZddZddZy)	
NumpyArrayz?Protocol to match NumPy Arrays without needing NumPy installed.c                     y r,   r-   r/   argskwargss      r1   byteswapzNumpyArray.byteswap7   r>   r3   c                     y r,   r-   rG   s      r1   	conjugatezNumpyArray.conjugate8   r>   r3   c                     y r,   r-   rG   s      r1   ravelzNumpyArray.ravel9   r>   r3   c                     y r,   r-   rG   s      r1   searchsortedzNumpyArray.searchsorted:   r>   r3   c                     y r,   r-   rG   s      r1   swapaxeszNumpyArray.swapaxes;   r>   r3   NrH   r   rI   r   r5   r   )	r6   r7   r8   r9   rJ   rL   rN   rP   rR   r-   r3   r1   rE   rE   4   s    I=>:A=r3   rE   c                       e Zd ZdZddZddZy)PyArrowArrayz
    Protocol to match PyArrow arrays without needing PyArrow installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   bufferszPyArrowArray.buffersE   r>   r3   c                     y r,   r-   rG   s      r1   tolistzPyArrowArray.tolistF   r>   r3   NrS   )r6   r7   r8   r9   rW   rY   r-   r3   r1   rU   rU   >   s     =;r3   rU   c                      e Zd ZdZddZy)PyArrowChunkedArrayz
    Protocol to match PyArrow chunked arrays without needing PyArrow installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   
iterchunkszPyArrowChunkedArray.iterchunksP   r>   r3   NrS   )r6   r7   r8   r9   r]   r-   r3   r1   r[   r[   I   s     @r3   r[   c                  @    e Zd ZdZd	dZd	dZd	dZd	dZd	dZd	dZ	y)
PyArrowTablez
    Protocol to match PyArrow tables without needing PyArrow installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   filterzPyArrowTable.filterZ   r>   r3   c                     y r,   r-   rG   s      r1   group_byzPyArrowTable.group_by[   r>   r3   c                     y r,   r-   rG   s      r1   
add_columnzPyArrowTable.add_column\   r>   r3   c                     y r,   r-   rG   s      r1   remove_columnzPyArrowTable.remove_column]   r>   r3   c                     y r,   r-   rG   s      r1   takezPyArrowTable.take^   r>   r3   c                     y r,   r-   rG   s      r1   	to_pandaszPyArrowTable.to_pandas_   r>   r3   NrS   )
r6   r7   r8   r9   ra   rc   re   rg   ri   rk   r-   r3   r1   r_   r_   S   s     <=?B9>r3   r_   c                  0    e Zd ZdZddZddZddZddZy)PandasDataFramez
    Protocol to match pandas dataframes without needing pandas-stubs installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   wherezPandasDataFrame.wherei   r>   r3   c                     y r,   r-   rG   s      r1   groupbyzPandasDataFrame.groupbyj   r>   r3   c                     y r,   r-   rG   s      r1   unstackzPandasDataFrame.unstackk   r>   r3   c                     y r,   r-   rG   s      r1   pivot_tablezPandasDataFrame.pivot_tablel   r>   r3   NrS   )r6   r7   r8   r9   ro   rq   rs   ru   r-   r3   r1   rm   rm   b   s     ;<<@r3   rm   c                       e Zd ZdZddZddZy)PandasSeriesz
    Protocol to match pandas series without needing pandas-stubs installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   to_framezPandasSeries.to_framev   r>   r3   c                     y r,   r-   rG   s      r1   isnazPandasSeries.isnaw   r>   r3   NrS   )r6   r7   r8   r9   ry   r{   r-   r3   r1   rw   rw   o   s     >9r3   rw   c                       e Zd ZdZddZddZy)PandasIndexz
    Protocol to match pandas indexes without needing pandas-stubs installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   	to_serieszPandasIndex.to_series   r>   r3   c                     y r,   r-   rG   s      r1   r{   zPandasIndex.isna   r>   r3   NrS   )r6   r7   r8   r9   r   r{   r-   r3   r1   r}   r}   z   s     ?9r3   r}   c                       e Zd ZdZddZddZy)TorchTensorz
    Protocol to match PyTorch tensors without needing PyTorch installed.

    Only use for function arguments, not return types.
    c                     y r,   r-   rG   s      r1   cudazTorchTensor.cuda   r>   r3   c                     y r,   r-   rG   s      r1   backwardzTorchTensor.backward   r>   r3   NrS   )r6   r7   r8   r9   r   r   r-   r3   r1   r   r      s     :=r3   r   )r$   r#   r   PolarsDataTyper&   PolarsTemporalTyper%   PolarsIntegerTypeOneOrMoreDataTypesr   r   r   r   .r   NPythonDataTypeSchemaDefinition
SchemaDictNumericLiteral)r   r   r   r   TemporalLiteralNonNestedLiteralznp.ndarray[Any, Any]PythonLiteralr   r!   IntoExprColumnIntoExpr)eqneqgtltgt_eqlt_eqComparisonOperator)leftcenterrightLEFTCENTERRIGHT	Alignmentr(   SelectorTypestrColumnNameOrSelector)earliestlatestraisenull	Ambiguous)uncompressedsnappydeflateAvroCompression)	necessaryalwaysnon_numericneverCsvQuoteStyle)physicallexicalCategoricalOrdering)r   gzipzstdCsvCompression)utf8z
utf8-lossyCsvEncodingziceberg-column-mappingColumnMappingicebergDefaultFieldValuesziceberg-position-deletezdelta-deletion-vectorr   DeletionFiles)forwardr   minmaxmeanzerooneFillNullStrategy)fullmixedFloatFmt)cfortran
IndexOrder)r   lz4r   IpcCompression)zm:mzm:1z1:mz1:1JoinValidation)r   r   	datapointLabel)noner   r   
left_right
right_leftMaintainOrderJoinNdjsonCompression)r   r   NonExistent)ignoredropNullBehavior)autocolumns
row_groupsprefilteredr   ParallelStrategy)r   r   r   r   brotlir   ParquetCompression)	r   r   firstlastsumr   medianlenitemPivotAgg)nearesthigherlowermidpointlinearequiprobableQuantileMethod)averager   r   denseordinalrandom
RankMethod)r   r   r   Roll)half_to_evenhalf_away_from_zeroto_zero	RoundMode)binaryjsonSerializationFormat)littlebig
Endianness)
bkbmbgbtbbytes	kilobytes	megabytes	gigabytes	terabytesSizeUnit)	windowr   mondaytuesday	wednesdaythursdayfridaysaturdaysundayStartBy)dataallSyncOnCloseMethod)nsusmsTimeUnit)NFCNFKCNFDNFKDUnicodeForm)r   r   anyr   UniqueKeepStrategy)vertical
horizontalUnstackDirection)thread_local	threadingMapElementsStrategy)r   r   r   AsofJoinStrategy)r   r   bothr   ClosedInterval)r   r   InterpolationMethod)innerr   r   r   semianticrossouterJoinStrategy)first_non_null	max_widthListToStructWidthStrategy)
r!  vertical_relaxeddiagonaldiagonal_relaxedr"  align
align_fullalign_inner
align_leftalign_right)pearsonspearmanCorrelationMethod)adbc
connectorxDbReadEngine)
sqlalchemyr?  DbWriteEngine)replaceappendfailDbWriteMode)r  r  r  sd)arraydictJaxExportType)colrowOrientation)r  r   r   SearchSortedSide)tensordatasetrK  TorchExportType)hexbase64TransferEncoding)group_to_rowsjoinexplodeWindowMappingStrategy)plaintreeExplainFormat	ArrayLikeFrameInitTypesColumnFormatDictConditionalFormatDictColumnTotalsDefinitionColumnWidthsDefinitionRowTotalsDefinition)fastbalanced	expensiveParametricProfileNames
PolarsTyper    	FrameType
BufferInfo)calamineopenpyxlxlsx2csvExcelSpreadsheetEnginec                  0    e Zd ZU dZded<   ded<   ded<   y)SeriesBufferszUnderlying buffers of a Series.r!   valueszSeries | NonevalidityoffsetsN)r6   r7   r8   r9   __annotations__r-   r3   r1   rq  rq  p  s    )Nr3   rq  c                      e Zd ZddZy)BasicConnectionc                     y)zReturn a cursor object.Nr-   rG   s      r1   cursorzBasicConnection.cursor{  r>   r3   NrS   )r6   r7   r8   ry  r-   r3   r1   rw  rw  z  s    &r3   rw  c                      e Zd ZddZy)BasicCursorc                     y)zExecute a query.Nr-   rG   s      r1   executezBasicCursor.execute  r>   r3   NrS   )r6   r7   r8   r}  r-   r3   r1   r{  r{    s    r3   r{  c                      e Zd ZddZddZy)Cursorc                     y)zFetch all results.Nr-   rG   s      r1   fetchallzCursor.fetchall  r>   r3   c                     y)zFetch results in batches.Nr-   rG   s      r1   	fetchmanyzCursor.fetchmany  r>   r3   NrS   )r6   r7   r8   r  r  r-   r3   r1   r  r    s    !(r3   r  )r   r   r   AlchemyConnectionAlchemyAsyncConnectionConnectionOrCursorSingleIndexSelectorMultiIndexSelectorSingleNameSelectorMultiNameSelectorBooleanMaskSingleColSelectorMultiColSelector)r   z	in-memory	streaminggpur'   
EngineType)irr   	PlanStage
FileSource)functionrenamed_parameterstreaming_parameternonkeyword_argumentsparameter_as_multi_positionalDeprecationType)]r   r   r*   r;   r'  r   r  rk  r   r)  r`  r   rb  rc  r   ConcatMethodra  r  r>  r   r   r  rA  rC  rG  r  r   r  EpochTimeUnitro  r]  r  r   r   r_  rj  r   r*  r   r   r   JSONEncoderrL  r0  r   r   r3  r   r&  r  r  r  r   r   r   r   r   r   rO  r   rh  r   r   r   r   r   ri  r   r   r   r   r   rd  r   r   rP  r   r   rq  r  r  r  r	  r  r  r   r  rS  rV  r  r   r#  rZ  c                  $    e Zd ZU dZddZded<   y)ParquetMetadataContextz
    The context given when writing file-level parquet metadata.

    .. warning::
        This functionality is considered **experimental**. It may be removed or
        changed at any point without it being considered a breaking change.
    arrow_schemar   c                   || _         y r,   )r  )r/   r  s     r1   __init__zParquetMetadataContext.__init__3  s
    (r3   N)r  r   r5   None)r6   r7   r8   r9   r  ru  r-   r3   r1   r  r  *  s    ) r3   r  ParquetMetadataFnParquetMetadataStorageOptionsDict)
__future__r   collections.abcr   r   r   r   r   pathlibr	   typingr
   r   r   r   r   r   r   r   r   r   r   r   decimalr   r   sqlalchemy.enginer   r   sqlalchemy.ext.asyncior   r   r   sqlalchemy.ormr   polarsr   r   r    r!   polars._dependenciesr"   nppolars.datatypesr#   r$   r%   r&   polars.lazyframe.engine_configr'   polars.selectorsr(   r*   r;   rA   rE   rU   r[   r_   rm   rw   r}   r   r   ru  typer   r   r   intfloatboolr   listtupler  r?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rK  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*  r0  r3  r  r>  rA  rC  rG  r  rL  rO  rP  rS  rV  rZ  r]  r^  r_  r`  ra  rb  rc  rd  rh  ri  rj  rk  ro  rq  rw  r{  r  r  r  r  r  sliceranger  r  r  r  r  r  r  r  r  r  r  __all__r  r  r  r  r-   r3   r1   <module>r     s   " M M 	 	 	 88 4QQ&990SS8)$8 $XH X0H 0> ><8 <@( @?8 ?
Ah 
A:8 ::( :>( > ""=>	 > %d>&:N&J K I K$T-%8-%GH 9 H ..1I I I II
5k
4j 3i 6l	
 6l : ; 49o 5c?	 5k
 6l 9o 4j 	 $ C.04778sU3 ?$ FFGGHI )   ^ 34
I 4!#ui"78	 8"#JK K,>DtKeS ) S !13I4PS9!TUy U!&(C"78	 8#n4t;) ; '(Q R I RST	9 T %i $"'|(;"< i < DE	9 E$%HI I"#PQy Q!()>!? Y ?#$BC	 C !56Y 6 $% 	y  !&IS%#"6677! I  
'+
,d3S	>.B
BCG+,h}k7Q.RRST y  &> )  o.) ./
I /#$AB	 B#$>?	 ?78y 8&7  9   ''EF 9 F 1Y 1!"23i 3%: )  !(=! I  I)  $F	    UV
I V89i 9OP	9 P!()9!: Y :0
I 0	)  
 
  '}5 9 5./) / !=>Y > '(F G I G%&>? ) ?!()D!E Y E &&FG ) G#$CD	 D!()<!= Y =!Fi  (//L'M 9 M 	  ''<= 9 =!"67i 7"#78y 8 !<=Y =23"?3y 3 .Y .%&<= ) =$%@A A%o6 ) 6#*+M#N y N"?3y 3 SM
	9 
 "C--445SM
	 
 &5!5s!:;;'#s(
 ) 
 $+:c?*'#s(
hsWS#X->'>??A$ y   5)=#>>CDsm
 	   %S/C"7783> 	  Cz#&&'*S/9D@ Y 
 %,,K$L 	 L \;XvN
Kk:	c3m,
I , %,,N$O 	 OI &h &
( 
([ (  %%FG 9 G$)4% 	  k!F*->>AWW I 
 "% Y $ %		SM	! I  !$ I #$	SM  9  TNY 
  35GG 9 G03DD{R ) R 34kA
I  /0	9 0 
i  3i	
 4j 2e9o 5k I 	 ue|$xs
';;$% ^B   ()?(@$sCx.(PQ 9 Q!#s(^.?? ? $S#X I .r3   