Ë
    ômxiâ'  ã                   óì   — d Z ddlZddlZddlmZmZ ddlZddl	m
Z ddlmZmZ ej                  j!                  d«      Z ej$                  d«      Zej                  j(                   G d„ d«      «       Zy)	z test feather-format compat é    N)Úpa_version_under18p0Úpa_version_under19p0)Úread_featherÚ
to_featherz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpyarrowc                   ó(  — e Zd Zd„ Zd„ Zdi fd„Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zej"                  j$                  ej"                  j&                  d„ «       «       Zd„ Zd„ Zd„ Zd„ Zej"                  j3                  ed¬«      d„ «       Zy)ÚTestFeatherc                 óÆ   — t        j                  ||¬«      5  t        j                  «       5 }t	        ||«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)N©Úmatch)ÚpytestÚraisesÚtmÚensure_cleanr   )ÚselfÚdfÚexcÚerr_msgÚpaths        úS/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/io/test_feather.pyÚcheck_error_on_writez TestFeather.check_error_on_write   sW   € ô �]‰]˜3 gÔ.ñ 	%Ü—‘Ó"ð % dÜ˜2˜tÔ$÷%÷	%ð 	%÷%ð %ú÷	%ð 	%ús!   ˜A­AºAÁA	ÁAÁA c                 óÊ   — t        j                  t        «      5  t        j                  «       5 }t	        ||«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w©N)r   Úexternal_error_raisedÚ	Exceptionr   r   )r   r   r   s      r   Úcheck_external_error_on_writez)TestFeather.check_external_error_on_write!   sW   € ô ×%Ñ%¤iÓ0ñ 	%Ü—‘Ó"ð % dÜ˜2˜tÔ$÷%÷	%ð 	%÷%ð %ú÷	%ð 	%ús!   šA¯A¼AÁA	ÁAÁA"Nc                 óØ   — |€|j                  «       }t        j                  «       5 }t        ||fi |¤Ž t	        |fi |¤Ž}t        j
                  ||«       d d d «       y # 1 sw Y   y xY wr   )Úcopyr   r   r   r   Úassert_frame_equal)r   r   ÚexpectedÚwrite_kwargsÚread_kwargsr   Úresults          r   Úcheck_round_tripzTestFeather.check_round_trip)   sb   € ØÐØ—w‘w“yˆHä�_‰_Óð 	4 $Ü�r˜4Ñ0 <Ò0ä! $Ñ6¨+Ñ6ˆFä×!Ñ! &¨(Ô3÷	4÷ 	4ñ 	4ús   §0A Á A)c                 óÈ   — d}t        j                  g d¢«      ddt        j                  d«      t        j                  g d¢«      fD ]  }| j                  |t        |«       Œ y )Nz'feather only support IO with DataFrames©é   é   é   r'   ÚfooÚ20130101)ÚpdÚSeriesÚ	TimestampÚnpÚarrayr   Ú
ValueError)r   ÚmsgÚobjs      r   Ú
test_errorzTestFeather.test_error4   sV   € Ø7ˆä�I‰I’iÓ ØØÜ�L‰L˜Ó$Ü�H‰H’YÓð
ò 	<ˆCð ×%Ñ% c¬:°sÕ;ñ	<ó    c                 óv  — t        j                  t        d«      t        t        dd«      «      t	        j
                  dd«      j                  d«      t	        j
                  ddd	¬
