+
    xȇi1                        ^ RI HtH t  ^ RIt^ RIt^ RIt^ RIt^ RIHu H	t
 ^ RIHt ^ RIHtHtHtHtHtHtHt ^ RIHt ^ RIHtHt ^ RIHtHtHtHt ]P@                  ! R4      t!]P@                  ! R4      t"]P@                  ! R	4      t#^ R
I$H%t% ]PL                  PN                  R 4       t(R t) ! R R4      t* ! R R4      t+ ! R R4      t, ! R R4      t-]PL                  P]                  R. RO4      R 4       t/R# )    )datedatetimeN)	to_offset)IndexPeriodPeriodIndexSeries	Timestamparrays
date_range) deregister_matplotlib_convertersregister_matplotlib_converters)DayMicroMilliSecondzmatplotlib.pyplotzmatplotlib.dateszmatplotlib.units)	converterc                  \    R p \         P                  RV .p\        P                  ! V4       R# )zimport matplotlib.units as units; import matplotlib.dates as mdates; n_conv = len(units.registry); import pandas as pd; pd.plotting.register_matplotlib_converters(); pd.plotting.deregister_matplotlib_converters(); assert len(units.registry) == n_conv-cN)sys
executable
subprocesscheck_output)codecalls     t/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/plotting/test_converter.pytest_registry_mpl_resetsr   ,   s,    	/ 	 NND$'DD!    c                  h    \         P                  ! R 4      \         P                  ! R 4      8X  g   Q hR# )z00:01N)r   time2num r   r   test_timtetonum_accepts_unicoder"   <   s&    g&)*<*<W*EEEEr   c                   v   a  ] tR t^@t o ]P
                  P                  R 4       tR tR t	R t
R tR tRtV tR# )	TestRegistrationc                j    R p\         P                  RV.p\        P                  ! V4      ^ 8X  g   Q hR# )zwimport matplotlib.units; import pandas as pd; units = dict(matplotlib.units.registry); assert pd.Timestamp not in unitsr   N)r   r   r   
check_call)selfr   r   s   &  r   test_dont_register_by_default.TestRegistration.test_dont_register_by_defaultA   s7    / 	 d+$$T*a///r   c                    \        \        ^4      \        R^R7      R7      p\        P	                  4       w  r#\        4        VP                  VP                  VP                  4       R#    2017periodsindexN)	r	   ranger   pltsubplotsr   plotr1   valuesr'   s_axs   &   r   test_registering_no_warning,TestRegistration.test_registering_no_warningM   sD    59Jvr$BC 	'(
"r   c                    \        \        ^4      \        R^R7      R7      p\        P                  ! R4      ;_uu_ 4       pVP                  4        RRR4       \        X4      ^ 8X  g   Q hR#   + '       g   i     L$; ir+   )r	   r2   r   tmassert_produces_warningr5   len)r'   r8   ws   &  r   test_pandas_plots_register+TestRegistration.test_pandas_plots_registerU   sU    59Jvr$BC''--FFH . 1v{{ .-s    A--A=	c           	     d   \         P                  ! R R4      ;_uu_ 4        \         P                  ! R R4      ;_uu_ 4        \        \        P                  9  g   Q h RRR4       \        \        P                  9   g   Q h RRR4       R#   + '       g   i     L6; i  + '       g   i     R# ; i)'plotting.matplotlib.register_convertersTFN)cfoption_contextr
   unitsregistryr'   s   &r   test_matplotlib_formatters+TestRegistration.test_matplotlib_formatters]   ss    
 H$OO""#LeTT 666 U... POTT POOs#    B B	#BBBB/	c                   \        \        ^4      \        R^R7      R7      p\        P	                  4       w  r#\
        P                  ! RR4      ;_uu_ 4        VP                  VP                  VP                  4       RRR4       \        4        \
        P                  ! RR4      ;_uu_ 4        VP                  VP                  VP                  4       RRR4       R#   + '       g   i     Lj; i  + '       g   i     R# ; i)r,   r-   r.   r0   rE   FN)r	   r2   r   r3   r4   rF   rG   r5   r1   r6   r   r7   s   &   r   test_option_no_warning'TestRegistration.test_option_no_warningg   s    59Jvr$BC H%PPGGAGGQXX& Q 	'(H%PPGGAGGQXX& QP QP
 QPPs   'C /'C3 C0	3D	c                   \        \        P                  4      p \        P                  P                  4        \        P                  4       pV\        P                  \        &   V\        P                  \        &   \        4        \        P                  \        ,          VJg   Q h\        4        \        P                  \        ,          VJ g   Q h \        P                  P                  4        VP                  4        F  w  r4V\        P                  V&   K  	  R #   \        P                  P                  4        TP                  4        F  w  r4T\        P                  T&   K  	  i ; iN)dictrH   rI   cleardatesDateConverterr   r   r   r   items)r'   originaldate_converterkvs   &    r   test_registry_resets%TestRegistration.test_registry_resetst   s    '	&NN  ""002N'5ENN8$#1ENN4 *,>>$'~===,.>>$'>999 NN  " ($%q! ) NN  " ($%q! )s   B6D AE*r!   N)__name__
