Ë
    ômxiµ7  ã            
       ó,  — 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    úO/home/htdocs/ttos/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           	      óœ  — g d¢}dddddddd	|rd
nd	g	}t        j                  t        j                  d«      ¬«      }t        ||«      D ]  \  }}t        j                  |¬«      ||<   Œ  |j
                  j                  d
«      |_        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ÚobjectÚstrr   ©Úindexr   zTestOrcFile.emptyFile.orc©Úcolumns)r!   r"   Ú
RangeIndexÚzipÚSeriesr=   ÚastypeÚosÚpathÚjoinr   ÚtmÚassert_equal)	r   Úusing_infer_stringr=   ÚdtypesÚexpectedÚcolnamer   Ú	inputfileÚgots	            r   Útest_orc_reader_emptyrM   -   s¿   € ò
€Gð 	ØØØØØØØÙ#‰¨ð
€Fô �|‰|¤"§-¡-°Ó"2Ô3€HÜ˜g vÓ.ò 3‰ˆ�ÜŸI™I¨EÔ2ˆ�Òð3à×'Ñ'×.Ñ.¨uÓ5€HÔä—‘—‘˜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_dictrB   rC   rD   r   ÚkeysrE   rF   ©r   r	   rI   rK   rL   s        r   Útest_orc_reader_basicr`   O   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é
   )r[   r\   r   r!   r"   r]   rB   rC   rD   r   ÚilocrE   rF   r_   s        r   Útest_orc_reader_decimalre   c   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.orcrc   ©r[   r\   Údatetimerl   r!   r"   r]   rB   rC   rD   r   rd   rE   rF   r_   s        r   Útest_orc_reader_date_lowro   ~   ó(  € ä—‘òð #ô
ô —‘ä—‘˜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.100900rg   r   iö  rh   ri   r8   rj   zTestOrcFile.testDate2038.orcrc   rm   r_   s        r   Útest_orc_reader_date_highrr   §   rp   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.orcrc   )r[   r\   r!   r"   r]   rB   rC   rD   r   rd   rE   rF   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   rO   r2   rP   rQ   r3   rR   r4   rS   r5   rT   rU   r6   rV   rW   r7   rX   r   r8   rY   rZ   r'   )ÚpytestÚimportorskipr[   r\   r!   r"   r]   rE   Úensure_cleanÚto_orcr   rF   )r   r	   rI   rC   rL   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ƒ   r[   r\   r!   r"   r]   r…   r   r   rE   rF   )r	   rI   ÚbytesrL   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}«      }| rlt        j*                  t'        j,                  «       «      }|d   j/                  |«      |d<   |d   j/                  |«      |d<   |d   j/                  |«      |d<   t1        j2                  ||«       y c c}w )Nr�   Úabcr   Úc©r   Nr“   )s   foos   barNr   é   ç      @ç      @r7   r   rU   ç      @©TFT©TFNÚ20130101é   )ÚperiodsÚ20130103)ÚstringÚstring_with_nanÚstring_with_nonerˆ   ÚintÚfloatÚfloat_with_nanr1   Úbool_with_narn   Údatetime_with_nat©Údtype_backendT)Úfrom_pandasrŸ   r    r¡   )r‚   rƒ   r!   r"   Úlistr[   ÚnanÚrangeÚarangeÚ
date_rangeÚ	TimestampÚNaTÚcopyr…   r   r   r=   ÚarraysÚArrowExtensionArrayÚpar\   Ú
ArrowDtyperŸ   rA   rE   Úassert_frame_equal)rG   ÚdfÚ
bytes_dataÚresultÚcolrI   Ústring_dtypes          r   Útest_orc_dtype_backend_pyarrowr¼   4  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ñ ô —}‘}¤R§Y¡Y£[Ó1ˆØ% hÑ/×6Ñ6°|ÓDˆ�ÑØ&.Ð/@Ñ&A×&HÑ&HÈÓ&VˆÐ"Ñ#Ø'/Ð0BÑ'C×'JÑ'JÈ<Ó'XˆÐ#Ñ$ä×Ñ˜& (Õ+ùò	
s   Ä0?G;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   rU   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ª   r[   r«   r¬   r@   ÚNAr­   r±   r…   r   r   r   r\   Úobject_rE   r¶   )r·   r¸   r¹   rI   s       r   Ú%test_orc_dtype_backend_numpy_nullablerÇ   ^  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¬   rE   r„   r…   ÚpathlibÚPathÚas_urir   r¶   )rI   rC   Ú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Â   r:   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¬   rE   r„   r…   r‚   r�   rÔ   r   )r�   r·   rC   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t        j
                  t        j                  ¬«      t        j                  dgt        j
                  t        j                  ¬«      ¬	«      ¬
«      }t        j                  |«       y # 1 sw Y   Œ–xY w)Nztest_string_inference.pr   ÚxÚy)r	   zfuture.infer_stringT)Úna_valuer   )r	   r   r=   )r!   r"   r…   Úoption_contextr   ÚStringDtyper[   r«   ÚIndexrE   r¶   )Útmp_pathrC   r·   r¹   rI   s        r   Útest_string_inferencerá   °  s·   € àÐ/Ñ/€DÜ	�‰˜C # s Ð,Ô	-€BØ‡I�Iˆd„OÜ	×	Ñ	Ð0°$Ó	7ñ  Ü˜$“ˆ÷ ä�|‰|Ø�C˜�:ÐÜ�n‰n¤b§f¡fÔ-Ü—‘˜#˜¤b§n¡n¼b¿f¹fÔ&EÔFô€Hô
 ×Ñ˜& (Õ+÷ ð  ús   ÁC(Ã(C1)2Ú__doc__rn   Údecimalr   r   r   rB   rÊ   r×   r[   r‚   Úpandasr!   r   Úpandas._testingÚ_testingrE   Úpandas.core.arraysr   rƒ   r�   r´   ÚmarkÚfilterwarningsÚ
pytestmarkÚfixturer   r\   r@   ÚIntervalÚPeriodr%   rM   r`   re   ro   rr   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ò#òD#ò(#ò6&#òR&#òR&#òR'ò2#ò01ò',òT(,òV,ð ‡�×ÑØàˆ�‰˜A A¨AÔ.Øˆ�‰˜A A¨A°MÔBØˆ�‰’Óðóñóðò	2ó,r   