Ë
    ýÿæiæ!  ã            	       ó   — d Z ddl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ZddlmZmZmZmZ ddlmZ ddlmZ e	j.                  d„ «       Zd„ Ze	j4                  j7                  d	¬
«      d„ «       Zd„ Zd„ Zd„ Ze	j4                  j@                  d„ «       Z!e	j4                  j@                  d„ «       Z"d„ Z#d„ Z$d„ Z%e	j4                  jM                  d¬
«      d„ «       Z'e	j4                  jQ                  d«      d„ «       Z)d„ Z*e	j4                  jW                  dddg«      d„ «       Z,d„ Z-d„ Z.e	j4                  jW                  dd d!g«      e	j4                  jW                  d"e/ eej                  d#«      d$d%g«      d&„ «       «       Z0d'„ Z1y)(z1
Testing that we work in the downstream packages
é    N)Úpartial)ÚIntCastingNaNError)Ú	DataFrameÚDatetimeIndexÚSeriesÚTimedeltaIndex)ÚVersionc                  ó    — t        dg d¢i«      S )NÚA©é   é   é   )r   © ó    úq/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/tests/test_downstream.pyÚdfr      s   € ä�cš9Ð%Ó&Ð&r   c                 óN  — t        j                  d«      }	 t        j                  d«       t        j                  d«      }|j	                  | d¬«      }|j
                  €J ‚|j                  «       €J ‚	 t        j                  d|«       y # t        j                  d|«       w xY w)Núcompute.use_numexprÚtoolzúdask.dataframer   ©Únpartitions)ÚpdÚ
get_optionÚpytestÚimportorskipÚfrom_pandasr   ÚcomputeÚ
set_option)r   ÚolduseÚddÚddfs       r   Ú	test_daskr$       sŠ   € ô �]‰]Ð0Ó1€Fð5Ü×Ñ˜GÔ$Ü× Ñ Ð!1Ó2ˆà�n‰n˜R¨QˆnÓ/ˆØ�u‰uÐ Ð Ð Ø�{‰{‹}Ð(Ð(Ñ(ä
�‰Ð+¨VÕ4øŒ�‰Ð+¨VÕ4ús   —AB ÂB$znot implemented with CoW©Úreasonc                  óº  — t        j                  d«      } 	 t        j                  d«      }t        j                  d«      }t	        g d¢«      }|j                  |d¬«      }|j                  |«      j                  «       }t        j                  |«      }t        j                  ||«       t        j                  d| «       y # t        j                  d| «       w xY w)Nr   ú
dask.arrayr   )g      ø?gffffff@gš™™™™™@g      @r   r   )r   r   r   r   r   r   Úlogr   ÚnpÚtmÚassert_series_equalr    )r!   Údar"   ÚsÚdsÚresultÚexpecteds          r   Útest_dask_ufuncr2   1   s¨   € ô �]‰]Ð0Ó1€Fð5Ü× Ñ  Ó.ˆÜ× Ñ Ð!1Ó2ˆäÒ'Ó(ˆØ�^‰^˜A¨1ˆ^Ó-ˆà—‘˜“×#Ñ#Ó%ˆÜ—6‘6˜!“9ˆÜ
×Ñ˜v xÔ0ä
�‰Ð+¨VÕ4øŒ�‰Ð+¨VÕ4ús   —BC ÃCc                  ór  — t        j                  d«      } t        j                  g d¢«      }| j	                  |«      }t        |«      }t        |«      }t        j                  ||«       d}t        j                  t        |¬«      5  t        |d¬«       d d d «       d}t        j                  |d<   t        j                  t        |¬«      5  t        |d¬«       d d d «       t        j                  t        |¬«      5  t        |d¬«       d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒGxY w# 1 sw Y   y xY w)	Nr   )r   g      @r   z)Trying to coerce float values to integers©ÚmatchÚi8©Údtypez9Cannot convert non-finite values \(NA or inf\) to integerr   )r   r   r*   ÚarrayÚ
from_arrayr   r+   r,   ÚraisesÚ
ValueErrorÚnanr   )r"   ÚarrÚdarrÚresr1   Úmsgs         r   Ú7test_construct_dask_float_array_int_dtype_match_ndarrayrB   E   sè   € ô 
×	Ñ	Ð-Ó	.€Bä
�(‰(’;Ó
€CØ�=‰=˜Ó€Dä
�‹,€CÜ�c‹{€HÜ×Ñ˜3 Ô)ð 6€CÜ	�‰”z¨Ö	-Üˆt˜4Õ ÷ 
.ð G€CÜ�V‰V€Cˆ�FÜ	�‰Ô)°Ö	5Üˆt˜4Õ ÷ 
6ô 
�‰Ô)°Ö	5Üˆs˜$Õ÷ 
6Ð	5÷ 
.Ð	-ú÷
 