__module____qualname____firstlineno__pytestmark
single_cpur(   r;   rB   rK   rN   r[   __static_attributes____classdictcell____classdict__s   @r   r$   r$   @   s?     [[	0 	0#/'& &r   r$   c                     a  ] tR t^t o ]P
                  R 4       tR tR tR t	]P                  P                  R]! R^^4      ]! R^^4      .]! R^^^4      ]! R^^^4      ..4      R 4       t]P                  P                  R. RO4      R	 4       t]P                  P                  R
R4      R 4       t]P                  P                  R]! 4       ]! 4       ]! ^24      .4      R 4       tR tRtV tR# )TestDateTimeConverterc                ,    \         P                  ! 4       # rQ   )r   DatetimeConverterrJ   s   &r   dtcTestDateTimeConverter.dtc   s    **,,r   c                l    VP                  R RR4      pVP                  R RR4      pW#8X  g   Q R4       hR# )z2000-01-01 12:22Nz/DatetimeConverter.convert should accept unicodeconvert)r'   rl   r1r2s   &&  r   test_convert_accepts_unicode2TestDateTimeConverter.test_convert_accepts_unicode   s8    [[+T48[[+T48xJJJxr   c                X   VP                  R .RR4      ^ ,          p\        P                  \        R^^4      4      pW#8X  g   Q hVP                  R RR4      pW#8X  g   Q hVP                  \	        R^^4      RR4      pW#8X  g   Q hVP                  R RR4      pW#8X  g   Q hVP                  \        R 4      RR4      pW#8X  g   Q hVP                  RRR4      pW#8X  g   Q hVP                  RRR4      pW#8X  g   Q hVP                  \        P                  ! RR.4      RR4      pV^ ,          V8X  g   Q h\        R4      P                  R4      P                  R4      pVP                  VRR4      pW#8X  g   Q hVP                  VP                  4       RR4      pW#8X  g   Q hVP                  \        V\        ^4      ,
          V.4      RR4      pV^,          V8X  g   Q hVP                  \        V\        ^4      ,
          V.4      P                  4       RR4      pV^,          V8X  g   Q hR# )2012-1-1N  
2012-01-012012-01-01 00:00:00+0000z2012-01-02 00:00:00+0000UTCz
US/Eastern)rp   rT   date2numr   r   r
   nparraytz_localize
