
    bi!                       U d dl mZ d dlmZmZmZ d dlmZ d dlZd dl	Z	d dl
Z	d dlmZmZmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZmZ 	 d d	lmZ  ej>                  d
        ej>                  d        ej>                  d      Z  ej>                  d      Z! ej>                  d      Z" ej>                  d      Z#d$dZ$d%dZ%d%dZ& G d de      Z' G d de      Z( G d de      Z)d&dZ* ee*      Z+de,d<   d'dZ-ej\                  j_                  deeg      d        Z0d(dZ1d)d Z2d)d!Z3d(d"Z4d(d#Z5y# e$ r eZY w xY w)*    )annotations)HashableMappingSequence)AnyN)DaskMethodsMixindont_optimizetokenize)globalmethod)Delayeddelayed)DaskCollectionGraphHLGDaskCollectionKey
NestedKeysPostComputeCallablePostPersistCallable)DisplayObjectnumpypandasz
dask.arrayzdask.bagzdask.datasetszdask.dataframec                    | d   S )Nr    xs    Q/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/tests/test_typing.pyfinalizer   %   s    Q4K    c                D    t        j                  j                  | |fi |S N)daskthreadedgetdskkeyskwargss      r   get1r(   )   s    ==S$1&11r   c                0    t        j                  | |fi |S r    )r!   r#   r$   s      r   get2r*   -   s    88C(((r   c                      e Zd ZddZddZddZddZddZddZ e	e
j                  j                        Z eede      Zdd	Zdd
Z	 	 	 d	 	 	 	 	 	 	 	 	 ddZy)
Inheritingc                    || _         y r    based_onselfr/   s     r   __init__zInheriting.__init__2   	     r   c                6    | j                   j                         S r    r/   __dask_graph__r1   s    r   r6   zInheriting.__dask_graph__5       }}++--r   c                6    | j                   j                         S r    r/   __dask_keys__r7   s    r   r;   zInheriting.__dask_keys__8       }}**,,r   c                    t         dfS Nr   r   r7   s    r   __dask_postcompute__zInheriting.__dask_postcompute__;       |r   c                6    | j                   j                         S r    r/   __dask_postpersist__r7   s    r   rD   zInheriting.__dask_postpersist__>       }}1133r   c                ,    t        | j                        S r    r
   r/   r7   s    r   __dask_tokenize__zInheriting.__dask_tokenize__A       &&r   hlgcollection_optimkeyfalseyc                .    t        j                  | fi |S r    )r!   computer1   r'   s     r   rO   zInheriting.computeL   s    ||D+F++r   c                L    t         | j                  j                  di |      S r>   )r,   r/   persistrP   s     r   rR   zInheriting.persistO   s"    /$--//9&9::r   Nc                6    t        j                  | f|||d|S )N)filenameformatoptimize_graph)r!   	visualize)r1   rT   rU   rV   r'   s        r   rW   zInheriting.visualizeR   s0     ~~
)	

 
 	
r   r/   r   returnNonerY   r   rY   r   rY   z!tuple[PostComputeCallable, tuple]rY   z!tuple[PostPersistCallable, tuple]rY   r   )rY   r   )rY   r,   )mydaskNF)
rT   strrU   z
str | NonerV   boolr'   r   rY   zDisplayObject | None)__name__
__module____qualname__r2   r6   r;   r@   rD   rH   staticmethodr!   r"   r#   __dask_scheduler__r   r	   __dask_optimize__rO   rR   rW   r   r   r   r,   r,   1   s    !.-4' &dmm&7&78$!,;
 !!$	

 
 	

 
 