6Ð	5ú÷ 
6Ð	5ús$   ÂDÃD!Ã>D-ÄDÄ!D*Ä-D6c                 óR   — t        j                  d«       | j                  «       €J ‚y )NÚxarray)r   r   Ú	to_xarray)r   s    r   Útest_xarrayrF   _   s"   € Ü
×Ñ˜Ô!à�<‰<‹>Ð%Ð%Ñ%r   c                  óà   — t        j                  d«      } t        j                  d«      }|j                  ddd¬«      }| j                  ddd«      }|j	                  |gd	¬
«      }d}||k(  sJ ‚y )NÚcftimerD   Ú0001r   T)ÚperiodsÚ
use_cftimeiÐ  r   Únearest)Úmethod)r   r   Ú
date_rangeÚDatetimeGregorianÚget_indexer)rH   rD   ÚtimesÚkeyr0   r1   s         r   Útest_xarray_cftimeindex_nearestrS   e   sw   € ä× Ñ  Ó*€FÜ× Ñ  Ó*€Fà×Ñ˜f¨a¸DÐÓA€EØ
×
"Ñ
" 4¨¨AÓ
.€CØ×Ñ ˜u¨YÐÓ7€FØ€HØ�XÒÐÑr   c                  óR   — t        j                  t        j                  dddg«       y )Nú-OOú-czimport pandas©Ú
subprocessÚ
check_callÚsysÚ
executabler   r   r   Útest_oo_optimizabler\   q   s   € ô ×Ñœ3Ÿ>™>¨5°$¸ÐHÕIr   c                  óR   — t        j                  t        j                  dddg«       y )NrU   rV   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rW   r   r   r   Ú)test_oo_optimized_datetime_index_unpickler^   w   s*   € ô ×Ñä�N‰NØØðUð	
õ
r   c                  óÆ   — t        j                  d«      } t        t        d«      t        d«      t        dd«      dœ«      }| j	                  d|¬«      j                  «        y )Nzstatsmodels.formula.apié   éd   éi   )ÚLotteryÚLiteracyÚPop1831z$Lottery ~ Literacy + np.log(Pop1831))Údata)r   r   r   ÚrangeÚolsÚfit)Úsmfr   s     r   Útest_statsmodelsrk   ‡   sQ   € Ü
×
Ñ
Ð7Ó
8€Cä	Ü˜!“H¬%°«(¼uÀSÈ#»ÑOó
€Bð ‡G�GÐ2¸€GÓ<×@Ñ@ÕBr   c                  ó  — t        j                  d«       ddlm} m} | j                  «       }|j                  dd¬«      }|j                  |j                  d d |j                  d d «       |j                  |j                  dd  «       y )NÚsklearnr   )ÚdatasetsÚsvmgü©ñÒMbP?g      Y@)ÚgammaÚCéÿÿÿÿ)r   r   rm   rn   ro   Úload_digitsÚSVCri   rf   ÚtargetÚpredict)rn   ro   ÚdigitsÚclfs       r   Útest_scikit_learnry   �   sr   € Ü
×Ñ˜	Ô"÷ð
 ×!Ñ!Ó#€FØ
