Ë
    ¤eh_5  ã            
       ó,  — d Z ddlZddlmZ ddlmZ ddlZddlZddlZ	ddl
Z
ddlZddlmZ ddlmZ ddlmZ  e
j&                  d«       ddlZe
j,                  j/                  d«      Ze
j2                  d	„ «       Z e
j2                   e	j6                  d
dgd¬«       ej8                  g d¢d¬«       ej:                  dd¬«       ej:                  dd¬«      g ej<                  dd¬«       ej<                  dd¬«      gg¬«      d„ «       Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d „ Z'd!„ Z(d"„ Z)d#„ Z*d$„ Z+e
j,                  jY                  d% ejZ                  ddd
¬&«       ejZ                  dd'd
d(¬)«       ej\                  g d*¢«      g«      d+„ «       Z/d,„ Z0d-„ Z1y).z test orc compat é    N)ÚDecimal)ÚBytesIO)Úread_orc)ÚStringArrayzpyarrow.orcz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                 ó   —  | ddd«      S )NÚioÚdataÚorc© )Údatapaths    úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/io/test_orc.pyÚdirpathr      s   € á�D˜& %Ó(Ð(ó    é   é   Úuint64©Údtype)ÚaÚbr   Úcategoryé   )ÚleftÚrighté   z
2022-01-03ÚD)Úfreqz
2022-01-04)Úparamsc                 óD   — t        j                  d| j                  i«      S )NÚunimpl)ÚpdÚ	DataFrameÚparam)Úrequests    r   Úorc_writer_dtypes_not_supportedr%      s   € ô �<‰<˜ 7§=¡=Ð1Ó2Ð2r   c                 óF  — g d¢}g d¢}t        j                  t        j                  d«      ¬«      }t        ||«      D ]  \  }}t        j                  |¬«      ||<   Œ  t
        j                  j                  | d«      }t        ||¬«      }t        j                  ||«       y )N©	Úboolean1Úbyte1Úshort1Úint1Úlong1Úfloat1Údouble1Úbytes1Ústring1)	ÚboolÚint8Úint16Úint32Úint64Úfloat32Úfloat64Úobjectr8   r   ©Úindexr   zTestOrcFile.emptyFile.orc©Úcolumns)r!   r"   Ú
RangeIndexÚzipÚSeriesÚosÚpathÚjoinr   ÚtmÚassert_equal)r   r<   ÚdtypesÚexpectedÚcolnamer   Ú	inputfileÚgots           r   Útest_orc_reader_emptyrJ   -   s‡   € ò
€Gò
€Fô �|‰|¤"§-¡-°Ó"2Ô3€HÜ˜g vÓ.ò 3‰ˆ�ÜŸI™I¨EÔ2ˆ�Òð3ô —‘—‘˜WÐ&AÓB€IÜ
�9 gÔ
.€Cä‡O�O�H˜cÕ"r   c                 óš  — t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  dd	gd
¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      dœ	}t        j                  j	                  |«      }t
        j                  j                  | d«      }t        ||j                  «       ¬«      }t        j                  ||«       y )NFTr1   r   r   éd   r2   é   é   r3   é   r4   ì   ÿÿÿÿ r5   ç      ð?ç       @r6   ç      .Àç      Àr7   ó    r   r8   ÚhiÚbyer'   zTestOrcFile.test1.orcr;   )ÚnpÚarrayr!   r"   Ú	from_dictr@   rA   rB   r   ÚkeysrC   rD   ©r   r	   rF   rH   rI   s        r   Útest_orc_reader_basicr]   N   sû   € ä—H‘H˜e T˜]°&Ô9Ü—‘˜1˜c˜(¨&Ô1Ü—(‘(˜D $˜<¨wÔ7Ü—‘˜% ˜¨wÔ7Ü—‘Ð.Ð0CÐDÈGÔTÜ—(‘(˜C ˜:¨YÔ7Ü—8‘8˜U D˜M°Ô;Ü—(‘(Ð3°SÐ9ÀÔJÜ—8‘8˜T 5˜M°Ô:ñ