«      dt        j                  dgg d¢dt        j                  dgt        j                  t        d«      «      t        j                  t        t        j                  dd¬«      «      d ¬«      t        j                  t        t        j                  ddd¬«      «      d ¬«      t        j                  d«      t         j                  t        j                  d«      gt        j                  t        t        j                  ddd¬«      «      d ¬«      dœ«      }t        j                  ddd¬«      |d<   t        j                  dd¬«      |d<   t        j                  ddd«      |d<   |j                   j"                  j$                  j&                  dk(  sJ ‚|j)                  «       }d |j*                  d <   | j-                  ||¬!«       y )"NÚabcr'   é   r)   é   Úu1g      @g      @Úfloat64©Údtypeg      ð?©TFTTFr+   )Úperiods)Úfreqz
US/Eastern)r?   ÚtzÚ20130103Úns)r?   r@   )ÚstringÚintÚuintÚfloatÚfloat_with_nullÚboolÚbool_with_nullÚcatÚdtÚdttzÚdt_with_nullÚdtnsÚ2013ÚM)r@   r?   r?   z1 dayÚ
timedeltasr   Ú	intervals)r'   rJ   )r    )r,   Ú	DataFrameÚlistÚranger/   ÚarangeÚastypeÚnanÚCategoricalÚDatetimeIndexÚ
date_ranger.   ÚNaTÚperiod_rangeÚtimedelta_rangeÚinterval_rangerM   r=   rA   Úzoner   Úlocr$   ©r   r   r    s      r   Ú
test_basiczTestFeather.test_basic?   s°  € Ü�\‰\ä˜u›+ÜœE ! Q›KÓ(ÜŸ	™	 ! Q›×.Ñ.¨tÓ4ÜŸ™ 3¨°9Ô=Ø$'¬¯©°Ð#3Ú+Ø#'¬¯©°Ð"7Ü—~‘~¤d¨5£kÓ2Ü×&Ñ&ÜœŸ™ z¸1Ô=Ó>ÀTôô ×(Ñ(ÜœŸ™ z¸1ÀÔNÓOØôô
 —L‘L Ó,Ü—F‘FÜ—L‘L Ó,ð!ô
 ×(Ñ(ÜœŸ™ z¸1À4ÔHÓIÐPTôñ+ó
ˆô6 Ÿ™¨°SÀ!ÔDˆˆ9‰Ü×-Ñ-¨g¸qÔAˆˆ<ÑÜ×+Ñ+¨A¨q°!Ó4ˆˆ;‰à�w‰w�}‰}×Ñ×$Ñ$¨Ò4Ð4Ð4à—7‘7“9ˆØ,0ˆ�‰Ð(Ñ)Ø×Ñ˜b¨8ÐÕ4r5   c                 óÈ   — t        j                  t        j                  d«      j	                  dd«      t        d«      ¬«      j                  «       }| j                  |«       y )Né   r8   r)   Úaaa©Úcolumns)r,   rT   r/   rW   ÚreshaperU   r   r   ©r   r   s     r   Útest_duplicate_columnsz"TestFeather.test_duplicate_columnse   sD   € ô �\‰\œ"Ÿ)™) B›-×/Ñ/°°1Ó5¼tÀE»{ÔK×PÑPÓRˆØ×*Ñ*¨2Õ.r5   c                 óÞ   — t        j                  t        d«      t        t        dd«      «      t        d«      t        t        dd«      «      dœ«      }ddg}| j	                  |||   |¬	«       y )
Nr7   r'   r8   Úxyzé   )Úcol1Úcol2Úcol3Úcol4rp   rr   )r    ri   )r,   rT   rU   rV   r$   )r   r   ri   s      r   Útest_read_columnszTestFeather.test_read_columnsk   sd   € ä�\‰\ä˜U›ÜœU 1 a›[Ó)Ü˜U›ÜœU 1 a›[Ó)ñ	ó
ˆð ˜6Ð"ˆØ×Ñ˜b¨2¨g©;ÀÐÕHr5   c                 ó|   — t        j                  ddgddgddgdœ«      }|dd	g   }| j                  ||dd	g¬
«       y )Nr'   r(   ÚxÚyTF)ÚAÚBÚCry   rx   rh   )r,   rT   r$   rc   s      r   Ú!test_read_columns_different_orderz-TestFeather.test_read_columns_different_orderx   sI   € ä�\‰\  A ¨c°3¨Z¸tÀU¸mÑLÓMˆØ�s˜C�j‘>ˆØ×Ñ˜b (°S¸#°JÐÕ?r5   c                 óX   — t        j                  dg d¢i«      }| j                  |«       y )NÚa)r}   r'   ç       @)r,   rT   r   rk   s     r   Útest_unsupported_otherz"TestFeather.test_unsupported_other~   s#   € ä�\‰\˜3¢Ð.Ó/ˆØ×*Ñ*¨2Õ.r5   c                 ó¤   — t        j                  dt        j                  d«      i«      }| j	                  |d¬«       | j	                  |d¬«       y )Nrx   i † T)Úuse_threadsF)r,   rT   r/   rW   r$   rk   s     r   Útest_rw_use_threadszTestFeather.test_rw_use_threadsƒ   sD   € Ü�\‰\˜3¤§	¡	¨&Ó 1Ð2Ó3ˆØ×Ñ˜b¨dÐÔ3Ø×Ñ˜b¨eÐÕ4r5   c                 óª  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      «      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}«      ¬«      j                  «       }t        j                  |j                  t        «      }t        j                  ||«       y c c}w ©Nçš™™™™™ñ?éx   ©é   r8   ÚABCDrˆ   úi-©ri   Úindex)r,   rT   r/   rW   rj   ÚIndexrU   rV   Úreset_indexr   Úround_trip_pathlibr   r   r   ©r   Úir   r#   s       r   Útest_path_pathlibzTestFeather.test_path_pathlibˆ   s•   € Ü�\‰\Ø”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Ü—H‘HœT &›\Ó*Ü—(‘(¬e°B«iÖ8¨˜b  šHÒ8Ó9ô
÷ ‰+‹-ð	 	ô
 ×&Ñ& r§}¡}´lÓCˆÜ