�'‰'˜ ˆ'Ó
'€CØ‡G�GˆF�K‰K˜˜Ð˜fŸm™m¨C¨RÐ0Ô1Ø‡K�K�—‘˜B˜CÐ Õ!r   c                 ó°   — t        j                  d«      }t        t        j                  ddd¬«      t        d«      dœ«      }|j                  dd|¬	«       y )
NÚseabornÚ2023ÚDr`   )ÚfreqrJ   )ÚdayÚ
total_billr   r€   )ÚxÚyrf   )r   r   r   r   rN   rg   Ú	stripplot)Úmpl_cleanupr{   Útipss      r   Útest_seabornr†   �   sM   € Ü×!Ñ! )Ó,€GÜÜ—‘˜f¨3¸Ô:Ì%ÐPQË(ÑSó€Dð ×Ñ˜ °DÐÕ9r   z5pandas_datareader uses old variant of deprecate_kwargc                  ó.   — t        j                  d«       y )NÚpandas_datareader)r   r   r   r   r   Útest_pandas_datareaderr‰   ¥   s   € ô ×ÑÐ+Õ,r   z0ignore:Passing a BlockManager:DeprecationWarningc                 ó°   — t        j                  d«      }|j                  j                  | «      }|j	                  «       }t        j                  || «       y )NÚpyarrow)r   r   ÚTabler   Ú	to_pandasr+   Úassert_frame_equal)r   r‹   Útabler0   s       r   Útest_pyarrowr�   ¬   sB   € ä×!Ñ! )Ó,€GØ�M‰M×%Ñ% bÓ)€EØ�_‰_Ó€FÜ×Ñ˜& "Õ%r   c                 ó  — t        j                  d«      }|j                  | «      }|j                  ||j                  ¬«      }t        j                  | |«       |j                  ||j                  ¬«      }t        j                  | |«       y )NÚyaml)ÚLoader)r   r   ÚdumpÚloadr“   r+   rŽ   ÚUnsafeLoader)r   r’   ÚdumpedÚloadedÚloaded2s        r   Útest_yaml_dumprš   ´   sm   € ä×Ñ˜vÓ&€Dà�Y‰Y�r‹]€Fà�Y‰Y�v d§k¡kˆYÓ2€FÜ×Ñ˜"˜fÔ%à�i‰i˜ t×'8Ñ'8ˆiÓ9€GÜ×Ñ˜"˜gÕ&r   Ú
dependencyÚnumpyÚdateutilc                 ó  ‡‡‡— t         Št        d‰› �«      Šˆˆˆfd„}| j                  d|«       t        j                  t        ‰¬«      5  t        j                  t        j                  d«      «       d d d «       y # 1 sw Y   y xY w)NzMock error for c                 ó*   •— | ‰k(  r‰‚ ‰| g|¢­i |¤ŽS ©Nr   )ÚnameÚargsÚkwargsr›   Ú
mock_errorÚoriginal_imports      €€€r   Úmock_importz5test_missing_required_dependency.<locals>.mock_importÇ   s&   ø€ Ø�:ÒØÐÙ˜tÐ5 dÒ5¨fÑ5Ð5r   zbuiltins.__import__r4   Úpandas)Ú
__import__ÚImportErrorÚsetattrr   r;   Ú	importlibÚreloadÚimport_module)Úmonkeypatchr›   r¦   r¤   r¥   s    ` @@r   Ú test_missing_required_dependencyr¯   Á   sf   ú€ ô !€OÜ˜¨z¨lÐ;Ó<€Jö6ð
 ×ÑÐ-¨{Ô;ä	�‰”{¨*Ö	5Ü×Ñœ×0Ñ0°Ó:Ô;÷ 
6×	5Ñ	5ús   Á)A>Á>Bc                 óÌ  — t        j                  d«      }	 t        j                  d«      }t        j                  d«      }t	        |j
                  «      t	        d«      k  rTt	        t        j
                  «      t	        d«      k\  r/| j                  t        j                  j                  d¬«      «       |j                  dd	g«      }t        d
d
dgi«      }||d<   ||d<   d|j                  ddgdf<   |j                  dgd d …f   }t        dgdgd	gdœdg¬«      }t        j                  ||«       t        j                  d|«       y # t        j                  d|«       w xY w)Nr   Údaskr(   z2025.1.0z2.1z,loc.__setitem__ incorrectly mutated column cr%   r   r   ÚaÚbÚcra   FT)r²   r³   r´   )Úindex)r   r   r   r   r	   Ú__version__r*   ÚapplymarkerÚmarkÚxfailr9   r   Úlocr+   rŽ   r    )Úrequestr!   r±   r-   Úddar   r0   r1   s           r   Ú*test_frame_setitem_dask_array_into_new_colr½   Ò   s?  € ô
 �]‰]Ð0Ó1€Fð5Ü×"Ñ" 6Ó*ˆÜ× Ñ  Ó.ˆÜ�4×#Ñ#Ó$¬°