€Dô �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&=Ó>€IÜ
�9 d§i¡i£kÔ
2€Cä‡O�O�H˜cÕ"r   c                 óØ  — dt        j                  t        d«      t        d«      t        d«      t        d«      t        d«      t        d«      t        d«      t        d	«      t        d
«      t        d«      g
d¬«      i}t        j                  j                  |«      }t        j                  j                  | d«      }t        |«      j                  d d }t        j                  ||«       y )NÚ_col0z-1000.50000z
-999.60000z
-998.70000z
-997.80000z
-996.90000z
-995.10000z
-994.11000z
-993.12000z
-992.13000z
-991.14000r8   r   zTestOrcFile.decimal.orcé
   )rX   rY   r   r!   r"   rZ   r@   rA   rB   r   ÚilocrC   rD   r\   s        r   Útest_orc_reader_decimalrb   b   sÃ   € ð 	”—‘ä˜Ó&Ü˜Ó%Ü˜Ó%Ü˜Ó%Ü˜Ó%Ü˜Ó%Ü˜Ó%Ü˜Ó%Ü˜Ó%Ü˜Ó%ðð ô
ð€Dô" �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&?Ó@€IÜ
�9Ó
×
"Ñ
" 3 BÐ
'€Cä‡O�O�H˜cÕ"r   c                 óø  — t        j                  g d¢d¬«      t        j                  t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      g
d¬«      dœ}t        j
                  j                  |«      }t        j                  j                  | d	«      }t        |«      j                  d d
 }t        j                  ||«       y )N)
z1900-05-05 12:34:56.100000z1900-05-05 12:34:56.100100z1900-05-05 12:34:56.100200z1900-05-05 12:34:56.100300z1900-05-05 12:34:56.100400z1900-05-05 12:34:56.100500z1900-05-05 12:34:56.100600z1900-05-05 12:34:56.100700z1900-05-05 12:34:56.100800z1900-05-05 12:34:56.100900údatetime64[ns]r   il  é   é   r8   ©ÚtimeÚdatezTestOrcFile.testDate1900.orcr`   ©rX   rY   Údatetimeri   r!   r"   rZ   r@   rA   rB   r   ra   rC   rD   r\   s        r   Útest_orc_reader_date_lowrl   }   ó(  € ä—‘òð #ô
ô —‘ä—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+ðð ô
ñ!€Dô@ �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&DÓE€IÜ
�9Ó
×
"Ñ
" 3 BÐ
'€Cä‡O�O�H˜cÕ"r   c                 óø  — t        j                  g d¢d¬«      t        j                  t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      t        j                  ddd«      g
d¬«      dœ}t        j
                  j                  |«      }t        j                  j                  | d	«      }t        |«      j                  d d
 }t        j                  ||«       y )N)
z2038-05-05 12:34:56.100000z2038-05-05 12:34:56.100100z2038-05-05 12:34:56.100200z2038-05-05 12:34:56.100300z2038-05-05 12:34:56.100400z2038-05-05 12:34:56.100500z2038-05-05 12:34:56.100600z2038-05-05 12:34:56.100700z2038-05-05 12:34:56.100800z2038-05-05 12:34:56.100900rd   r   iö  re   rf   r8   rg   zTestOrcFile.testDate2038.orcr`   rj   r\   s        r   Útest_orc_reader_date_highro   ¦   rm   r   c                 óD  — t        j                  g d¢d¬«      t        j                  g d¢d¬«      dœ}t        j                  j	                  |«      }t
        j                  j                  | d«      }t        |«      j                  d d }t        j                  ||«       y )	N)
