
    m*ih*                        S r SSKrSSKrSSKrSSKrSSKrSSKJr  SSK	J
s  Jr  SSKrSSKJrJrJrJr  SSKJr  SSKJrJr  SSKJr  \R6                  S 5       rS rS	 rS
 rS r S r!\RD                  RF                  S 5       r$\RD                  RF                  S 5       r%S r&S r'S r(S r)\RD                  RU                  S5      S 5       r+S r,\RD                  RF                  S 5       r-S r.S r/\R6                  " SS\R`                  " S\Rb                  " S5      S9\R`                  " S\Rb                  " S5      S9/S9S  5       r2\RD                  Rg                  S!S"S#/5      S$ 5       r4S'S% jr5S& r6g)(z1
Testing that we work in the downstream packages
    N)IntCastingNaNError)	DataFrameDatetimeIndexSeriesTimedeltaIndex)DatetimeArrayTimedeltaArray)Versionc                       [        S/ SQ05      $ )NA         )r        \/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/test_downstream.pydfr      s    c9%&&r   c                 V   [         R                  " S5      n [        R                  " S5        [        R                  " S5      nUR	                  U SS9nUR
                  c   eUR                  5       c   e [         R                  " SU5        g ! [         R                  " SU5        f = f)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1F5G$  !12nnRQn/uu   {{}(((
+V4+V4s   AB B(c                     [         R                  " S5      n  [        R                  " S5      n[        R                  " S5      n[	        / SQ5      nUR                  USS9nUR                  U5      R                  5       n[        R                  " U5      n[        R                  " XV5        [         R                  " SU 5        g ! [         R                  " SU 5        f = f)Nr   
dask.arrayr   )g      ?gffffff@g@g      @r   r   )r   r   r   r   r   r   fixr    nptmassert_series_equalr!   )r"   dar#   sdsresultexpecteds          r   test_dask_ufuncr1   2   s     ]]01F5  .  !12'(^^A1^-##%66!9
v0
+V4+V4s   BC Cc                  v   [         R                  " S5      n [        R                  " / SQ5      nU R	                  U5      n[        U5      n[        U5      n[        R                  " X45        Sn[         R                  " [        US9   [        USS9  S S S 5        Sn[        R                  US'   [         R                  " [        US9   [        USS9  S S S 5        [         R                  " [        US9   [        USS9  S S S 5        g ! , (       d  f       N|= f! , (       d  f       NL= f! , (       d  f       g = f)	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resr0   msgs         r   7test_construct_dask_float_array_int_dtype_match_ndarrayrA   E   s     
		-	.B
((;
C==D
,Cc{H3) 6C	z	-t4  
. GCVVCF	)	5t4  
6 
)	5s$ 
6	5 
.	-
 
6	5 
6	5s$   DD4D*
D
D'*
D8c                 V    [         R                  " S5        U R                  5       c   eg )Nxarray)r   r   	to_xarray)r   s    r   test_xarrayrE   _   s"    
!<<>%%%r   c                      [         R                  " S5      n [         R                  " S5      nUR                  SSS9nU R                  SSS5      nUR	                  U/SS	9nSnXE:X  d   eg )
NcftimerC   0001r   )periodsi  r   nearest)method)r   r   cftime_rangeDatetimeGregorianget_indexer)rG   rC   timeskeyr/   r0   s         r   test_xarray_cftimeindex_nearestrQ   e   ss      *F  *F2E

"
"4A
.CuY7FHr   c                  T    [         R                  " [        R                  SSS/5        g )N-OO-cimport pandas
subprocess
check_callsys
executabler   r   r   test_oo_optimizabler[   q   s     3>>5$HIr   c                  T    [         R                  " [        R                  SSS/5        g )NrS   rT   z_import pandas as pd, pickle; pickle.loads(pickle.dumps(pd.date_range('2021-01-01', periods=1)))rV   r   r   r   )test_oo_optimized_datetime_index_unpickler]   w   s*     NNU	

r   c                      [         R                  " S5      n [        [        S5      [        S5      [        SS5      S.5      nU R	                  SUS9R                  5         g )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_statsmodelsrj      sQ    


7
8C	!H%(uS#O
B GG2G<@@Br   c                     [         R                  " S5        SSKJn Jn  U R                  5       nUR                  SSS9nUR                  UR                  S S UR                  S S 5        UR                  UR                  SS  5        g )Nsklearnr   )datasetssvmgMbP?g      Y@)gammaC)r   r   rl   rm   rn   load_digitsSVCrh   re   targetpredict)rm   rn   digitsclfs       r   test_scikit_learnrx      sr    
	"
 !!#F
'''
'CGGFKKfmmCR01KKBC !r   c                      [         R                  " S5      n [        [        R                  " SSSS9[        S5      S.5      nU R                  SSUS	9  g )
Nseaborn2023Dr_   )freqrI   )day
total_billr~   r   )xyre   )r   r   r   r   
date_rangerf   	stripplot)rz   tipss     r   test_seabornr      sM    !!),Gf3:%PQ(SD D9r   c                  0    [         R                  " S5        g )Npandas_datareader)r   r   r   r   r   test_pandas_datareaderr      s    
+,r   z0ignore:Passing a BlockManager:DeprecationWarningc                     [         R                  " S5      nUR                  R                  U 5      nUR	                  5       n[
        R                  " X05        g )Npyarrow)r   r   Tabler   	to_pandasr*   assert_frame_equal)r   r   tabler/   s       r   test_pyarrowr      s@    !!),GMM%%b)E__F&%r   c                    [         R                  " S5      nUR                  U 5      nUR                  X!R                  S9n[
        R                  " X5        UR                  X!R                  S9n[
        R                  " X5        g )Nyaml)Loader)r   r   dumploadr   r*   r   UnsafeLoader)r   r   dumpedloadedloaded2s        r   test_yaml_dumpr      se    v&DYYr]FYYvkkY2F"%ii'8'8i9G"&r   c                     [         R                  R                  SS5      n U SS/n[        R                  " U5      R                  5       nSU;   a  [        R                  " S5        U SSS/nS	U  S
3n[        R                  " [        R                  US9 n[        R                  " U[        R                  S9  S S S 5        WR                  R                  R                  5       nS H
  nXR;   a  M
   e   g ! , (       d  f       NC= f)N\/rT   z$import pandas;print(pandas.__file__)zsite-packagesz pandas installed as site packagez-sSErU   zCommand '\['zD', '-sSE', '-c', 'import pandas'\]' returned non-zero exit status 1.r3   )stderr)numpypytzdateutil)rY   rZ   replacerW   check_outputdecoder   skipr:   CalledProcessErrorSTDOUTvaluestdout)pyexecalloutputr@   excnames         r    test_missing_required_dependencyr      s     NN""4-E
 4?@D$$T*113F& 67
 641D w + 	+ 
 
z44C	@CZ->->? 
A YY$$&F-~~ .	 
A	@s   $C66
Dc                    [         R                  " S5      n [        R                  " S5      n[        R                  " S5      n[	        UR
                  5      [	        S5      ::  aR  [	        [        R
                  5      [	        S5      :  a,  U R                  [        R                  R                  SS95        UR                  SS	/5      n[        S
S
S/05      nXES'   XES'   SUR                  SS/S4'   UR                  S/S S 24   n[        S/S/S	/S.S/S9n[        R                  " Xg5        [         R                  " SU5        g ! [         R                  " SU5        f = f)Nr   daskr'   z2025.1.0z2.1z,loc.__setitem__ incorrectly mutated column c)reasonr   r   abcr`   FT)r   r   r   )index)r   r   r   r   r
   __version__r)   applymarkermarkxfailr8   r   locr*   r   r!   )requestr"   r   r,   ddar   r/   r0   s           r   *test_frame_setitem_dask_array_into_new_colr      s9   
 ]]01F5""6*  .4##$
(;;NNA
U^A !!)W!X hh1vc3Z()33%(t}c!"QC5uA3?sK
f/
+V4+V4s   DE	 	E"c                       " S S5      n U " 5       n[        [        S5      5      nUR                  U5      [        L d   eX!-   UL d   eg )Nc                       \ rS rSrSrS rSrg)%test_pandas_priority.<locals>.MyClassi  i  c                     U $ )Nr   )selfothers     r   __radd__.test_pandas_priority.<locals>.MyClass.__radd__  s    Kr   r   N)__name__
__module____qualname____firstlineno____pandas_priority__r   __static_attributes__r   r   r   MyClassr     s    "	r   r   r   )r   rf   __add__NotImplemented)r   leftrights      r   test_pandas_priorityr      sJ      9D58E==.000<4r   
memoryviewr8   r   r'   )marksrC   )paramsc                 Z   [         R                  " / SQ[         R                  S9nU R                  nUS:X  a  [	        U5      nX4$ US:X  a  [        R                  " SU5      nX4$ US:X  a"  SSKnUR                  R                  U5      nX4$ US	:X  a  SSKnUR                  U5      nUW4$ )
z
Fixture giving a numpy array and a parametrized 'data' object, which can
be a memoryview, array, dask or xarray object created from the numpy array.
r   r6   r   r8   ir   r   NrC   )r)   r8   int64paramr   
dask.arrayrC   	DataArray)r   r=   r   re   r   xrs         r   array_likesr     s     ((9BHH
-C==D|# 9 
{{3$ 9 
zz$ 9 
	||C 9r   r7   M8[ns]m8[ns]c                 ^   Uu  p#[         [        S.U    nUR                   S3n[        R                  " [
        US9   U" U5      nS S S 5        UR                  X0S9n[        R                  " UW5        [        U[        5      (       d^  [        R                  [        R                  S.U    nU" U5      R                  nU" U5      R                  n[        R                  " Xv5        [        [         S.U    n	U	" U5      nU	" U5      n[        R"                  " Xv5        g ! , (       d  f       N= f)N)r   r   z.__init__ is deprecatedr3   r6   )r   r	   r   r*   assert_produces_warningFutureWarning_from_sequenceassert_extension_array_equal
isinstancer   r   to_datetimeto_timedeltar8   assert_equalr   r   assert_index_equal)
r7   r   r=   re   clsdepr_msgr0   r/   funcidx_clss
             r   test_from_obscure_arrayr   1  s     IC"n
=e
DC,,67H		#	#M	Bs8 
C2F##FH5dJ'' ..BOODUKc:##
) '.A%HGS\Ft}H&+# 
C	Bs   	D
D,c                     [         R                  " S5        [        / SQ/ SQS.5      n U R                  5       nUR	                  5       nSS/nX#:X  d   e[        / SQSS9nUR                  5       nUR                  S:X  d   eg)	z
Test some basic methods of the dataframe consortium standard.

Full testing is done at https://github.com/data-apis/dataframe-api-compat,
this is just to check that the entry point works as expected.
dataframe_api_compatr   )   r_      )r   r   r   r   )r   N)r   r   r   !__dataframe_consortium_standard__get_column_namesr   __column_consortium_standard__r   )df_pdr   result_1
expected_1sercols         r   test_dataframe_consortiumr   P  s}     ./II67E		0	0	2B""$HsJ!!!

%C

,
,
.C88s??r   c                      [         R                  " S5      n U R                  / SQ5      n[        R                  " USS9n[        / SQSS S9n[        R                  " X#5        g )NrC   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])r7   r}   )r   r   r   r   r   r   r*   r   )r   r=   r/   r0   s       r   test_xarray_coerce_unitr   c  sW    			X	&B
,,y
!C^^Cd+F	

 H &+r   )returnN)7__doc__r8   rW   rY   r   r)   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   pandas._testing_testingr*   pandas.core.arraysr   r	   pandas.util.versionr
   fixturer   r%   r1   rA   rE   rQ   r   
single_cpur[   r]   rj   rx   r   r   filterwarningsr   r   r   r   r   r   
skip_if_nor   parametrizer   r   r   r   r   r   <module>r     s     
   , ) )    ( ' '5 5& 4&	 J J
  C
":- NO& P&
' ! !H5:   V2==#>?XR]]8%<=	2 8X"67, 8,<&,r   