
     -iI              	       0   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      5      [        [        S5       Vs/ s H  nSU 3PM
     sn5      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      [/var/www/html/venv/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assert_frame_equalr   r   r"   )r   oidfresultr   s        @r   test_conv_read_writerH      st   		d	' IIb

+:lTV3W
 	q)Ha"8959Ib	5R	11#h	5RS
q)OQ"?@"))C.((11$v,'5959a2aS956

 	a7A!67 U1XE!H56
		$GD	1$	{;
bA.73 
	 6S 6# 
	s,   A4F8F.A3F8F3B	F8.
F88
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!   rF   )data_columns)r   r   r8   selectr;   rC   )
setup_pathdatarF   storerG   s        r   test_long_stringsrQ   ;   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   rF   Tr6   r   r8   formatFr   r@   ilocr   r;   rC   r   tmp_pathrN   r   rF   s       r   test_apirZ   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 )	NrS   r   rF   Tr7   r6   rT   FrV   rX   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)NrS   rF   FfixedrT   fr7   )r   r   Tr6   )r8   rU   )r   r@   r   r;   rC   r   r   r   r8   rW   rM   )rY   rN   r   rF   rP   s        r   
test_api_2r`   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      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      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/   zCan only append to TablesmatchrF   Tr_   rT   r^   z)invalid HDFStore format specified \[foo\]fooF zFile z does not exist)r   r=   r>   rA   r   rB   r@   pytestraises
ValueErrorr   	TypeErrorFileNotFoundErrorr   )rY   rN   r   rE   rF   msgs         r   test_api_invalidrl      sr    D	biin$$W--d6l#uRy1y!r!Xy12
B &C	z	-
		$Dc	: 
. 
z	-
		$Dg	> 
. 7C	y	,
		$De	< 
- 
y	,
		$Du	= 
- D$
'C	(	4t 
5	4/ 2
 
.	- 
.	-
 
-	, 
-	, 
5	4sB   E9	E>=F3F 'F1#G>
F
F 
F.1
F?
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!   rK   z/az'No object named b in the file'rb   b)r   r   r=   r>   r$   r   getr;   r?   rf   rg   KeyError)rN   rP   leftrights       r   test_getrs      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;   rC   )rN   rF   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        U(       a  SOS n	[        SSS!S
S"S
SS
S#S
S$S
S%S
U	S
S&S0	S'S(9n
UR1                  5       nU
R1                  5       n
[        R                  " Xz5        S S S 5        g ! , (       d  f       GN= fs  snf s  snf ! , (       d  f       g = f))NrK      r:      f8r   df_f8i8df_i8zdCannot serialize the column [a] because its data contents are not [float] but [integer] object dtyperb   r~   r:   r   f4r4   r0   df_f4r   float32)r   r$   int32int64int16int8r2   rd   string      ?float322bool20130101time120130102time2df_mixed_dtypes1strobjectr$   r   r   r   r   zdatetime64[ns]count)name)r   r   r8   r;   r?   dtypesreescaperf   rg   rh   r=   arrayrW   r   rw   rx   integersastyper   rM   value_countsr"   r   
sort_index)rN   using_infer_stringrP   df1df2rk   crG   rE   	str_dtype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/EX	111 !
 
 ""$&&(
v0w 
(	' 21 6S 
(	's@   CK7K+BK7?AK-
 BK7K2-A%K7
K*	%K77
Lz(ignore::pandas.errors.PerformanceWarningc           	      l   [        [        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                  5      5      n[        U[        R                  U S9  [        UR                  [        [
        R                  " UR                  5      5      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@   rz   r;   r?   r=   r>   r$   r   r"   r   valuesasarray)rN   rE   ststs2ts3s         r   test_seriesr     s    uRy	E"I1NIqBqc(I1NOAQ..Z@	
		"BJJ'z,PR/S
B R//jA
5?
+CS"00zB
E"**RXX"67
8CR##*u 2Os   D1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=   rw   rx   ry   r   rz   r;   r?   )rN   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>   rw   rx   ry   rA   r   r;   assert_produces_warningpderrorsPerformanceWarningrz   rC   )rN   colidxrO   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>/  s    B223dSr   r   yr   rK   gGz?rn   r~   g{Gz?r2   z
2012-01-01z
2012-01-02M8[ns]r   r!   r   )r=   rw   rx   ry   r   rz   datetimetodaydater   r"   as_unit)rN   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=   rw   rx   ry   lenrz   r;   r?   OverflowErrorr   applymarkerrf   markxfail)rN   requestdrr   s       r   test_timeseries_preepochr   Z  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      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      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      5      [!        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 n[	        / 5      Ul        [        US S [        R                  US9  g s  snf ! , (       d  f       NE= f)Nr(   r)   r*   r-   r+   r.   r/   )r   r   )r2   r   r   r   r:   )r   r,   z
2000-01-01r   r5   )r    freqrd   rF   r   r   )r   r=   r>   rA   r   rB   r@   nanrW   _check_roundtrip_tabler;   rC   rz   rw   rx   ry   r   r   r   _mgris_consolidatedr"   )r   rN   rE   rF   tdfrP   reconsr   s           r   
test_framer   g  s    
biin$$W--d6l#uRy1y!r!Xy12
B FFBGGDMFFBGGDM
B!!
 
B!!
 
		a 009d6l#r<C
 R"" 
J	'5II))!,<<SWE5	dt{{**,,,, 
( Ra&Cb	CIS!Wb33*EE 2. 
(	's   G,A%G11
G?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   rK   rn   r   r!   )der_   r   r   )r   r   r   rz   r;   r?   rC   )rN   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   rz   r;   r?   )r   rN   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=   rw   rx   ry   r   rz   r;   rC   )rN   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(       a>  Sn[         R                  " [        US9   [        U[        R
                  U S9  S S S 5        g [        U[        R
                  U S9  [        UR                  [        R
                  U S9  [        US   [        R                  U S9  [        U 5       nX5S'   US   n[        R
                  " Xc5        S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)Nz=Saving a MultiIndex with an extension dtype is not supported.rb   r   r4   r1   )	rf   rg   NotImplementedErrorrz   r;   rC   Tr?   r   )rN   r    multiindex_dataframe_random_datar1   rk   rP   r   s          r   test_store_hierarchicalr     s     -EM]].c:UB$9$9
K ;UB11
CUWWb33*EU3Z!7!7jI 
J	'5gw
f, 
(	' ;: 
(	's   C+ C%
C"%
C3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                  R   [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       V s/ s H  n SU  3PM
     sn 5      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/   rd   obj1barobj2r4   r   bool1r5   bool2r~   int1r:   int2)r   r=   r>   rA   r   rB   r@   _consolidate)rE   rF   s     r   	_make_one#test_store_mixed.<locals>._make_one  s    "))C.((11$v,'5959a2aS956

 6
6
gk7gk76
6
   6s   B$r   r   r   r   r   r   )rz   r;   rC   r   r?   )r   rN   r  r   r   rP   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   optionsrP   	retrieveds           r   rz   rz     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   )rU   )r   put)r   r	  r   r   r
  rP   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=   rw   rx   ry   r   rz   r;   r?   )rN   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   rF   r6   zutf-8)rU   encodingrK   rn   r3   )r   r   r  ro   r;   rC   )rN   charrF   rP   rG   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"   rz   r;   rC   )rN   rF   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   rF   r6   r   rU   )r   r   r   r;   rC   equals)rY   rN   rF   r   others        r   test_round_trip_equalsr  3  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   rF   r6   r  )rf   importorskipr   option_contextr   rB   r@   	set_indexcopyr   r   r;   rC   )rY   rN   r   rF   r   rG   s         r   test_infer_string_columnsr"  ?  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=   rf   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
pytestmarkrH   rQ   rZ   r\   r`   rl   rs   r{   r   filterwarningsr   r   r   r   r   parametrizeparamskip_if_windowsr   r   r   r$   r   r   r   r   r  rz   r   r  r  r  r  r"   r   r   <module>r1     s    	   ) - 	 	 	 /kk$$%
8:	*4 4'6TB"<<1~ FG H$AE FG+1 H+1\
 E6<<B4F4FGH&F&FRB 288RZZ8"TUA VA
D-, E6<<B4F4FGH--`-	#A* A	0r   