
    bib                    `   d dl mZ d dlZd dlmZmZmZmZ d dlmZ d dl	Z
d dlZd dlmZ d dlZd dlmZ  ej&                  d      Zd dlmZ ej0                  d        Zej4                  Z ej0                  ee      d	        Zd
 Zej>                  jA                  dddg      d        Z!d Z"y)    )annotationsN)datedatetimetime	timedelta)Decimal)get_string_dtypepyarrowc           
        | j                   }t        j                  j                  |      rddgdz  d gz   ddgdz  z   d gz   ddgz   }nt        j                  j	                  |      rddgdz  d gz   ddgdz  z   d gz   d	d
gz   }n^t        j                  j                  |      rddgdz  d gz   ddgdz  z   d gz   ddgz   }n!t        j                  j                  |      rddgdz  d gz   ddgdz  z   d gz   ddgz   }nt        j                  j                  |      rTt        d      t        d      gdz  d gz   t        d      t        d      gdz  z   d gz   t        d      t        d      gz   }nqt        j                  j                  |      r`t        ddd      t        ddd      gdz  d gz   t        ddd      t        ddd      gdz  z   d gz   t        ddd      t        ddd      gz   }nt        j                  j                  |      rjt        ddddddd      t        ddddddd      gdz  d gz   t        dddd      t        dddd      gdz  z   d gz   t        ddd      t        ddd      gz   }nit        j                  j                  |      rTt        d      t        dd      gdz  d gz   t        d      t        d      gdz  z   d gz   t        d      t        d      gz   }nt        j                  j                  |      rYt!        dd      t!        dd      gdz  d gz   t!        dd      t!        dd      gdz  z   d gz   t!        dd      t!        dd      gz   }n~t        j                  j#                  |      rdd gdz  d gz   dd!gdz  z   d gz   d"d#gz   }nBt        j                  j%                  |      rd$d%gdz  d gz   d&d'gdz  z   d gz   d(d)gz   }nt&        t)        j*                  |d*z  | +      S ),NTF   ,   g      ?g        g       g      g      ?g     X@   r   c      1z0.0z-2.0z-1.0z0.5z33.123i  i        i  i
      ab2!>   a   b   1   2   !   >d   dtype)pyarrow_dtypepatypes
is_booleanis_floatingis_signed_integeris_unsigned_integer
is_decimalr   is_dater   is_timestampr   is_durationr   is_timer   	is_string	is_binaryNotImplementedErrorpdarray)r%   pa_dtypedatas      c/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dask/dataframe/tests/test_pyarrow_compat.pyr8   r8      sj   ""H	xx8$e}q D6)T5MB,>>$G4QV-W			h	'SzA~&$)::dVCsDkQ		#	#H	-1vzTF"b"X]2dV;q"gE		%	%h	/1vzTF"aVb[0D69QGC			X	&S\75>*Q.fv0256 f u~wx01	2 	 
		(	#$1tD"b12Q6fD!QdAq!12R78 f D"b!4b"#56	7 	 
		x	(dAq!Q1-xaAq!Q/OPSTTfaA&q!Q(?@2EF f a#XdAq%9:	; 	 
		h	'q\9Q?+a/f}il+b01 f ~y}-	. 	 
		(	#"a[$q"+&*fAqz41:&+, f Aqz41:&	' 	 
		H	%SzA~&#sb8D6AS#JN			H	%d|a4&(D$<"+<<vEtT!!88D3Je,,    )paramsidsc                B    t        j                  | j                        S )N)r&   )r5   
ArrowDtypeparam)requests    r9   r%   r%   S   s    ==w}}55r:   c                   t        j                  |       }|j                  d      }t        j                  |      }t        j                  |      }t        |      t        |      dz  kD  sJ t        j                  |      }t        j                  ||       t        j                  |      }t        j                  ||       y )Nr      )	r5   Seriesheadpickledumpslenloadstmassert_series_equal)r8   expectedexpected_slicedfull_pickledsliced_pickledresultresult_sliceds          r9   test_pickle_roundtriprQ   X   s    yyHmmA&O<<)L\\/2N |s>2Q6666\\,'F68,LL0M=/:r:   string_dtypestringdtype
arrowdtypec                >   | dk(  rt        j                  d      } n't        j                  t        j	                               } t        j
                  t        t        t        d            |       }|j                  d      }t        j                  |      }t        j                  |      }t        |      t        |      dz  kD  sJ t        j                  |      }t        j                  ||       t        j                  |      }t        j                  ||       y )NrS   r
   i  r$   r   rB   )r5   StringDtyper>   r'   stringrC   mapstrrangerD   rE   rF   rG   rH   rI   rJ   )rR   rK   rL   rM   rN   rO   rP   s          r9   4test_pickle_roundtrip_pyarrow_string_implementationsr[   h   s     }$~~i0}}RYY[1yyS%,/|DHmmA&O<<)L\\/2N |s>2Q6666\\,'F68,LL0M=/:r:   c                    t        j                  g dd      } t        j                  | dt        d      }t        j                  t        j                  |            }d|j                  j                  _
        t               }t        j                  t        j                  |j                  d      j!                         |j#                  |             y )N))r   r   Nr   objectr$   Fr   )copyr%   name)columns)npr6   r5   rC   r]   rE   rH   rF   valuesflags	writeabler	   rI   rJ   dd
from_arraycomputeastype)arrbase	base_copyr%   s       r9   #test_inplace_modification_read_onlyrl      s    
(($H
5C99SuF=DV\\$/0I',I$E
i&&4<<>Er:   )#
__future__r   rE   r   r   r   r   decimalr   numpyra   pandasr5   pandas._testing_testingrI   pytestdask.dataframe.utilsr	   importorskipr'   dask.dataframe	dataframere   fixturer8   ALL_PYARROW_DTYPESPYARROW_TYPESrY   r%   rQ   markparametrizer[   rl    r:   r9   <module>r~      s    "  4 4      1V# 
 8- 8-v %% }#.6 /6;  ;;,	r:   