Ó(;Ò;ÄÜ�N‰NóA
ä�U‹^òAð ×ÑÜ—‘×!Ñ!Ð)WÐ!ÓXôð �h‰h˜˜1�vÓˆÜ˜˜c 3˜ZÐ(Ó)ˆØˆˆ3‰Øˆˆ3‰Ø%(ˆ�‰��tˆ}˜cÐ!Ñ"Ø—‘˜˜šQ˜‘ˆÜ C 5°¨u¸A¸3Ñ?ÈÀsÔKˆÜ
×Ñ˜f hÔ/ä
�‰Ð+¨VÕ4øŒ�‰Ð+¨VÕ4ús   —DE ÅE#c                  ó’   —  G d„ d«      }  | «       }t        t        d«      «      }|j                  |«      t        u sJ ‚||z   |u sJ ‚y )Nc                   ó   — e Zd ZdZd„ Zy)ú%test_pandas_priority.<locals>.MyClassiˆ  c                 ó   — | S r    r   )ÚselfÚothers     r   Ú__radd__z.test_pandas_priority.<locals>.MyClass.__radd__õ   s   € ØˆKr   N)Ú__name__Ú
__module__Ú__qualname__Ú__pandas_priority__rÄ   r   r   r   ÚMyClassrÀ   ò   s   „ Ø"Ðó	r   rÉ   r   )r   rg   Ú__add__ÚNotImplemented)rÉ   ÚleftÚrights      r   Útest_pandas_priorityrÎ   ï   sL   € ÷ñ ñ ‹9€DÜ”5˜“8Ó€Eà�=‰=˜Ó¤.Ñ0Ð0Ð0Ø�4‰<˜4ÑÐÑr   r8   úM8[ns]úm8[ns]ÚboxÚir±   rD   c                 ó:  — t        j                  g d¢t         j                  ¬«      }|dk(  r't        j                  d«      }|j                  |«      }n4|dk(  r't        j                  d«      }|j                  |«      }n ||«      }t        j                  t        j                  dœ|    } ||«      j                  } ||«      j                  }t        j                  ||«       t        t        dœ|    }	 |	|«      } |	|«      }t        j                  ||«       y )Nr   r7   r±   r(   rD   )rÏ   rÐ   )r*   r9   Úint64r   r   Ú	DataArrayr   Úto_datetimeÚto_timedeltar+   Úassert_equalr   r   Úassert_index_equal)
r8   rÑ   r>   r-   rf   ÚxrÚfuncr0   r1   Úidx_clss
             r   Útest_from_obscure_arrayrÝ   ÿ   sÞ   € ô �(‰(’9¤B§H¡HÔ
-€CØ
ˆf‚}Ü× Ñ  Ó.ˆØ�x‰x˜‹}‰Ø	�ŠÜ× Ñ  Ó*ˆØ�|‰|˜CÓ ‰á�3‹xˆä—n‘n´·±Ñ@ÀÑG€DÙ�#‹Y�_‰_€FÙ�D‹z×Ñ€HÜ‡O�O�F˜HÔ%ô '´.ÑAÀ%ÑH€GÙ�S‹\€FÙ�t‹}€HÜ×Ñ˜& (Õ+r   c                  óÎ   — t        j                  d«      } | j                  g d¢«      }t        j                  |d¬«      }t        g d¢dd ¬«      }t        j                  ||«       y )NrD   r   Úns)Úunit)z1970-01-01 00:00:00.000000001z1970-01-01 00:00:00.000000002z1970-01-01 00:00:00.000000003zdatetime64[ns])r8   r~   )r   r   rÕ   r   rÖ   r   r+   rÙ   )rÚ   r>   r0   r1   s       r   Útest_xarray_coerce_unitrá     sY   € ä	×	Ñ	˜XÓ	&€Bà
�,‰,’yÓ
!€CÜ�^‰^˜C dÔ+€FÜò	
ð
 Øô€Hô ×Ñ˜& (Õ+r   )2Ú__doc__r9   Ú	functoolsr   r«   rX   rZ   rœ   r*   r   Úpandas.errorsr   r§   r   r   r   r   r   Úpandas._testingÚ_testingr+   Úpandas.util.versionr	   Úfixturer   r$   r¸   Úskipr2   rB   rF   rS   Ú
single_cpur\   r^   rk   ry   r†   r¹   r‰   Úfilterwarningsr�   rš   Úparametrizer¯   r½   rÎ   Ú
memoryviewrÝ   rá   r   r   r   Ú<module>rî      s¿  ðñó Ý Û Û Û 
ã Û å ,ã ÷ó õ Ý 'ð ‡�ñ'ó ð'ò5ð" ‡�×ÑÐ3ÐÓ4ñ5ó 5ð5ò& ò4&ò	ð ‡�×ÑñJó ðJð
 ‡�×Ññó ðòCò
"ò:ð ‡�×ÑÐQÐÓRñ-ó Sð-ð ‡�×ÑÐNÓOñ&ó Pð&ò
'ð ‡�×Ñ˜¨°Ð'<Ó=ñ<ó >ð<ò 5ò: ð  ‡�×Ñ˜ 8¨XÐ"6Ó7Ø‡�×ÑØ	ˆJ™ §¡¨SÓ1°6¸8ÐDóñ,óó 8ð,ó8,r   