tz_convertto_pydatetimer   r   )r'   rl   rsxptss   &&   r   test_conversion%TestDateTimeConverter.test_conversion   s   [[*tT215^^HT1a01xx[[T40xx[[dAq)46xx[[T40xx[[:.d;xx [[tT2xx[[3T4@xx[[HH02LMN

 !u{{ |$007BB<P[[T4(xx[[))+T48xx[[SVR014>!u{{[[SVR01??A4N!u{{r   c           
        R	pVP                  \        RRR7      RR4      p\        P                  \        RRR7      4      p\        P
                  ! W4VR7       VP                  \        RRR7      RR4      p\        P
                  ! W4VR7       VP                  \        R^^^^^4      RR4      p\        P
                  ! W4VR7       R# )
g      ?z2012-1-1 01:02:03rz   )tzNrtolz2012-1-1 09:02:03zAsia/Hong_Kongrw   g&.>)rp   r
   rT   r{   r>   assert_almost_equalr   )r'   rl   r   r   r   s   &&   r   test_conversion_float+TestDateTimeConverter.test_conversion_float   s    [[#65A4N^^I&9eDE
rD1[[).>?t
 	rD1[[$1aA6dC
rD1r   r6   i  c                    VP                  VR R 4      p\        P                  V4      p\        P                  ! W44       VP                  V^ ,          R R 4      p\        P                  V^ ,          4      pW48X  g   Q hR # rQ   )rp   rT   r{   r>   assert_numpy_array_equal)r'   rl   r6   r   r   s   &&&  r   $test_conversion_outofbounds_datetime:TestDateTimeConverter.test_conversion_outofbounds_datetime   sc     [[t,^^F#
##B+[[D$/^^F1I&xxr   ztime,format_expectedc                N    \         P                  ! R 4      ! V4      pW28X  g   Q hR # rQ   )r   TimeFormatter)r'   timeformat_expectedresults   &&& r   test_time_formatter)TestDateTimeConverter.test_time_formatter   s%     ((.t4(((r   freqc                    Rp\        R^
VR7      pVP                  VRR4      p\        P                  VP	                  4       4      p\
        P                  ! WVVR7       R# )
   z
2020-01-01)r/   r   Nr   g&.>)r   rp   rT   r{   	_mpl_reprr>   r   )r'   r   rl   r   	dateindexr   r   s   &&&    r   test_dateindex_conversion/TestDateTimeConverter.test_dateindex_conversion   sN    |RdC	[[D$/^^I//12
rD1r   offsetc                    \        R 4      pW1,           pVP                  VRR4      pVP                  VRR4      pWV8  g   \        V RV R24      hR# )rv   Nz is not less than .)r
   rp   AssertionError)r'   r   rl   ts1ts2val1val2s   &&&    r   test_resolution%TestDateTimeConverter.test_resolution   s\     
#l{{3d+{{3d+{ D6);D6!CDD r   c                   \        R 4      \        R4      .pW".pVP                  VRR4      pV Uu. uF  qQP                  VRR4      NK  	  pp\        P                  ! V4      V8H  P	                  4       '       g   Q hR# u upi )z
2017-01-01z
2017-01-02N)r
   rp   r|   r}   all)r'   rl   innerdatar   xexpecteds   &&     r   test_convert_nested)TestDateTimeConverter.test_convert_nested  sv    <()L*AB~T4.8<=1KK4.= H,113333 >s   A?r!   N))r   z00:00)g@z23:59:59.999999)i_ z01:00)i  z01:02:03)gfffffe@z11:02:03.200)Bmsr8   )r]   r^   r_   r`   ra   fixturerl   rs   r   r   rb   parametrizer   r   r   r   r   r   r   r   r   r   rd   re   rf   s   @r   ri   ri      s!    ^^- -K
,\2 [[$1tD!Q/0dAq"%xaB'?@	
 [[	
	)	)
 [[V%562 72 [[X%'59'EFE GE4 4r   ri   c                      a  ] tR tRt o ]P
                  R 4       t]P
                  R 4       tR tR t	R t
R tRtV tR	# )
TestPeriodConverteri  c                ,    \         P                  ! 4       # rQ   )r   PeriodConverterrJ   s   &r   pcTestPeriodConverter.pc  s    ((**r   c                6     ! R  R4      pV! 4       pRVn         V# )c                       ] tR tRtRtR# )&TestPeriodConverter.axis.<locals>.Axisi  r!   N)r]   r^   r_   r`   rd   r!   r   r   Axisr     s    r   r   D)r   )r'   r   axiss   &  r   r   TestPeriodConverter.axis  s!    	 	 v	r   c                b    VP                  R RV4      pVP                  R RV4      pW48X  g   Q hR# )rv   Nro   )r'   r   r   rq   rr   s   &&&  r   rs   0TestPeriodConverter.test_convert_accepts_unicode  s/    ZZ
D$/ZZ
D$/xxr   c                   VP                  R .RV4      ^ ,          p\        R 4      P                  pW48X  g   Q hVP                  R RV4      pW48X  g   Q hVP                  \        R^^4      .RV4      ^ ,          pW48X  g   Q hVP                  \        R^^4      RV4      pW48X  g   Q hVP                  \	        R 4      .RV4      ^ ,          pW48X  g   Q hVP                  \	        R 4      RV4      pW48X  g   Q hVP                  RRV4      pW48X  g   Q hVP                  RRV4      pW48X  g   Q hVP                  \
        P                  ! RR.RR7      RV4      pV^ ,          V8X  g   Q hR# )	rv   Nrw   rx   ry   z2012-01-01 00:00:00z2012-01-02 00:00:00zdatetime64[ns]dtype)rp   r   ordinalr   r
   r|   r}   r'   r   r   r   r   s   &&&  r   r   #TestPeriodConverter.test_conversion  s^   ZZdD1!4J''xxZZ
D$/xxZZdAq)*D$7:xxZZT1a($5xxZZ:./t<Q?xxZZ	*-tT:xxZZdD1xxZZ2D$?xxZZHH&(=>& 
 !u{{r   c                H    VP                  ^ ^.RV4      p^ ^.pW48X  g   Q hR# )r   Nro   r   s   &&&  r   test_integer_passthrough,TestPeriodConverter.test_integer_passthroughC  s*    ZZAd+Vxxr   c                    R R.pVP                  W3.RV4      p\        ^4       Uu. uF  qQP                  VRV4      NK  	  ppWF8X  g   Q hR# u upi )rv   z2012-1-2N)rp   r2   )r'   r   r   r   rq   r9   rr   s   &&&    r   r   'TestPeriodConverter.test_convert_nestedI  sQ    J'ZZdD149!H=HqjjtT*H=xx >s   Ar!   N)r]   r^   r_   r`   ra   r   r   r   rs   r   r   r   rd   re   rf   s   @r   r   r     sM     ^^+ + ^^ 
"H r   r   c                      a  ] tR tRt o Rt]P                  P                  R. R	O4      R 4       t]P                  P                  RR
R.4      R 4       t	Rt
V tR# )TestTimeDeltaConverteriP  zTest timedelta converterzx, decimal, format_expectedc                `    \         P                  pVP                  VR V^	R7      pWS8X  g   Q hR # )N)pos
n_decimalsexp)r   TimeSeries_TimedeltaFormatterformat_timedelta_ticks)r'   r   decimalr   tdcr   s   &&&&  r   test_format_timedelta_ticks2TestTimeDeltaConverter.test_format_timedelta_ticksS  s5     55++A4GQR+S(((r   view_intervalc                   a  ! V3R  lR4      p\         P                  ! 4       pVP                  VRV! 4       4       V! R^ 4       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# )NTestTimeDeltaConverter.test_call_w_different_view_intervals.<locals>.mock_axisid  c                   < S# rQ   r!   )r'   r   s   &r   get_view_interval`TestTimeDeltaConverter.test_call_w_different_view_intervals.<locals>.mock_axis.get_view_intervale  s	    $$r   r!   N)r]   r^   r_   r`   r   rd   re   )rg   r   s   @r   	mock_axisr   d  s     % %r   r   r           N)r   r   setattr)r'   r   monkeypatchr   r   s   &f&  r   $test_call_w_different_view_intervals;TestTimeDeltaConverter.test_call_w_different_view_intervalsa  s:    	% 	% 557C5Cr   r!   N))r   r   z00:00:00)l    xqAs   z
01:06:12.3)l    62"    z8 days 06:07:13.43)l    KVu   z09:00:23.4320)r   r   )r   r   )r]   r^   r_   r`   __doc__ra   rb   r   r   r   rd   re   rf   s   @r   r   r   P  s\     "[[%	
))
 [[_vv.>? @r   r   	year_spanc                 
   RpW^,          ,           pW!,
          ^,           pV^-8  d   \         P                  ! R4       V^,          p\        P                  ! V4      w  rV\        P                  ! W\        R4      4      p\        \        P                  ! \        P                  ! V Uu. uF  q^ ,          NK  	  up4      RR7      4      p	\        P                  ! V Uu. uF  q^,          NK  	  up4      p
\        P                  ! V Uu. uF  q^,          NK  	  up4      pW,          pW,          pVP                  V,          ^ 8H  pVP                  V,          ^ 8H  pVP                  ^8H  pVP                  ^8H  p\        P                  ! V4      '       g   Q h\        P                  ! V4      '       g   Q h\        P                  ! V4      '       g   Q h\        P                  ! V4      '       g   Q hR# u upi u upi u upi )i  z9the quarterly finder is only invoked if the span is >= 45QEz	period[Q]r   Ni)ra   skipr   _get_default_annual_spacing_quarterly_finderr   r   r   PeriodArrayr|   r}   yearquarterr   )r   vminvmaxspannyears
min_anndef
maj_anndefr   r   quartersmajorsminorsmajor_quartersminor_quarterscheck_major_yearscheck_minor_yearscheck_major_quarterscheck_minor_quarterss   &                 r   test_quarterly_finderr  m  s    Da-D;?DbyOPAXF(DDVLZ((Yt_EF2886$:6aqTT6$:;;OH XXV,VttV,-FXXV,VttV,-F%N%N&++j8A=&++j8A=)11Q6)11Q666#$$$$66#$$$$66&''''66&'''' %;,,s   (G6G;
H )	g     &@   P      i  i   i  i	  i  )0r   r   r   r   numpyr|   ra   pandas._config.config_configconfigrF   pandas._libs.tslibsr   pandasr   r   r   r	   r
   r   r   pandas._testing_testingr>   pandas.plottingr   r   pandas.tseries.offsetsr   r   r   r   importorskipr3   rT   rH   pandas.plotting._matplotlibr   rb   rc   r   r"   r$   ri   r   r   r   r  r!   r   r   <module>r     s     
   " " )     -.././ 1 " "FH& H&V~4 ~4BA AH : &VW( X(r   