
    MhAI              	       .   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r  S SK	r
S SK	JrJrJrJrJrJrJrJr  S SKJrJr  S SKJr  \R4                  R6                  rS rS rS	 rS
 r S r!S r"S r#S r$S r%\R4                  RM                  S5      S 5       r'S r(S r)\R4                  RM                  S5      S 5       r*S r+\R4                  RY                  SS\RZ                  " S\R\                  S9/5      S 5       r/S r0\R4                  RY                  S\Rb                  \Rd                  \3SS/5      S 5       r4S  r5S! r6\R4                  RY                  SS\RZ                  " S\R\                  S9/5      S" 5       r7S*S# jr8S*S$ jr9S% r:S& r;S' r<S( r=S) r>g)+    N)	Timestamp)is_platform_windows)	DataFrameDatetimeIndexIndexSeries_testingbdate_range
date_rangeread_hdf)_maybe_removeensure_clean_store)_test_decoratorsc                    ^ [         R                  " 5        mU4S jn [        [        R                  " S[        R
                  S9[        SSS9S9n[         R                  " X" SU5      5        [        [        S5      S[        S5       Vs/ s H  nS	U 3PM
     snS
9n[         R                  " X" SU5      5        [        S[        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[         R                  " X" SU5      5        [        [        S5      [        S5      S.5      nUR                  TSSS9  [!        TSS/S9n[         R                  " X3R"                  S:     U5        S S S 5        g s  snf s  snf ! , (       d  f       g = f)Nc                 F   > UR                   " T4SU 0UD6  [        TU 5      $ )Nkey)to_hdfr   )r   objkwargspaths      Z/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/pytables/test_round_trip.py	roundtrip'test_conv_read_write.<locals>.roundtrip!   s&    JJt///D#&&    
   dtype
2020-01-01periodsindexseriesfloat64i_r   r"   string_series皙?x         ABCDr+   i-columnsr"   frame   ABtableTr   appendzindex>2)where   )tmensure_cleanr   nparanger$   r   assert_series_equalranger   reshaper   listobjectassert_frame_equalr   r   r"   )r   oidfresultr   s        @r   test_conv_read_writerI      sx   		d	' IIb

+:lTV3W
 	q)Ha"8959Ib	5R	11#h	5RS
q)OQ"?@"))C.((11$v,f55959a2aS95VD

 	a7A!67 U1XE!H56
		$GD	1$	{;
bA.73 
	 6S 6# 
	s,   A4F>F4A6F>F9BF>4
F>>
Gc                     S/S-  n[        SU0US9n[        U 5       nUR                  SUS/S9  UR                  S5      n[        R
                  " X$5        S S S 5        g ! , (       d  f       g = f)N2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar   ar!   rG   )data_columns)r   r   r8   selectr;   rD   )
setup_pathdatarG   storerH   s        r   test_long_stringsrR   ;   sc    :?D	C;d	+B	J	'5T2SE2d#
b)	 
(	'	's   :A!!
A/c                    X-  n[        [        S5      5      nUR                  S S R                  USSSS9  UR                  SS  R                  USSSS9  [        R
                  " [        US5      U5        UR                  S S R                  USSSS9  UR                  SS  R                  USSSS9  [        R
                  " [        US5      U5        g )N   r   rG   Tr6   r   r8   formatFr   r@   ilocr   r;   rD   r   tmp_pathrO   r   rG   s       r   test_apir[   G   s      D	59	BGGCRL$tGDGGBCL$tGD(4.3 GGCRL$uWEGGBCL$tGD(4.3r   c                    X-  n[        [        S5      5      nUR                  S S R                  USSS9  UR                  SS  R                  USSSS9  [        R
                  " [        US5      U5        UR                  S S R                  USSSS9  UR                  SS  R                  USSS9  [        R
                  " [        US5      U5        g )	NrT   r   rG   Tr7   r6   rU   FrW   rY   s       r   test_api_appendr]   W   s     D	59	BGGCRL$t4GGBCL$tGD(4.3 GGCRL$uWEGGBCL$t4(4.3r   c                    X-  n[        [        S5      5      nUR                  USSSS9  [        R                  " [        US5      U5        UR                  USSSS9  [        R                  " [        US5      U5        UR                  USSS9  [        R                  " [        US5      U5        UR                  USS9  [        R                  " [        US5      U5        [        U5       n[        [        S5      5      n[        US5        UR                  SUR                  S S	 S
SS9  UR                  SUR                  S	S  S
SS9  [        R                  " UR                  S5      U5        [        US5        UR                  SUR                  S S	 SSS9  UR                  SUR                  S	S  S
SS9  [        R                  " UR                  S5      U5        [        US5        UR                  SUR                  S S	 SSS9  UR                  SUR                  S	S  S
SS9  [        R                  " UR                  S5      U5        [        US5        UR                  SUR                  S S	 SSS9  UR                  SUR                  S	S  S
S S9  [        R                  " UR                  S5      U5        S S S 5        g ! , (       d  f       g = f)NrT   rG   FfixedrU   fr7   )r   r   Tr6   )r8   rV   )r   r@   r   r;   rD   r   r   r   r8   rX   rN   )rZ   rO   r   rG   rQ   s        r   
test_api_2ra   e   sb    D	59	BIIdU7I;(4.3IIdU3I7(4.3IIdUI+(4.3IIdI(4.3	J	'5uRy!eT"T2773B<WET27723<WE
ell40"5 	eT"T2773B<gFT27723<WE
ell40"5 	eT"T2773B<gFT27723<WE
ell40"5eT"T2773B<gFT27723<TB
ell40"5/ 
(	'	's   -GK
Kc                    X-  n[        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9nS	n[        R                  " [        US
9   UR                  USSSS9  S S S 5        [        R                  " [        US
9   UR                  USSSS9  S S S 5        Sn[        R                  " [        US
9   UR                  USSSS9  S S S 5        [        R                  " [        US
9   UR                  USSSS9  S S S 5        SnSU S3n[        R                  " [        US
9   [        US5        S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       g = f)Nr(   r)   r*   r-   r   r+   r.   r/   zCan only append to TablesmatchrG   Tr`   rU   r_   z)invalid HDFStore format specified \[foo\]fooF zFile z does not exist)r   r=   r>   rA   r   rB   rC   r@   pytestraises
ValueErrorr   	TypeErrorFileNotFoundErrorr   )rZ   rO   r   rF   rG   msgs         r   test_api_invalidrm      sv    D	biin$$W--d6l&1uRy1y!r!Xy1@
B &C	z	-
		$Dc	: 
. 
z	-
		$Dg	> 
. 7C	y	,
		$De	< 
- 
y	,
		$Du	= 
- D$
'C	(	4t 
5	4/ 2
 
.	- 
.	-
 
-	, 
-	, 
5	4sB   E?FF9F&-F7)G
F
F#&
F47
G
Gc           	         [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9US'   UR                  S5      nUS   n[        R                  " X#5        UR                  S5      nUS   n[        R                  " X#5        [        R                  " [        SS	9   UR                  S
5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r   r   r!   rL   z/az'No object named b in the file'rc   b)r   r   r=   r>   r$   r   getr;   r?   rg   rh   KeyError)rO   rQ   leftrights       r   test_getrt      s    	J	'5IIb

+:lTV3W
c
 yy~c

t+yyd
t+]]8+LMIIcN N 
(	' NM 
(	's$   B(C(4CC(
C%	!C((
C6c                     [        [        R                  R                  S5      R	                  S5      5      n[        U[        R                  U 5        g )Nr:   )2   d   )r   r=   randomdefault_rngstandard_normal_check_roundtripr;   rD   )rO   rG   s     r   test_put_integerr|      s8    	299((+;;IF	GBR..
;r   c                    [        U 5       n[        S/ SQ0SS9nUR                  SU5        [        R                  " UR
                  US   R
                  5        [        S/ SQ0SS9nUR                  SU5        [        R                  " UR
                  US   R
                  5        [        R                  " S5      n[        R                  " [        US	9   UR                  SU5        S S S 5        [        [        R                  " S
/S/S//SS9S/S9nUR                  SU5        [        R                  " UR
                  US   R
                  5        UR
                  R                  S   S:X  d   e[        S Vs0 s H:  nU[        [        R                  R!                  S5      R#                  S5      US9_M<     sn5      nSUS'   SUS'   US   R%                  S5      US'   US   S:  US'   ['        S5      US'   ['        S5      US'   UR                  SU5        UR)                  S5      R
                  R+                  5       nUR,                   Vs/ s H  n[/        U5      PM     snUl        [        SS
S
S
S
S
S
S
SS.	S S!9nUR1                  5       nUR1                  5       n[        R                  " Xh5        S S S 5        g ! , (       d  f       GN= fs  snf s  snf ! , (       d  f       g = f)"NrL      r:      f8r   df_f8i8df_i8zinvalid combination of [values_axes] on appending data [name->values_block_0,cname->values_block_0,dtype->float64,kind->float,shape->(1, 3)] vs current table [name->values_block_0,cname->values_block_0,dtype->int64,kind->integer,shape->None]rc   r   r:   r   f4r4   r0   df_f4r   float32)r   r$   int32int64int16int8r2   re   string      ?float322bool20130101time120130102time2df_mixed_dtypes1)	r   r$   r   r   r   r   r   rC   zdatetime64[ns]count)name)r   r   r8   r;   r?   dtypesreescaperg   rh   ri   r=   arrayrX   r   rx   ry   integersastyper   rN   value_countsr"   str
sort_index)	rO   rQ   df1df2rl   crH   rF   expecteds	            r   "test_table_values_dtypes_roundtripr      s   	J	'5i(5Wc"
szz5>+@+@Ai(5Wc"
szz5>+@+@A ii
 ]]:S1LL#& 2
 1#sQC=uMWc"
szz5>+@+@Azzq!Y...  SRA 6"))//2;;A>aHHR
 HJj/00;J)nq(F ,G ,G'-0188EEG(.51A5"#
 
 ""$&&(
v0{ 
(	'$ 21 6Y 
(	's@   CK$K+BK$?AK
 BK$K-AK$
K	K$$
K2z(ignore::pandas.errors.PerformanceWarningc           
      ~   [        [        S5      S[        S5       Vs/ s H  nSU 3PM
     snS9n[        U[        R                  U S9  [        [
        R                  " S[
        R                  S9[        SSS9S	9n[        U[        R                  U S9  [        UR                  [        UR                  [        S95      n[        U[        R                  U S9  [        UR                  [        [
        R                  " UR                  [        S9[        S95      n[        U[        R                  U S
S9  g s  snf )Nr   r$   r%   r&   r   r   r   r   r!   F)r   check_index_type)r   r@   r{   r;   r?   r=   r>   r$   r   r"   r   rC   valuesasarray)rO   rF   ststs2ts3s         r   test_seriesr     s    uRy	E"I1NIqBqc(I1NOAQ..Z@	
		"BJJ'z,PR/S
B R//jA
58
9CS"00zB
E"**RXXV"DFS
TCR##*u 2Os   D:c                     [         R                  R                  S5      R                  S5      n[	        [         R                  R                  S5      R                  S5      US9n[        U[        R                  U S9  g )Nr:   r   r!   r   )r=   rx   ry   rz   r   r{   r;   r?   )rO   r"   r   s      r   test_float_indexr     sY    II!!!$44R8Eryy$$Q'77;5IAQ..Z@r   c                    [         R                  " S5      n/ SQn[         R                  R                  S5      R	                  S5      R                  S5      n[        X2US9n[        R                  " [        R                  R                  5         [        U[        R                  U S9  S S S 5        g ! , (       d  f       g = f)Nr   ))g        r   )       @      @)g      @g      @r:   r+   )r   r   )r"   r0   r   )r=   r>   rx   ry   rz   rA   r   r;   assert_produces_warningpderrorsPerformanceWarningr{   rD   )rO   colidxrP   DFs        r   test_tuple_indexr   "  s    
))B-C
.C99  #33B7??HD	4C	0B		#	#BII$@$@	AR22D 
B	A	As   B33
Cc                    [         R                  R                  S5      R                  S5      nS n[	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        US	S
/5      n[        X2U S9  [	        US	S/5      n[        X2U S9  [        SS/SS9n[	        XS9n[        X2U S9  UR                  R                  S5      Ul
        [        X2U S9  g )Nr:   c                 ,    [         R                  " XSS9$ )NT)r   )r;   r?   )lhsrhss     r   <lambda>"test_index_types.<locals>.<lambda>1  s    B223dSr   r   yr   rL   gGz?ro   r   g{Gz?r2   z
2012-01-01z
2012-01-02M8[ns]r   r!   r   )r=   rx   ry   rz   r   r{   datetimetodaydater   r"   as_unit)rO   r   funcserdtis        r   test_index_typesr   -  s   YY""1%55a8FSD
!S
"CSZ0
(++113Q7
8CSZ0
#q
"CSZ0
(----/5
6CSZ0
!S
"CSZ0
(++113Q7
8CSZ0
#q
"CSZ0
(----/5
6CSZ0
$
%CSZ0
!T
#CSZ0
!Q
 CSZ0
|4H
EC

#CSZ0		!!#&CISZ0r   c                 f   [        SS5      n[        [        R                  R	                  S5      R                  [        U5      5      US9n [        U[        R                  U S9  g ! [         a?    [        5       (       a.  UR                  [        R                  R                  S5      5        e f = f)Nz1/1/1940z1/1/1960r:   r!   r   z'known failure on some windows platforms)r
   r   r=   rx   ry   rz   lenr{   r;   r?   OverflowErrorr   applymarkerrg   markxfail)rO   requestdrr   s       r   test_timeseries_preepochr   \  s    	Z	,B			%%a(88RA	LBR33*E   !!"KL 	s   A' 'A	B0compressionFT)marksc                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        R                  UR                  S	'   [        R                  UR                  S
'   [        U[        R                  XS9  [        U[        R                  XS9  [        [        R                  R                  S5      R!                  S5      [	        [        S5      [        S9[#        SSSS9S9n[        U[        R                  XS9  [%        U5       n[        R                  R                  S5      R!                  ['        U5      5      US'   X5S'   US   nUR(                  R+                  5       (       d   e S S S 5        [        US S [        R                  US9  g s  snf ! , (       d  f       N0= f)Nr(   r)   r*   r-   r   r+   r.   r/   )r   r   )r2   r   r   r   r:   )r   r,   z
2000-01-01r   r5   )r    freqre   rG   r   r   )r   r=   r>   rA   r   rB   rC   r@   nanrX   _check_roundtrip_tabler;   rD   r{   rx   ry   rz   r   r   r   _mgris_consolidated)r   rO   rF   rG   tdfrQ   reconss          r   
test_framer   i  s    
biin$$W--d6l&1uRy1y!r!Xy1@
B FFBGGDMFFBGGDM
B!!
 
B!!
 
		a 009d6l&1r<C
 R"" 
J	'5II))!,<<SWE5	dt{{**,,,, 
( RVR22D? 2. 
(	's   G A%G%%
G3c                 t   [        [        S9n[        S[        S9n[        5       n[        / SQS9n[        / SQS9n[        U[        R
                  U S9  [        U[        R
                  U S9  [        U[        R                  U S9  [        U[        R                  U S9  [        U[        R                  U S9  g )	Nr   myseries)r   r   rL   ro   r   r!   )der`   r   r   )r   rC   r   r{   r;   r?   rD   )rO   s0s1df0r   r   s         r   test_empty_series_framer     s    	f	B	Zv	.B
+C
/
*C
O
,CR//jAR//jAS"//jAS"//jAS"//jAr   r   zm8[ns]r   c                 H    [        U S9n[        U[        R                  US9  g )Nr   r   )r   r{   r;   r?   )r   rO   r   s      r   test_empty_seriesr     s    UAQ..Z@r   c                    [        SS5       Vs/ s H  oR                  5       PM     nn[        [        R                  R                  S5      R                  [        U5      S45      US9n[        U[        R                  U S9  g s  snf )Nz1/1/2000z	1/30/2000r:   r,   r!   r   )r
   r   r   r=   rx   ry   rz   r   r{   r;   rD   )rO   xrngr1   s       r   test_can_serialize_datesr     sn    ([A
BA668AC
B
		a 00#c(A?sE UB11
C Cs   Bc                 @   Un[        U[        R                  U S9  [        UR                  [        R                  U S9  [        US   [        R                  U S9  [        U 5       nX#S'   US   n[        R                  " XB5        S S S 5        g ! , (       d  f       g = f)Nr   r4   r1   )r{   r;   rD   Tr?   r   )rO    multiindex_dataframe_random_datar1   rQ   r   s        r   test_store_hierarchicalr     s{    ,EUB11
CUWWb33*EU3Z!7!7jI 
J	'5gw
f, 
(	'	's   & B
Bc                    S nU" 5       nU" 5       n[        U[        R                  US9  [        U[        R                  US9  [        U5       nX5S'   [        R                  " US   U5        XES'   [        R                  " US   U5        S S S 5        [        US   [        R                  UU S9  [        US   [        R                  UU S9  [        US   [        R                  UU S9  g ! , (       d  f       Nf= f)Nc                  ^   [        S[        R                  " S5      R                  S5      -  [	        [        S5      [        S9[	        [        S5       V s/ s H  n SU  3PM
     sn [        S9S9nS	US
'   SUS'   US   S:  US'   US   S:  US'   SUS'   SUS'   UR                  5       $ s  sn f )Nr(   r)   r*   r-   r   r+   r.   r/   re   obj1barobj2r4   r   bool1r5   bool2r   int1r:   int2)	r   r=   r>   rA   r   rB   rC   r@   _consolidate)rF   rG   s     r   	_make_one#test_store_mixed.<locals>._make_one  s    "))C.((11$v,f55959a2aS95VD

 6
6
gk7gk76
6
   6s   B*r   r   r   r   r   r   )r{   r;   rD   r   r?   )r   rO   r   r   r   rQ   s         r   test_store_mixedr    s    ! +C
+CS"//jAS"//jA	J	'5e
eElC0e
eElC0	 
( F
	 G
	 F
	' 
(	's   =C,,
C:c                     0 nU(       a  SUS'   [        US40 UD6 nXS'   US   nU" Xp40 UD6  S S S 5        g ! , (       d  f       g = f)Nblosccomplibwr   )r   )r   
comparatorr   r   r   optionsrQ   	retrieveds           r   r{   r{     sN    G$		D#	1	1Ue%L	9,V, 
2	1	1s	   8
Ac                     0 nU(       a  SUS'   [        US40 UD6 nUR                  SU SS9  US   nU" X`5        S S S 5        g ! , (       d  f       g = f)Nr  r  r  r   r6   )rV   )r   put)r   r  r   r   r  rQ   r  s          r   r   r     sT    G$		D#	1	1U		%W	-%L	9"	 
2	1	1s   A
Ac                     SS/n[        [        R                  R                  S5      R	                  [        U5      5      U5      n[        U[        R                  U S9  g )Nu   σu   σσr:   r   )	r   r=   rx   ry   rz   r   r{   r;   r?   )rO   unicode_valuesr   s      r   test_unicode_indexr    sO    /N
		a 00^1DE	A Q..Z@r   c                    Sn[        SU/05      n[        U 5       nUR                  SUSSS9  UR                  S5      n[        R
                  " XB5        S S S 5        [        SU/SS/S	.5      n[        U 5       nUR                  SUSSS9  UR                  S5      n[        R
                  " XB5        S S S 5        g ! , (       d  f       Nn= f! , (       d  f       g = f)
Nu   Δr4   rG   r6   zutf-8)rV   encodingrL   ro   r3   )r   r   r
  rp   r;   rD   )rO   charrG   rQ   rH   s        r   test_unicode_longer_encodedr    s    D	C$=	!B	J	'5		$7W	=4
f) 
(
 
#tC:6	7B	J	'5		$7W	=4
f) 
(	' 
(	' 
(	's   :B>;:C>
C
Cc                     [        / SQ/ SQ/ SQS.5      n[        [        R                  " S[        R                  S9[        SSS9S9nUR                  S S	 US
'   [        U[        R                  U S9  g )Nr~   )r   r   r   r   r   r   r   r   r!   r   r   r   )
r   r   r=   r>   r$   r   r"   r{   r;   rD   )rO   rG   r   s      r   test_store_datetime_mixedr  !  s`    	O	PB	
		"BJJ'z,PR/S
B hhrlBsGR..Z@r   c                     [        SS/SS/S.5      nX-  nUR                  USSS9  [        US5      n[        R                  " X$5        UR                  U5      (       d   eUR                  U5      (       d   eg )	Nr   r:   r   r   )r5   r4   rG   r6   r   rV   )r   r   r   r;   rD   equals)rZ   rO   rG   r   others        r   test_round_trip_equalsr  *  sw    	!QsCj1	2B DIIdWI-T4 E"$99U<<r   c           
         [         R                  " S5        X-  n[        R                  " SS5         [	        S[        S5      [        [        S5      5      S9R                  SS	/5      nUR                  5       nUR                  US
SS9  [        US
5      n[        R                  " XT5        S S S 5        g ! , (       d  f       g = f)Npyarrowzfuture.infer_stringTr   r-   r   r/   r4   r5   rG   r6   r  )rg   importorskipr   option_contextr   rB   r@   	set_indexcopyr   r   r;   rD   )rZ   rO   r   rG   r   rH   s         r   test_infer_string_columnsr  6  s    
	" D			0$	7q$v,d59oFPP#J
 779
		$D	1$%
f/ 
8	7	7s   A;B66
C)F)?r   r   numpyr=   rg   pandas._libs.tslibsr   pandas.compatr   pandasr   r   r   r   r   r	   r;   r
   r   r   pandas.tests.io.pytables.commonr   r   pandas.utilr   tdr   
single_cpu
pytestmarkrI   rR   r[   r]   ra   rm   rt   r|   r   filterwarningsr   r   r   r   r   parametrizeparamskip_if_windowsr   r   r   r$   rC   r   r   r   r  r{   r   r  r  r  r  r   r   r   <module>r.     s    	   ) - 	 	 	 /[[##
8:	*4 4'6TB"<>1B FG H$AE FG+1 H+1\
 E6<<B4F4FGH#E#ELB 288RZZ8"TUA VA
D- E6<<B4F4FGH--`-	#A* A	0r   