r   r,   c                  j    e Zd ZddZddZddZddZddZddZddZ	 e
e      Z eede	      Zy
)HLGCollectionc                    || _         y r    r.   r0   s     r   r2   zHLGCollection.__init__c   r3   r   c                6    | j                   j                         S r    r5   r7   s    r   r6   zHLGCollection.__dask_graph__f   r8   r   c                6    | j                   j                         S r    )r/   __dask_layers__r7   s    r   rn   zHLGCollection.__dask_layers__i   s    }},,..r   c                6    | j                   j                         S r    r:   r7   s    r   r;   zHLGCollection.__dask_keys__l   r<   r   c                    t         dfS r>   r?   r7   s    r   r@   z"HLGCollection.__dask_postcompute__o   rA   r   c                6    | j                   j                         S r    rC   r7   s    r   rD   z"HLGCollection.__dask_postpersist__r   rE   r   c                ,    t        | j                        S r    rG   r7   s    r   rH   zHLGCollection.__dask_tokenize__u   rI   r   rJ   rK   N)r/   r   rY   rZ   r[   )rY   zSequence[str]r\   r]   r^   r_   )rc   rd   re   r2   r6   rn   r;   r@   rD   rH   rf   r(   rg   r   r	   rh   r   r   r   rj   rj   b   sF    !./-4' &d+$!r   rj   c                  b    e Zd Zd
dZddZddZddZddZddZ e	e
      Z eede      Zy	)NotHLGCollectionc                    || _         y r    r.   r0   s     r   r2   zNotHLGCollection.__init__   r3   r   c                6    | j                   j                         S r    r5   r7   s    r   r6   zNotHLGCollection.__dask_graph__   r8   r   c                6    | j                   j                         S r    r:   r7   s    r   r;   zNotHLGCollection.__dask_keys__   r<   r   c                    t         dfS r>   r?   r7   s    r   r@   z%NotHLGCollection.__dask_postcompute__   rA   r   c                6    | j                   j                         S r    rC   r7   s    r   rD   z%NotHLGCollection.__dask_postpersist__   rE   r   c                ,    t        | j                        S r    rG   r7   s    r   rH   z"NotHLGCollection.__dask_tokenize__   rI   r   collection_optimrK   NrX   r[   r\   r]   r^   r_   )rc   rd   re   r2   r6   r;   r@   rD   rH   rf   r*   rg   r   r	   rh   r   r   r   rt   rt      sA    !.-4' &d+$r   rt   c                    | dz   S )N   r   r   s    r   
increment_r~      s    q5Lr   r   	incrementprotocolc                     t        | |      sJ y r    )
isinstance)collr   s     r   assert_isinstancer      s    dH%%%r   c                    t         j                  d      }t        j                  g dd      }t	        d      }t        ||        t        ||        t        ||        y )N
   )r}               r   )npartitions)daonesdbfrom_sequencer   r   )r   arrbagdobjs       r   test_isinstance_corer      sK    
''"+C


?

:CQ<Dc8$c8$dH%r   c                     t         j                  d      } t        |       }t        |       }t	        |t
              sJ t	        |t
              sJ t	        |t
              sJ t	        |t              rJ y )Nr   )r   r   rj   rt   r   r   r   )ahlgcnhlgcs      r   test_isinstance_customr      sg    
ADQEdN+++e^,,,e^,,,%!23333r   c                "    | j                         S r    rO   r   s    r   rO   rO          <<>r   c                "    | j                         S r    r   r   s    r   compute2r      r   r   c                 d   ddl m}  t        d      }t        |      }t	        |      dk(  sJ t        |      dk(  sJ t        d      }t	        |      dk(  sJ t        |      dk(  sJ t        j                  d      }t	        |      j                  dk(  sJ t        |      j                  dk(  sJ y )Nr   )Arrayr   r   r   r   )r   )	
dask.arrayr   r   rj   rO   r   r   r   shape)r   r   r   darrays        r   test_parameter_passingr      s     1AD4=AD>Q1A1:??A;!772;E5>5(((E?  E)))r   c                 P    t        t        d            } t        | t               sJ y )Nr   )r,   r   r   )
inheritings    r   test_inheriting_classr      s     '	!5Jj*---r   )r   zSequence[Any]rY   r   )r%   r   r&   zSequence[Key] | Keyr'   r   rY   r   )r   intrY   r   )r   r   r   r   rY   rZ   )rY   rZ   )r   r   rY   r   )6
__future__r   collections.abcr   r   r   typingr   pytestr!   dask.threaded	dask.baser   r	   r
   dask.contextr   dask.delayedr   r   dask.typingr   r   r   r   r   r   r   IPython.displayr   ImportErrorimportorskipr   r   ddsddr   r(   r*   r,   rj   rt   r~   r   __annotations__r   markparametrizer   r   rO   r   r   r   r   r   r   <module>r      sU   " 7 7     ? ? % )  -
   G    H V&V$f/*V)*2).
 .
b$ >' 8 Z(	7 (& n6G%HI& J&	4*".  Ms   D< <EE