×Ñ˜b &Õ)ùò 9ó   Á/Cc                 óª  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      «      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}«      ¬«      j                  «       }t        j                  |j                  t        «      }t        j                  ||«       y c c}w r„   )r,   rT   r/   rW   rj   r�   rU   rV   rŽ   r   Úround_trip_localpathr   r   r   r�   s       r   Útest_path_localpathzTestFeather.test_path_localpath‘   s•   € Ü�\‰\Ø”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Ü—H‘HœT &›\Ó*Ü—(‘(¬e°B«iÖ8¨˜b  šHÒ8Ó9ô
÷ ‰+‹-ð	 	ô
 ×(Ñ(¨¯©¼ÓEˆÜ
×Ñ˜b &Õ)ùò 9r“   c                 ó`  — t        j                  dt        j                  d«      j	                  d«      z  t        j
                  t        d«      «      t        j
                  t        d«      D �cg c]  }d|› �‘Œ	 c}«      ¬«      j                  «       }| j                  |dd	i¬
«       y c c}w )Nr…   r†   r‡   r‰   rˆ   rŠ   r‹   Úversionr'   )r!   )
r,   rT   r/   rW   rj   r�   rU   rV   rŽ   r$   )r   r‘   r   s      r   Útest_passthrough_keywordsz%TestFeather.test_passthrough_keywordsš   s†   € Ü�\‰\Ø”"—)‘)˜C“.×(Ñ(¨Ó1Ñ1Ü—H‘HœT &›\Ó*Ü—(‘(¬e°B«iÖ8¨˜b  šHÒ8Ó9ô
÷ ‰+‹-ð	 	ð
 	×Ñ˜b°	¸1¨~ÐÕ>ùò 9s   Á/B+c                 óò   — t        |«      }t        |d«      5 }|j                  |j                  «       ¬«       t        |j                  «      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)NÚrb)Úcontent)r   ÚopenÚserve_contentÚreadÚurlr   r   )r   Úfeather_fileÚ
httpserverr    ÚfÚress         r   Útest_http_pathzTestFeather.test_http_path¢   sf   € ô   Ó-ˆÜ�, Ó%ð 	/¨Ø×$Ñ$¨Q¯V©V«XÐ$Ô6Ü˜zŸ~™~Ó.ˆC÷	/ô 	×Ñ˜h¨Õ,÷	/ð 	/ús   ˜6A-Á-A6c                 ó€  — t        j                  t        j                  dt        j                  dgd¬«      t        j                  g d¢d¬«      t        j                  dt        j                  dgd¬«      t        j                  g d	¢d¬«      g d
¢g d¢g d¢g d¢dœ«      }t        j                  «       5 }t        ||«       t        j                  d|«      5  t        ||¬«      }d d d «       d d d «       |dk(  r_t        j                  d«      }|r$t        j                  |j                  «       «      }n9t        j                  |j                  «       «      }nt        j                  |«      }t        j                  t        j                  dt        j                  d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¬«      t        j                  g d¢d¬«      t        j                  g d¢|¬«      t        j                  g d¢|¬«      dœ«      }	|dk(  rNddlm}
 t        j                  |	j&                  D �ci c]  }| |
j)                  |	|   d¬«      «      “Œ! c}«      }	|rC|	j&                  j+                  t        j                  |t        j                  ¬«      «      |	_        t        j,                  |	«       y # 1 sw Y   �Œ=xY w# 1 sw Y   �ŒBxY wc c}w )Nr'   r)   ÚInt64r<   r&   ç      ø?ç      @ÚFloat64)r¨   r~   r©   )TFNr>   )r}   ÚbÚc)r}   r«   N)r}   r«   r¬   ÚdÚer£   ÚgÚhzmode.string_storage©Údtype_backendr   TFÚbooleanr   )ÚArrowExtensionArray)Úfrom_pandas©Úna_value)r,   rT   r-   r/   rY   r   r   r   Úoption_contextr   r   ÚimportorskipÚ
ArrowDtypeÚlarge_stringrD   ÚStringDtypeÚNAÚpandas.arraysr´   ri   r0   rX   r   )r   Ústring_storager²   Úusing_infer_stringr   r   r#   ÚpaÚstring_dtyper    r´   Úcols               r   Útest_read_feather_dtype_backendz+TestFeather.test_read_feather_dtype_backend¬   sm  € ô �\‰\ä—Y‘Y ¤2§6¡6¨1˜~°WÔ=Ü—Y‘Yšy°Ô8Ü—Y‘Y ¤R§V¡V¨SÐ1¸ÔCÜ—Y‘Yš°iÔ@Ú(Ú(Ú$Ú%ñ	ó
ˆô �_‰_Óð 	I $Ü�r˜4Ô Ü×"Ñ"Ð#8¸.ÓIñ IÜ% d¸-ÔH�÷I÷	Ið
 ˜IÒ%Ü×$Ñ$ YÓ/ˆBÙ!Ü!Ÿ}™}¨R¯_©_Ó->Ó?‘ä!Ÿ}™}¨R¯Y©Y«[Ó9‘äŸ>™>¨.Ó9ˆLä—<‘<ä—Y‘Y ¤2§6¡6¨1˜~°WÔ=Ü—Y‘Yšy°Ô8Ü—Y‘Y ¤R§V¡V¨SÐ1¸ÔCÜ—Y‘Yš°iÔ@Ü—Y‘Y  e¬R¯U©UÐ3¸9ÔEÜ—Y‘YÒ2¸)ÔDÜ—Y‘Yš°lÔCÜ—Y‘YÒ/°|ÔDñ	ó
ˆð ˜IÒ%Ý9ä—|‘|ð  (×/Ñ/öàð Ñ,¨R¯X©X°h¸s±mÐQU¨XÓ-VÓWÑWòóˆHñ Ø'×/Ñ/×6Ñ6Ü—‘˜~¼¿¹Ô?ó ˆHÔô 	×Ñ˜f hÕ/÷OIñ Iú÷	Iñ 	Iüò>s*   Â5#L.ÃL!Ã&L.Ê$L;Ì!L+	Ì&L.Ì.L8c                 óŠ   — t        j                  dg d¢it        j                  g d¢d¬«      ¬«      }| j                  |«       y )Nr}   r&   )r)   r8   é   Útest)Úname)rŒ   )r,   rT   r�   r$   rk   s     r   Útest_int_columns_and_indexz&TestFeather.test_int_columns_and_indexè   s0   € Ü�\‰\˜3¢	Ð*´"·(±(º9È6Ô2RÔSˆØ×Ñ˜bÕ!r5   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.rE   r'   r8   ztmp.featherr   Únumpyr±   )r,   rT   rU   rV   r   r   r   r   r   r1   r   )r   r2   r   r   s       r   Útest_invalid_dtype_backendz&TestFeather.test_invalid_dtype_backendì   s�   € ð%ð 	ô �\‰\˜5¤$¤u¨Q°£{Ó"3Ð4Ó5ˆÜ�_‰_˜]Ó+ð 	:¨tØ�M‰M˜$ÔÜ—‘œz°Ô5ñ :Ü˜T°Õ9÷:÷	:ð 	:÷:ð :ú÷	:ð 	:ú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
                  t        j                  ¬«      }t        j                  dddgit        j
                  t        j                  ¬«      ¬	«      }t        j                  dddgi|t        j                  dgt        r|st        n|¬
«      ¬«      }t        j                  |«       y # 1 sw Y   ŒÁxY w)Nztest_string_inference.pr}   rv   rw   )Údataúfuture.infer_stringTr¶   ©rÎ   r=   r<   )rÎ   r=   ri   )r,   rT   r   r¸   r   r¼   r/   rY   r�   r   Úobjectr   r   )r   Útmp_pathrÀ   r   r   r#   r=   r    s           r   Útest_string_inferencez!TestFeather.test_string_inference÷   së   € àÐ3Ñ3ˆÜ�\‰\  c¨3 ZÐ0Ô1ˆØ
�‰�dÔÜ×ÑÐ4°dÓ;ñ 	(Ü! $Ó'ˆF÷	(ä—‘¬¯©Ô/ˆÜ—<‘<Ø˜˜S�zÐ"¬"¯.©.Ä"Ç&Á&Ô*Iô
ˆô —<‘<Ø˜˜S�zÐ"ØÜ—H‘HØ�å'Ñ0Bõ àô	ô	
ˆô 	×Ñ˜f hÕ/÷!	(ð 	(ús   ÁDÄDznot supported before 18.0)Úreasonc                 ó¾  — dd l }ddl m} |dz  }|j                  d|j                  g d¢|j	                  «       «      i«      }|j                  ||«       t        j                  dd«      5  t        |«      }t        j                  dg d¢it        j                  t        j                  ¬«      ¬	«      }d d d «       t        j                  «       y # 1 sw Y   Œ xY w)
Nr   )Úfeatherzstring_view.parquetr}   )Nr«   r¬   rÏ   Tr¶   rÐ   )r   rÖ   Útabler0   Ústring_viewÚwrite_featherr,   r¸   r   rT   r¼   r/   rY   r   r   )r   rÒ   rÁ   rÖ   r   r×   r#   r    s           r   Ú&test_string_inference_string_view_typez2TestFeather.test_string_inference_string_view_type  s³   € ó 	Ý#àÐ/Ñ/ˆØ—‘˜#˜rŸx™xÒ(8¸"¿.¹.Ó:JÓKÐLÓMˆØ×Ñ˜e TÔ*ä×ÑÐ4°dÓ;ñ 	Ü! $Ó'ˆFä—|‘|ØÒ+Ð,´B·N±NÌBÏFÉFÔ4SôˆH÷	ô 	×Ñ˜f hÕ/÷	ð 	ús   Á+A	CÃC)Ú__name__Ú
__module__Ú__qualname__r   r   r$   r4   rd   rl   rt   r{   r   r‚   r’   r–   r™   r   ÚmarkÚnetworkÚ
single_cpur¥   rÄ   rÉ   rÌ   rÓ   Úskipifr   rÚ   © r5   r   r	   r	      s½   „ ò%ò%ð -1¸ró 	4ò	<ò$5òL/òIò@ò/ò
5ò
*ò*ò?ð ‡[�[×ÑØ‡[�[×Ññ-ó ó ð-ò:0òx"ò	:ò0ð. ‡[�[×ÑÐ,Ð5PÐÓQñ0ó Rñ0r5   r	   )Ú__doc__rË   r/   r   Úpandas.compat.pyarrowr   r   Úpandasr,   Úpandas._testingÚ_testingr   Úpandas.io.feather_formatr   r   rÞ   ÚfilterwarningsÚ
pytestmarkr¹   rÁ   rà   r	   râ   r5   r   ú<module>rë      so   ðÙ "Û Û ÷ó
 Ý ç =à�[‰[×'Ñ'ØCó€
ð
 €V×Ñ˜Ó#€ð ‡�×Ñ÷F0ð F0ó ñF0r5   