iEAÚºiùîjFiAî!{iÝ~ðiY5B
i�ðrhi;õÎSinåóqið:²i‚�(är4   r   )
Úf50dcb8Ú382fdaaaÚ90758c6Ú9e8caf3fÚee97332bÚd634da1Ú2bea4396Úd67d89e8Úad71007eÚe8c82066r8   )r+   r0   zTestOrcFile.testSnappy.orcr`   )rX   rY   r!   r"   rZ   r@   rA   rB   r   ra   rC   rD   r\   s        r   Ú!test_orc_reader_snappy_compressedr{   Ï   sˆ   € ä—‘òð ô
ô —8‘8òð ô
ñ!€Dô@ �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&BÓC€IÜ
�9Ó
×
"Ñ
" 3 BÐ
'€Cä‡O�O�H˜cÕ"r   c                 óØ  — t        j                  d«       t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  d	d
gd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      dœ	}t        j
                  j                  |«      }t        j                  «       5 }|j                  |«       t        |«      }t        j                  ||«       d d d «       y # 1 sw Y   y xY w©NÚpyarrowFTr1   r   r   rL   r2   rM   rN   r3   rO   r4   rP   r5   rQ   rR   r6   rS   rT   r7   rU   r   r8   rV   rW   r'   )ÚpytestÚimportorskiprX   rY   r!   r"   rZ   rC   Úensure_cleanÚto_orcr   rD   )r   r	   rF   rA   rI   s        r   Útest_orc_roundtrip_filerƒ   ø   s  € ô ×Ñ˜	Ô"ô —H‘H˜e T˜]°&Ô9Ü—‘˜1˜c˜(¨&Ô1Ü—(‘(˜D $˜<¨wÔ7Ü—‘˜% ˜¨wÔ7Ü—‘Ð.Ð0CÐDÈGÔTÜ—(‘(˜C ˜:¨YÔ7Ü—8‘8˜U D˜M°Ô;Ü—(‘(Ð3°SÐ9ÀÔJÜ—8‘8˜T 5˜M°Ô:ñ
€Dô �|‰|×%Ñ% dÓ+€Hä	�‰Ó	ð '˜dØ�‰˜ÔÜ�t‹nˆä
�‰˜ #Ô&÷	'÷ 'ñ 'ús   Ä$3E Å E)c                  ó–  — t        j                  d«       t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  d	d
gd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      t        j                  ddgd¬«      dœ	} t        j
                  j                  | «      }|j                  «       }t        t        |«      «      }t        j                  ||«       y r}   )r   r€   rX   rY   r!   r"   rZ   r‚   r   r   rC   rD   )r	   rF   ÚbytesrI   s       r   Útest_orc_roundtrip_bytesior†     s   € ô ×Ñ˜	Ô"ô —H‘H˜e T˜]°&Ô9Ü—‘˜1˜c˜(¨&Ô1Ü—(‘(˜D $˜<¨wÔ7Ü—‘˜% ˜¨wÔ7Ü—‘Ð.Ð0CÐDÈGÔTÜ—(‘(˜C ˜:¨YÔ7Ü—8‘8˜U D˜M°Ô;Ü—(‘(Ð3°SÐ9ÀÔJÜ—8‘8˜T 5˜M°Ô:ñ
€Dô �|‰|×%Ñ% dÓ+€Hà�O‰OÓ€EÜ
”7˜5“>Ó
"€Cä‡O�O�H˜cÕ"r   c                 ó²   — t        j                  d«       d}t        j                  t        |¬«      5  | j	                  «        d d d «       y # 1 sw Y   y xY w)Nr~   z6The dtype of one or more columns is not supported yet.©Úmatch)r   r€   ÚraisesÚNotImplementedErrorr‚   )r%   Úmsgs     r   Ú$test_orc_writer_dtypes_not_supportedr�   )  sG   € ô ×Ñ˜	Ô"à
B€CÜ	�‰Ô*°#Ô	6ñ 1Ø'×.Ñ.Ô0÷1÷ 1ñ 1ús   ³AÁAc                  ó$  — t        j                  d«       t        j                  t	        d«      dt
        j                  dgg d¢g d¢t	        t        dd«      «      t        j                  d	d
d¬«      dt
        j                  dgg d¢g d¢t        j                  dd¬«      t        j                  d«      t        j                  t        j                  d«      gdœ«      } | j                  «       j                  «       }t        t        |«      d¬«      }t        j                  | j                   D �ci c]:  }|t        j"                  j%                  t'        j(                  | |   d¬«      «      “Œ< c}«      }t+        j,                  ||«       y c c}w )Nr~   Úabcr   Úc©r   Nr�   )s   foos   barNr   é   ç      @ç      @r7   r   rR   ç      @©TFT©TFNÚ20130101é   )ÚperiodsÚ20130103)ÚstringÚstring_with_nanÚstring_with_noner…   ÚintÚfloatÚfloat_with_nanr1   Úbool_with_nark   Údatetime_with_nat©Údtype_backendT)Úfrom_pandas)r   r€   r!   r"   ÚlistrX   ÚnanÚrangeÚarangeÚ
date_rangeÚ	TimestampÚNaTÚcopyr‚   r   r   r<   ÚarraysÚArrowExtensionArrayÚparY   rC   Úassert_frame_equal)ÚdfÚ
bytes_dataÚresultÚcolrF   s        r   Útest_orc_dtype_backend_pyarrowr·   3  s-  € Ü
×Ñ˜	Ô"Ü	�‰ä˜5“kØ #¤R§V¡V¨SÐ1Ú 0Ú+Üœ˜a ›Ó$Ü—Y‘Y˜s C¨yÔ9Ø"¤B§F¡F¨CÐ0Ú'Ú/ÜŸ™ j¸!Ô<ä—‘˜ZÓ(Ü—‘Ü—‘˜ZÓ(ð"ñ	
ó
€Bð( —‘“×!Ñ!Ó#€JÜ”g˜jÓ)¸ÔC€Fä�|‰|ð —z‘zö	
àð ”—‘×.Ñ.¬r¯x©x¸¸3¹ÈTÔ/RÓSÑSò	
ó€Hô ×Ñ˜& (Õ+ùò	
s   Ä0?Fc                  ó  — t        j                  d«       t        j                  t	        d«      dt
        j                  dgg d¢t	        t        dd«      «      t        j                  dt        j                  dgd	¬
«      t        j                  t        j                  t        j                  t        j                  gd	¬
«      t        j                  ddd¬
«      dt
        j                  dgg d¢g d¢dœ
«      } | j                  «       j                  «       }t        t        |«      d¬«      }t        j                  t        t        j                   g d¢t
        j"                  ¬
«      «      t        t        j                   dt        j                  dgt
        j"                  ¬
«      «      t        t        j                   dt        j                  dgt
        j"                  ¬
«      «      t        j                  g d¢d	¬
«      t        j                  dt        j                  dgd	¬
«      t        j                  t        j                  t        j                  t        j                  gd	¬
«      t        j                  g d¢d¬
«      t        j                  dt        j                  dgd¬
«      t        j                  g d¢d¬
«      t        j                  ddt        j                  gd¬
«      dœ
«      }t%        j&                  ||«       y )Nr~   r�   r   r�   r‘   r   r’   r™   ÚInt64r   r“   r”   r7   rR   r•   r–   r—   )
rœ   r�   rž   rŸ   Úint_with_nanÚna_onlyr    r¡   r1   r¢   Únumpy_nullabler¤   )r   r   r�   ©r   r   r™   )r“   g      @g      @ÚFloat64ÚbooleanTF)r   r€   r!   r"   r§   rX   r¨   r©   r?   ÚNArª   r®   r‚   r   r   r   rY   Úobject_rC   r²   )r³   r´   rµ   rF   s       r   Ú%test_orc_dtype_backend_numpy_nullablerÂ   V  sî  € ä
×Ñ˜	Ô"Ü	�‰ä˜5“kØ #¤R§V¡V¨SÐ1Ú 0Üœ˜a ›Ó$ÜŸI™I q¬"¯%©%° m¸7ÔCÜ—y‘y¤"§%¡%¬¯©´·±Ð!6¸gÔFÜ—Y‘Y˜s C¨yÔ9Ø"¤B§F¡F¨CÐ0Ú'Ú/ñ	
ó
€Bð —‘“×!Ñ!Ó#€JÜ”g˜jÓ)Ð9IÔJ€Fä�|‰|ä!¤"§(¡(ª?Ä"Ç*Á*Ô"MÓNÜ*Ü—‘˜#œrŸu™u cÐ*´"·*±*Ô=ó ô !,Ü—‘˜#œrŸu™u cÐ*´"·*±*Ô=ó!ô —9‘9šY¨gÔ6ÜŸI™I q¬"¯%©%° m¸7ÔCÜ—y‘y¤"§%¡%¬¯©´·±Ð!6¸gÔFÜ—Y‘Yš°iÔ@Ü Ÿi™i¨¬b¯e©e°SÐ(9ÀÔKÜ—I‘IÒ1¸ÔCÜŸI™I t¨U´B·E±EÐ&:À)ÔLñ	
ó€Hô& ×Ñ˜& (Õ+r   c            	      óV  — t        j                  dt        t        dd«      «      i«      } t	        j
                  d«      5 }| j                  |«       t        j                  |«      j                  «       }t        |«      }d d d «       t	        j                  | «       y # 1 sw Y   Œ xY w)NrŸ   r   r’   útmp.orc)r!   r"   r§   r©   rC   r�   r‚   ÚpathlibÚPathÚas_urir   r²   )rF   rA   Úurirµ   s       r   Útest_orc_uri_pathrÉ   �  s�   € Ü�|‰|˜U¤D¬¨q°!«Ó$5Ð6Ó7€HÜ	�‰˜Ó	#ð  tØ�‰˜ÔÜ�l‰l˜4Ó ×'Ñ'Ó)ˆÜ˜#“ˆ÷ô ×Ñ˜& (Õ+÷	ð ús   Á A BÂB(r:   )ÚstartÚstopÚstepr™   znon-default)rÊ   rË   rÌ   Únamer½   c                 ó¾   — t        j                  dg d¢i| ¬«      }d}t        j                  t        |¬«      5  |j                  «        d d d «       y # 1 sw Y   y xY w)Nr   r½   r9   z[orc does not support serializing a non-default index|orc does not serialize index meta-datarˆ   )r!   r"   r   rŠ   Ú
ValueErrorr‚   )r:   r³   rŒ   s      r   Útest_to_orc_non_default_indexrÐ   Š  sQ   € ô 
�‰�sšIÐ&¨eÔ	4€Bð	1ð ô 
�‰”z¨Ô	-ñ Ø
�	‰	Œ÷÷ ñ ús   ¹AÁAc            	      óL  — d} t        j                  dt        t        dd«      «      i«      }t	        j
                  d«      5 }|j                  |«       t        j                  t        | ¬«      5  t        |d¬«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)	NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rŸ   r   r’   rÄ   rˆ   Únumpyr¤   )r!   r"   r§   r©   rC   r�   r‚   r   rŠ   rÏ   r   )rŒ   r³   rA   s      r   Útest_invalid_dtype_backendrÓ   œ  sŒ   € ð	!ð ô 
�‰�uœd¤5¨¨A£;Ó/Ð0Ó	1€BÜ	�‰˜Ó	#ð 2 tØ
�	‰	�$ŒÜ�]‰]œ:¨SÔ1ñ 	2Ü�T¨Õ1÷	2÷2ð 2÷	2ð 	2ú÷2ð 2ús$   Á-BÁ/BÁ=BÂB	ÂBÂB#c                 ó`  — | dz  }t        j                  dddgi¬«      }|j                  |«       t        j                  dd«      5  t	        |«      }d d d «       t        j                  dddgidt        j
                  dgd¬	«      ¬
«      }t        j                  |«       y # 1 sw Y   ŒRxY w)Nztest_string_inference.pr   ÚxÚy)r	   zfuture.infer_stringTzstring[pyarrow_numpy]r   )r	   r   r<   )r!   r"   r‚   Úoption_contextr   ÚIndexrC   r²   )Útmp_pathrA   r³   rµ   rF   s        r   Útest_string_inferencerÚ   ¨  sž   € àÐ/Ñ/€DÜ	�‰˜C # s Ð,Ô	-€BØ‡I�Iˆd„OÜ	×	Ñ	Ð0°$Ó	7ñ  Ü˜$“ˆ÷ ä�|‰|Ø�C˜�:ÐØ%Ü—‘˜#˜Ð&=Ô>ô€Hô
 ×Ñ˜& (Õ+÷ ð  ús   ÁB$Â$B-)2Ú__doc__rk   Údecimalr   r   r   r@   rÅ   rÒ   rX   r   Úpandasr!   r   Úpandas._testingÚ_testingrC   Úpandas.core.arraysr   r€   r~   r±   ÚmarkÚfilterwarningsÚ
pytestmarkÚfixturer   rY   r?   ÚIntervalÚPeriodr%   rJ   r]   rb   rl   ro   r{   rƒ   r†   r�   r·   rÂ   rÉ   Úparametrizer=   rØ   rÐ   rÓ   rÚ   r   r   r   ú<module>rè      s¢  ðÙ Û Ý Ý Û 	Û ã Û ã Ý Ý Ý *à €× Ñ �MÔ "ã à�[‰[×'Ñ'ØCó€
ð
 ‡�ñ)ó ð)ð €‡�àˆ�‰�!�R� Ô)Øˆ�	‰	’/¨Ô4Ø	ˆ�‰˜! 1Ô	% { r§{¡{¸ÀÔ'CÐDØ	ˆ�‰�< cÔ	*¨I¨B¯I©I°lÈÔ,MÐNð	ôñ3óð3ò#òB#ò(#ò6&#òR&#òR&#òR'ò2#ò01ò ,òF(,òV,ð ‡�×ÑØàˆ�‰˜A A¨AÔ.Øˆ�‰˜A A¨A°MÔBØˆ�‰’Óðóñóðò	2ó,r   