
    Mh                        S SK r S SKrS SK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JrJrJrJrJr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Jr  \R<                  R>                  r \RB                  " S5      r"S r#S r$S r%S	 r&S
 r'S r(\R<                  RS                  SSSS1\*" 5       4\*" 5       SS14S1SS14\*" 5       S14S.4SS1SS14\*" 5       S14S.4/5      S 5       r+S r,S r-S r.S r/\R<                  RS                  SSS /5      S! 5       r0S" r1S# r2S$ r3S% r4S& r5S' r6S( r7S) r8\R<                  RS                  S*SS+/5      \R<                  RS                  S,S S/5      S- 5       5       r9S. r:S/ r;S0 r<S1 r=S2 r>S3 r?S4 r@S5 rA\R<                  RS                  S6/ S7Q5      S8 5       rBS9 rCS: rDS; rE\R<                  RS                  S<S=S>/5      S? 5       rFS@ rGSA rHSB rI\R<                  R                  SC5      \R<                  RS                  SD\" S SE/\R                  SF9\" SGSH/\R                  SF9\" SISJSK9\" SLSJSK9\" SISJSMSN9/5      SO 5       5       rM\R<                  RS                  SPSSQ/5      SR 5       rNSS rOST rPg)U    N)
	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeperiod_rangetimedelta_range)_maybe_removeensure_clean_storeHDFStoreread_hdftablesc                    [         R                  " U 5       n [        U5       n[        S5      e! , (       d  f       O= f! [         a     Of = fS S S 5        O! , (       d  f       O= f[         R                  " U 5       n[        U5       n[	        S[
        R                  " S5      R                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nSU 3PM
     Os  snf sn[        S9S	9US
'   [        U5      S:X  d   e[        US
   5      [        :X  d   e S S S 5        O! , (       d  f       O= fS S S 5        g ! , (       d  f       g = f)Nblah皙?x         ABCDdtyper   i-columnsindexa   )tmensure_cleanr   
ValueErrorr   nparangereshaper   listobjectrangelentype)
setup_pathpathtblis       U/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/pytables/test_store.pytest_contextr3   '   s    		$	$3 ((   			 
%	$	$ 
	$d^s biin,,W55d6l&9uRy9y!r!Xy9HCH
 s8q= =C>Y... ^^ 
%	$	$sp   AA0
>	AAA
AAAA
A(EAD9"C21>D90	E9
E	E
E!c                    ^^ [         R                  S4S jmUU4S jnU" U SS9nU" U SS9n[        R                  " S5        U" U SS9nU" U SS9nX5:X  d   eXF:w  d   eg )N   c                    ^^^ U" 5       m[        U S5       m[        UUU4S jS5       H  nTR                  U5        M     S S S 5        TR                  5       $ ! , (       d  f       TR                  5       $ = f)Nrbc                  @   > TR                  T TR                  -  5      $ N)read
block_size)chunk_num_blocksfhs   r2   <lambda>7test_no_track_times.<locals>.checksum.<locals>.<lambda>@   s    aff-=-L&M    rA   )openiterupdatedigest)filenamehash_factoryr<   chunkr=   r>   s     ` @@r2   checksum%test_no_track_times.<locals>.checksum=   s^    N(D!QMsS T " xxz "! xxzs   +A
A7c           
         > U T-  n[        SS/05      n[        USS9 nUR                  SUSSS US9  S S S 5        T" U5      $ ! , (       d  f       N= f)Nr!   r"   wmodetableT)formatdata_columnsr    track_times)r   r   put)tmp_pathrR   r/   dfhdfrI   r.   s        r2   create_h5_and_return_checksum:test_no_track_times.<locals>.create_h5_and_return_checksumD   sf    *$aSz"d%GG!'   & ~ &%s   A
AF)rR   Tr"   )hashlibmd5timesleep)rT   r.   rW   checksum_0_tt_falsechecksum_0_tt_truechecksum_1_tt_falsechecksum_1_tt_truerI   s    `     @r2   test_no_track_timesra   9   sw     )0c   8eT6xTR 	JJqM7eT6xTR 555 333rA   c                 r    [        U 5       n[        U5      / :X  d   e S S S 5        g ! , (       d  f       g = fr9   )r   r)   )r.   stores     r2   test_iter_emptyrd   d   s*    	J	'5E{b    
(	'	's   (
6c                    [        U 5       n[        U5        UR                  5         [        [        R
                  " S[        R                  S9[        SSS9S9US'   [        [        S5      S[        S5       Vs/ s H  nSU 3PM
     snS	9US
'   [        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US'   [        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'   S US!'   [        S"5      US#'   [        S$5      US%'   [        R                   " S&SS SS5      US''   [        R                   " S&SS(SS5      US)'   [        R"                  UR$                  UR&                  S(S* S/4'   UR)                  5       n[*        R,                  " [.        R0                  R2                  5         X1S+'   S S S 5        UR4                  R7                  UR4                  R8                  S,5        UR:                  [        U5      ;   d   eUR:                  [=        U5      ;   d   eUR                  5         S S S 5        [        U 5       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UR?                  S+U5        URA                  S+5      n[        U5        [=        U5        S S S 5        g s  snf s  snf s  snf ! , (       d  f       GNY= f! , (       d  f       N= fs  snf ! , (       d  f       g = f)-N
   r   
2020-01-01periodsr    r!   float64i_)r   r    br   r   r   r   r   r   r   cfooobj1barobj2Ar   bool1Bbool2Tbool3r"   int1   int220010102
timestamp120010103
timestamp2i  	datetime1   	datetime2   rU   bah)!r   reprinfor   r&   r'   rk   r
   r+   r   r(   r   r)   r*   r   dtdatetimenanlocr    _consolidater#   assert_produces_warningpderrorsPerformanceWarning_handlecreate_grouprootrF   strappend
get_storer)r.   rc   r1   rU   ss        r2   	test_reprr   j   sL   	J	'5U

IIb

+:lTV3W
c
 "IYr.KAA3x.K
c
 "))C.((11$v,f55959a2aS95VD
c
 "))C.((11$v,f55959a2aS95VD

 6
6
gk7gk776
6
$Z0<$Z0<++dAq!Q7;++dAq!Q7;*,&&rxx!}vh&'__''		(D(DE$K F 	""5==#5#5u=~~e,,,~~U+++

U 
(Z 
J	'5"))C.((11$v,f55959a2aS95VD

 	T2T"QA 
(	'M /L
 6 6  FEE 
(	'b 6	 
(	'sr   A/O;N+
AO&N05A#ON5'C<O#N:(A>O9AO"OAO"+O:
O		O
OO""
O0c                    [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9US'   [        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US'   [        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US'   SU;   d   eSU;   d   eSU;  d   eSU;   d   eSU;   d   eSU;  d   eSU;  d   e[        R                  " [        R                  SS9   [        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US'   S S S 5        SU;   d   e S S S 5        g s  snf s  snf s  snf ! , (       d  f       N/= f! , (       d  f       g = f)Nrf   r   rg   rh   rj   r!   r   r   r   r   r   r   r   rm   zfoo/barrn   z/foo/barz/foo/brq   F)check_stacklevelznode()))r   r   r&   r'   rk   r
   r   r(   r   r)   r*   r+   r#   r   r   NaturalNameWarning)r.   rc   r1   s      r2   test_containsr      s   	J	'5IIb

+:lTV3W
c
 "))C.((11$v,f55959a2aS95VD
c

 %"))C.((11$v,f55959a2aS95VD
i
 e||e||%E!!!U"""u$$$E!!! ''%%
  )biin,,W55d6l&9uRy9y!r!Xy9H E)
 E!!!? 
(	' 6
 6" :
 
/ 
(	'sW   BH/H&A#H/	HA*H/AHH&H5H/
H/H
H,	(H//
H=c                    [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9US'   [        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US'   [        [        R                  R                  S5      R                  S5      [        [        S
5      [        S9[        SSSS9S9n[        US5        UR!                  SUS S 5        UR!                  SUSS  5        UR"                  R$                  R&                  R(                  S:X  d   eUR"                  R*                  R&                  R(                  S:X  d   eUR"                  R,                  R&                  R(                  S:X  d   e[        US5        UR!                  SU5        S UR/                  S5      R&                  l        Sn[0        R2                  " [4        US9   UR7                  S5        S S S 5        S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       g = f)Nrf   r   rg   rh   rj   r!   r   r   r   r   r   r   r   rm   ry   )   r   
2000-01-01r   ru   ri   freqdf1z0.15.2df2z/'NoneType' object has no attribute 'startswith'match)r   r   r&   r'   rk   r
   r   r(   r   r)   r*   r+   randomdefault_rngstandard_normalr   r   r   r!   _v_attrspandas_versionrm   r   get_nodepytestraises	Exceptionselect)r.   rc   r1   rU   msgs        r2   test_versioningr      s   	J	'5IIb

+:lTV3W
c
 "))C.((11$v,f55959a2aS95VD
c

 II!!!$44W=$v,f5\2C@

 	eU#UBsG$UBrsG$zz||$$33x???zz||$$33x???zz~~&&55AAA 	eU#UB 9=u&&5?]]9C0LL 1? 
(	' 60 10? 
(	's7   BI"I&FI")I;I"I"
I	I""
I0zwhere, expected/first_groupsecond_groupr   r   third_groupdf3s1df4) /first_group/second_group/second_group/third_groupr   )r   r   c                    [        / SQ5      [        / SQ5      [        / SQ5      [        / SQ5      [        / SQ5      [        R                  " / SQ/ SQ/5      [        R                  " SS/SS9[        R                  " SS	/SS9S
.n[	        SSS9 nUR                  SUS   5        UR                  SUS   5        UR                  SUS   5        UR                  SUS   5        UR                  SUS   5        UR                  R                  SSUS   5        UR                  R                  SSUS   S9  UR                  R                  SSUS   S9  [        [        UR                  U S95      5      [        U5      :X  d   eUR                  U S9 H  u  pEnXA;   d   eX   u  pxU[        U5      :X  d   eU[        U5      :X  d   eU H`  n	SR                  XI/5      n
UR                  U
5      nS U	;   a  [        R                   " XU	   5        MG  [        R"                  " XU	   5        Mb     M     S S S 5        g ! , (       d  f       g = f)!N)r"   ry   r   )r      r   )r         )	   rf      )rf   r   r   zi,i,ir   )r   r   r   )rf   r      )r   r   r   r   r   a1tb1tb2zwalk_groups.hdfrL   rM   z/first_group/df1r   z/first_group/df2r   z/second_group/df3r   z/second_group/s1r   z/second_group/third_group/df4r   r   r   r   )objr   r   wherer   rU   )r   r   r&   arrayr   rS   r   create_arraycreate_tabler,   r)   walksetjoingetr#   assert_frame_equalassert_series_equal)r   expectedobjsrc   r/   groupsleavesexpected_groupsexpected_framesleaf
frame_pathr   s               r2   	test_walkr      s   0 ###%Z hh	9-.xxI.g>xxL1A
D 
-C	8E		$d5k2		$d5k2		%tE{3		$d4j1		14;?"">4dD"">5d5k"J""?EtE{"K4


/01S]BBB$)JJUJ$; D&###/7~,O"c&k111"c&k111 XXtl3
ii
+4<))#Dz:**3T
;  %< 
9	8	8s   F$H>>
Ic                    [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9nX!S'   UR                  n[        R                  " X25        [        US5      n[        R                  " X25        [        [        R                  R                  S5      R                  S5      [        [        S	5      [         S9[        S
SSS9S9nXAS'   UR"                  n[        R$                  " X45        S H6  nSU S3n[&        R(                  " [*        US9   [        X5        S S S 5        M8     S H  n[        USU 35        M     S S S 5        g ! , (       d  f       Mj  = f! , (       d  f       g = f)Nrf   r   rg   rh   rj   r!   ry   rf   r   r   r   ru   r   r   rU   )drN   r/   handlecomplibz$'HDFStore' object has no attribute ''r   )rN   r/   r   r   _)r   r   r&   r'   rk   r
   r!   r#   r   getattrr   r   r   r   r   r)   r*   rU   r   r   r   AttributeError)r.   rc   r   resultrU   xr   s          r2   test_getattrr   )  s=   	J	'5IIb

+:lTV3W
 c
 
v)$
v)II!!!$44W=$v,f5\2C@

 d
f) <A81=C~S9! :9 < 7AEQqc7# 79 
(	'0 :91 
(	's$   DE2'E 3$E2 
E/*E22
F c                 .   [        S[        R                  S/S[        R                  [        R                  /S.[        S5      S9n[        SS/S[        R                  /S.[        S5      S9nX-  nUR	                  USS	S
9  [        US5      n[        R                  " X%5        X-  nUR	                  USS	SS9  [        US5      n[        R                  " X%5        X-  nUR	                  USS	SS9  [        US5      n[        R                  " X55        g )N               @      ?)col1col2abcrj   acrU   rO   keyrP   F)r   rP   dropnaT)r   r&   r   r)   to_hdfr   r#   r   )rT   r.   df_with_missingdf_without_missingr/   reloadeds         r2   test_store_dropnar   J  s   rvvs#c266266-BC5kO #sc266]34:  D4T':d#H/4 D4T'%Hd#H/4 D4T'$Gd#H,7rA   c                     X-  nSn[        SSSS.SSSS./5      n[        R                  " [        US9   UR	                  US5        S S S 5        g ! , (       d  f       g = f)NztStarting with pandas version 3.0 all arguments of to_hdf except for the argument 'path_or_buf' will be keyword-only.r"   ry   r   )rs   ru   Cr   r   )r   r#   r   FutureWarningr   )rT   r.   r/   r   rU   s        r2   test_keyword_deprecationr   e  s]     D	7  
!!!,AAA.FG	HB		#	#M	=
		$ 
>	=	=s   A
Ac           
      P   X-  n[        / SQ/ SQ[        / SQ[        S9[        SSS9S.5      R	                  S	5      nUR                  US
SSS0S9  UR                  5       R                  5       R                  SS9R	                  S	5      nUR                  US
SSS9  [        R                  " [        US
5      [        X4/5      5        US   R                  USSSS0S9  US   R                  USSSS9  [        R                  " [        US5      [        US   US   /5      5        g )N)r   r   r   g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo5r   20130101r   rh   )rs   ru   r   Dr   ss3rO   r    r   )r   rP   min_itemsizelonger)r   T)r   r   rP   ru   ss4)r   r   r*   r
   	set_indexr   copyreset_indexassignr#   r   r   r	   r   )rT   r.   r/   rU   r   s        r2   test_to_hdf_with_min_itemsizer
  s  s    D 
**?vNJ2		

 in  IIdgWaLII
'')


!
(
(8
(
4
>
>s
CCJJttGJ<(4/	1BC sGNN4U7'1NNHOODeDOA8D%0&"S'3s89L2MNrA   rP   fixedrO   c                     S/n[        U[        U5      S9nX-  nUR                  USUSS9  [        USSS9n[        R
                  " Xd5        g )Nu   foorj   rO   surrogatepass)r   rP   r   )r   )r   r   r   r   r#   r   )rT   rP   r.   dataserr/   r   s          r2   test_to_hdf_errorsr    sQ    =D
U4[
)C DJJtJHdGO<F6'rA   c                 R  ^ [        U 5       mU4S jn[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9nSUS'   SUS'   TR                  SUSS/S9  U" SS5      R                  SL d   eU" SS5      R                  SL d   eU" SS5      R                  SL d   eTR                  SUS/SS/S9  U" SS5      R                  SL d   eU" SS5      R                  SL d   eU" SS5      R                  SL d   e[        TS5        TR                  SU5        Sn[        R                  " [         US9   TR#                  S5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nc                 b   > [        TR                  U 5      R                  R                  U5      $ r9   r   r   rO   colstcolumnrc   s     r2   col$test_create_table_index.<locals>.col  '    5++A.44996BBrA   ry   r   r   r   r   rf   ru   r   r   ro   stringrq   string2r=   rQ   r    Tf2)r    rQ   Fz1cannot create table index on a Fixed format storer   )r   r   r&   r   r   r   r   r)   r*   r
   r   
is_indexedr   rS   r   r   	TypeErrorcreate_table_indexr.   r  rU   r   rc   s       @r2   test_create_table_indexr#    s   	J	'5	C II!!!$44W=$v,f5\2C@

 89S"Hi+@A3 ++t3333!,,4443	"--555 	T2hZx>ST4!,,5554"--5554#..%777 	eT"		$A]]9C0$$T* 19 
(	'8 109 
(	's$   EF$F6F
F	F
F&c                   ^ [        U 5       mU4S jn[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9nSUS'   SUS'   TR                  SUS/S9  U" SS5      R                  SL d   eU" SS5      R                  SL d   eSn[        R                  " [        US9   U" SS5      R                    S S S 5        Sn[        R                  " [        US9   TR                  SS/S9  S S S 5        S S S 5        g ! , (       d  f       NL= f! , (       d  f       N(= f! , (       d  f       g = f)Nc                 b   > [        TR                  U 5      R                  R                  U5      $ r9   r  r  s     r2   r  :test_create_table_index_data_columns_argument.<locals>.col  r  rA   ry   r   r   r   r   rf   ru   r   r   ro   r  rq   r  r=   r  r    Tz('Cols' object has no attribute 'string2'r   zcolumn string2 is not a data_column.
In order to read column string2 you must reload the dataframe 
into HDFStore and include string2 with the data_columns argument.r   )r   r   r&   r   r   r   r   r)   r*   r
   r   r  r   r   r   r!  r"  s       @r2   -test_create_table_index_data_columns_argumentr(    s6    
J	'5	C II!!!$44W=$v,f5\2C@

 89S"H:63 ++t3333!,,4448]]>5Y** 6
P 	
 ]]>5$$S9+$> 67 
(	'$ 65 657 
(	's<   CED*$#ED;E*
D8	4E;
E		E
Ec                 T   [         R                  " [        SSS9[        S5      /SS/S9n[	        S/ SQ0US	9n[        U 5       nUR                  S
USS9  UR                  S
SS9nUR                  S/S S 24   n[        R                  " XE5        S S S 5        g ! , (       d  f       g = f)Nr   r   rh   dateid)namesr!   )r   g333333?g?gffffff?g      ?rj   rU   Tr  zid == 1r   r"   )r   from_arraysr
   r+   r   r   r   r   ilocr#   r   )r.   idxrU   rc   actualr   s         r2   test_mi_data_columnsr1    s    

 
 	L!	,eAh7~C 
C233	?B	J	'5T2D1d)477A36?
f/ 
(	'	's   AB
B'c                 f   [        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'   SUS'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        R                  UR                  UR                  SS  S
/4'   UR                  5       n[        U 5       nUR                  S!U5        [         R"                  " UR%                  S!5      U5        S S S 5        g s  snf ! , (       d  f       g = f)"Nr   r   r   r   r   r   r   r   ro   rp   rq   rr   rs   r   rt   ru   rv   Trw   r"   rx   ry   rz   r{   nsr|   r}   r~   r   r   r   r   	df1_mixed)r   r&   r'   r(   r   r)   r*   r+   r   as_unitr   r   r    r   r   r   r#   r   r   )r.   r1   rU   rc   s       r2   test_table_mixed_dtypesr6    s   	biin$$W--d6l&1uRy1y!r!Xy1@
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,44T:B| ,44T:B|
+33D9B{O
+33D9B{O&(ffBFF288Aa=6("#		B	J	'5["%
ell;7< 
(	'! 2  
(	's   F9F""
F0c                    SnS[         R                  " SSS5      [        R                  " S5      /n[        R
                  R                  X!S9n[         R                  " SSS	5      n[        USUS
9n[        UR                  U5      R                  [        SR                  5       5      5      n[        U 5       nUR                  SU5        UR                  S5      n[        R                   " X5        UR#                  SU5        UR                  S5      n[        R                   " X5        S S S 5        g ! , (       d  f       g = f)NzSun Mon Tue Wed Thuz
2012-05-01i  r   r"   z
2014-05-01)holidaysweekmaskr   r   r   zMon Tue Wed Thu Fri Sat Sunr  rO   )r   r   r&   
datetime64r   offsetsCustomBusinessDayr
   r   weekdaymapsplitr   rS   r   r#   r   r   )	r.   weekmask_egyptr8  
bday_egyptmydtdtsr   rc   r   s	            r2   test_calendar_roundtrip_issuerD    s    +N
D!Q
l#H
 -- . J ;;tQ#D
T1:
6Cs{{C $$V,I,O,O,Q%RSA	J	'5		'1g&
v)Wa g&
v) 
(	'	's   9A3D55
Ec                    [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9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X!S'   XAS'   [        US5        [        U5      S:X  d   e[        R                  " XAS   5        [        US5        [        U5      S:X  d   e[         R"                  " [$        SS9   UR'                  S5        S S S 5        X!S'   XAS'   [        US5        [        US5        [        U5      S:X  d   eX!S'   XAS'   [        US5        [        U5      S:X  d   eX!S'   XAS'   US	 US	 [        U5      S:X  d   e S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       g = f)Nrf   r   rg   rh   rj   r   r   r   r   r   r   r   r!   rm   r"   r   z1'No object named a_nonexistent_store in the file'r   a_nonexistent_storezb/fooro   )r   r   r&   r'   rk   r
   r   r(   r   r)   r*   r+   r   r,   r#   r   r   r   KeyErrorremove)r.   rc   tsr1   rU   s        r2   test_removerJ    s   	J	'5IIb

+:lTV3W
 "))C.((11$v,f55959a2aS95VD

 c
c
eS!5zQ
b*-eS!5zQ ]]O
 LL./
 c
geU#eW%5zQc
geS!5zQ c
c
#J#J5zQS 
(	' 6
 
' 
(	's8   BGF<#B G#G5A=G<G
G	G
G c           	         [        U 5       n[        [        R                  R	                  S5      R                  S5      [        SSS9S9nUR                  SUSS	9  X"R                  [        S
5      :     nUR                  SS5      n[        R                  " XC5        UR                  SS5      n[        R                  " XC5        UR                  SS5      n[        R                  " XC5        S S S 5        g ! , (       d  f       g = f)Nry   )r   ry   r   r   rh   rj   rU   rO   rP   20130105z!index>datetime.datetime(2013,1,5)zindex>datetime(2013,1,5))r   r   r&   r   r   r   r
   rS   r    r   r   r#   r   )r.   rc   rU   r   r   s        r2   test_same_name_scopingrN  K  s    	J	'5II!!!$44W=Z4
 			$7	+hh:!667d$GH
f/ d$GH
f/d$>?
f/' 
(	'	's   C"C77
Dc                    [        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R                  l	        [        U 5       nX#S
'   US
   n[        R                  " XB5        S S S 5        g s  snf ! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   ro   frame)r   r&   r'   r(   r   r)   r*   r+   r    namer   r#   r   )r.   r1   rU   rc   reconss        r2   test_store_index_namerS  b  s    	biin$$W--d6l&1uRy1y!r!Xy1@
B
 BHHM	J	'5gw
f) 
(	'	 2 
(	's   B5 B::
Ctzz
US/Pacifictable_formatc                    [        [        R                  " SSS5      [        R                  " SSS5      /SS9R                  U5      n[        [        R                  " SSS5      [        R                  " SSS5      /SS9R	                  U5      R                  U5      n[        [        R                  " S5      R                  SS5      XVS	9nX-  nUR                  US
US9  [        US
5      n	[        R                  " XySS9  [        U	R                  R                  [         5      (       d   e[        U	R"                  R                  [         5      (       d   eg )Ni  r"   ry   u   colsג)rQ  i  u   rowsאr   r   rU   r   T)check_names)r   r   r*  tz_localizer5  r   r&   r'   r(   r   r   r#   r   
isinstancer    rQ  r   r   )
rT   rU  r.   unitrT  r/  idx1rU   r/   r   s
             r2   test_store_index_name_numpy_strr\  p  s    	q!	bggdAq12 k"o 
 	WWT1a "''$1"56	
 
	R 	 
299Q<''1-s	GB  DIId\I2
4
C"t4ciinnc****ckk&&,,,,rA   c                 ~   [        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US	   n[        U 5       nX4S
'   US
   n[        R                  " XS5        S S S 5        g s  snf ! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   rs   series)r   r&   r'   r(   r   r)   r*   r+   r   r#   r   )r.   r1   rU   r^  rc   rR  s         r2   test_store_series_namer_    s    	biin$$W--d6l&1uRy1y!r!Xy1@
B
 WF	J	'5 hx
v. 
(	'	 2 
(	's   B)  B..
B<c                    [        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS9S	9US
'   [        [        R                  " S[        R                  S9[        SSS9S9nX!S
'   [        R                  " US
   U5        S S S 5        g ! , (       d  f       g = f)Nry   r   r   r   r   rf   ru   r   r   r!   rg   rh   rj   )r   r   r&   r   r   r   r   r)   r*   r
   r   r'   rk   r#   r   )r.   rc   rI  s      r2   test_overwrite_nodera    s    	J	'5II!!!$44W=$v,f5\2C@
c

 IIb

+:lTV3W
 c

uSz2. 
(	'	's   B*B??
Cc                    [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        U 5       n[        US
5        UR                  S
U5        UR                  S
5      nUR                  [        R                  " [        UR                   5      5      :H  R#                  5       (       d   e[        US
5        [        [%        S5      [%        S5      S.5      nUR                  S
U5        UR                  S
S/5      nUR                  [        R                  " S5      :H  R#                  5       (       d   eUR'                  S
US9nUR(                  SS2S S 24   n[*        R,                  " XE5        UR                  S
SS/5      nUR                  [        R                  " S5      S-   :H  R#                  5       (       d   eUR'                  S
US9nUR(                  SS2S S 24   n[*        R,                  " XE5        [/        U[
        5      (       d   e[        US5        [        US5        [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nUR1                  5       R3                  SR4                  S9nUR                  SUSS/S9  UR                  SU5        UR                  SSS/5      nUR'                  SU5      nUR'                  SU5      n	[7        X/SS9n[7        Xg/SS9nXUR8                  S:  UR:                  S:  -     n[*        R,                  " XESS9  S S S 5        [        U 5       n[        [        R                  R                  S5      R	                  S 5      [        S!S"S#9S$9nUR                  S
U5        UR=                  S
S%5      nU[?        U5      R@                  S:H     R                   n
URB                  U
   nUR'                  S
U
S9n[*        R,                  " XE5        UR'                  S
U
S9n[*        R,                  " XE5        S&n[D        RF                  " [H        US'9   UR'                  S
[        R                  " [        U5      S(S9S9  S S S 5        [D        RF                  " [H        US'9   UR'                  S
[        R                  " [        U5      S-   5      S9  S S S 5        [D        RF                  " [H        US'9   UR'                  S
[        R                  " [        U5      5      SS)9  S S S 5        [D        RF                  " [H        US'9   UR'                  S
[        R                  " [        U5      5      SSS*9  S S S 5        [        S!S+S#9nUR'                  S
S,S9nXR                   RK                  U5         n[*        R,                  " XE5        [        [        R                  R                  S5      R	                  S-5      5      nUR                  SU5        UR'                  S/ S.QS9nURB                  / S.Q   n[*        R,                  " XE5        S//S-  n
SU
S0'   UR'                  SU
S9nUR(                  U
   n[*        R,                  " XE5        UR'                  SSSS19nUSS n[*        R,                  " XE5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNX= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)2Nry   r   r   r   r   rf   ru   r   r   rU   r   rs   ru   zindex<3r   r   r   zindex>=3zindex<=4r   r   r   z{}_2r'  rs   r  zA>0zB>0r"   )axisF)
check_freq)  ry   20000101rf  rh   rj   r    zLwhere must be passed as a string, PyTablesExpr, or list-like of PyTablesExprr   rk   )r   start)r   rh  stopi  zindex in selectionrf   ry   )r   r   r   Trh  ri  )&r   r&   r   r   r   r   r)   r*   r
   r   r   r   select_as_coordinatesvaluesr'   r,   r    allr+   r   r   r#   r   rY  r  renamerP   r	   rs   ru   select_columnr   monthr.  r   r   r   isin)r.   rU   rc   rn   r   r   r   r   
df1_result
df2_resultr   r   	selections                r2   test_coordinatesrw    s   	
		a 009d6l&1r<
B 
J	'5eT"T2 ''-BIIc"((m4499;;;; 	eT"U1XE!H56T2''yk:BIIaL(--////d!,66!A#q&>
f/''z:.FGBIIaL1,,113333d!,66!A#q&>
f/!U#### 	eU#eU#II!!!$44W=$v,f5\2C@

 hhj6UCsCj9UC ''u~>\\%+
\\%+
0q93*1-ZZ!^

Q?@
f5A[ 
(d 
J	'5II!!!$44Y?Z6
 	T2g.-"((A-.44775> d%0
f/ d%0
f/+ 	 ]]9C0LLRYYs2wi%HLI 1 ]]9C0LLRYYs2w{%;L< 1 ]]9C0LLRYYs2w%7qLA 1 ]]9C0LLRYYs2w%7qrLJ 1 z37	d*>?hhmmI./
f/ ryy,,Q/??HIUBe95779%
f/ b	e5166%=
f/ e126a8
f/u 
(	'e 
(	'R 10 10 10 10A 
(	's{   !L[;C>]-\<!]1\!]//\1!]?0]/E];
\

\	]
\.	)]1
] 	;]
]	]
]#c                 P   [        U 5       n[        [        R                  R	                  S5      R                  S5      [        R                  R	                  S5      R                  S5      S.5      nUR                  SU5        UR                  SSSSS9nUR                  SS	2S
/4   n[        R                  " X45        UR                  SSSSS9n[        U5      S:X  d   eUR                  SS2S
/4   n[        R                  " X45        S S S 5        g ! , (       d  f       g = f)Nry   r   rc  rU   zcolumns=['A']r   r   rl  r   rs   r   (   )r   r   r&   r   r   r   r   r   r#   r   r,   r.   rc   rU   r   r   s        r2   test_start_stop_tabler{     s    	J	'5YY**1-44R8YY**1-44R8
 	T2dO11E66!A#u*%
f/ dO2BG6{a66"R%#,'
f/% 
(	'	's   DD
D%c                    [        U 5       n[        SS/SS/S.5      nUR                  S/S S.USS9  UR                  SS/SS	SS
9nUR                  S	/SS/4   n[
        R                  " X45        S S S 5        g ! , (       d  f       g = f)Nr"   ry   )ro   rq   ro   )selectorr  r}  )r}  r  r   )r}  rh  ri  rq   )r   r   append_to_multipleselect_as_multipler   r#   r   rz  s        r2   test_start_stop_multipler  6  s    	J	'51vq!f56  $/j 	! 	
 )) :QQ * 
 661#u~-.
f/ 
(	'	's   A&A;;
B	c                 8   [        U 5       n[        [        R                  R	                  S5      R                  S5      [        R                  R	                  S5      R                  S5      S.[        SSS9S9nUR                  SU5        UR                  SSS	S
9nUR                  SS	2S S 24   n[        R                  " X45        UR                  SS	SS
9nUR                  S	S2S S 24   n[        R                  " X45        UR                  SSSS
9nUR                  SS2S S 24   n[        R                  " X45        UR                  nUR                  SU5        UR                  SSS	S
9nUR                  SS	 n[        R                  " X45        UR                  SS	SS
9nUR                  S	S n[        R                  " X45        [        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S	2SS24'   [        R&                  UR                  SS2S4'   S S S 5        g s  snf ! , (       d  f       g = f)Nry   r   rc  r   rh   rj   rU   r   r   rl  rf   r   ry  r   r   r   r   r   r   r   r   r   r"   r   rk  )r   r   r&   r   r   r
   rS   r   r.  r#   r   rs   r   r'   r(   r   r)   r*   r+   r   )r.   rc   rU   r   r   r   r1   s          r2   test_start_stop_fixedr  E  s@   	J	'5YY**1-44R8YY**1-44R8 Z4
 			$d!!4771Q36?
f/d!"5771R47#
f/ d"26772b5!8$
f/ DD		#qc366!A;
v0c466!B<
v0 "))C.((11$v,f55959a2aS95VD

 FF!QqSFF"bU 
(	'N 6O 
(	's   HJJ-AJJ
Jc           
         [        [        R                  R                  S5      R	                  S5      5      nUR
                   Vs/ s H  o"S PM     snUl        UR                   Vs/ s H  o"S PM     snUl        [        U 5       nUR                  SUSS9  SnUR                  SU/5      n[        R                  " XQR                  S S 2UR                  S S 4   5        S	nUR                  SU/5      n[        R                  " XQR                  S S 2UR                  S SS2   4   5        S S S 5        g s  snf s  snf ! , (       d  f       g = f)
Nry   )2   d   3drP  rO   rL  zcolumns=df.columns[:75]K   zcolumns=df.columns[:75:2])r   r&   r   r   r   r    r   r   rS   r   r#   r   r   )r.   rU   rn   rc   critr   s         r2   test_select_filter_cornerr  s  s   	299((+;;IF	GB#%88,8aR&	8,BH%'ZZ0ZrF)Z0BJ	J	'5		'2g	.(gv.
fffQ

3B-?&@A*gv.
fffQ

5Bq50A-A&BC 
(	' -0	'	's   D9)D>	B'E
Ec                  T  ^ [        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m[        R                  " U4S	 jS
 5      n[        R                  " TU5        g s  sn f )Nr   r   r   r   r   r   r   r   c                 $   > TR                  U SS9$ NrU   r   r   prU   s    r2   r?   #test_path_pathlib.<locals>.<lambda>      "))A4)(rA   c                     [        U S5      $ NrU   r   r  s    r2   r?   r        HQ4ErA   r   r&   r'   r(   r   r)   r*   r+   r#   round_trip_pathlibr   r1   r   rU   s     @r2   test_path_pathlibr    s    	biin$$W--d6l&1uRy1y!r!Xy1@
B ""(*EF "f% 2   B%zstart, stop))r   ry   )r"   ry   )NNc                    [        [        / SQ5      [        / SQ5      S.5      n[        U5       nUR                  SU5        UR	                  SXS9n[
        R                  " X0U U5        S S S 5        g ! , (       d  f       g = f)N)i2i2i2)abcdr  r!   rm   test_datasetrl  )r   r   r   r   r   r#   r   )rh  ri  r.   rU   rc   r   s         r2    test_contiguous_mixed_data_tabler    sq     
67*+	

B 
J	'5^R(nEE
btnf5	 
(	'	's   <A55
Bc                  Z  ^ [        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mU4S	 jnS
 n[        R                  " X5      n[        R                  " TU5        g s  sn f )Nr   r   r   r   r   r   r   r   c                 p   > [        U 5       nTR                  USS9  S S S 5        g ! , (       d  f       g = fr  r   r   r/   rc   rU   s     r2   writer*test_path_pathlib_hdfstore.<locals>.writer  &    d^uIIeI& ^^   '
5c                 f    [        U 5       n[        US5      sS S S 5        $ ! , (       d  f       g = fr  r   r/   rc   s     r2   reader*test_path_pathlib_hdfstore.<locals>.reader      d^uE4( ^^   "
0r  r1   r  r  r   rU   s       @r2   test_path_pathlib_hdfstorer    s    	biin$$W--d6l&1uRy1y!r!Xy1@
B') ""62F"f% 2   B(c                  T  ^ [        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m[        R                  " U4S	 jS
 5      n[        R                  " TU5        g s  sn f )Nr   r   r   r   r   r   r   r   c                 $   > TR                  U SS9$ r  r  r  s    r2   r?   ,test_pickle_path_localpath.<locals>.<lambda>  r  rA   c                     [        U S5      $ r  r  r  s    r2   r?   r    r  rA   r  r  s     @r2   test_pickle_path_localpathr    s    	biin$$W--d6l&1uRy1y!r!Xy1@
B
 ""(*EF "f% 2r  c                  Z  ^ [        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mU4S	 jnS
 n[        R                  " X5      n[        R                  " TU5        g s  sn f )Nr   r   r   r   r   r   r   r   c                 p   > [        U 5       nTR                  USS9  S S S 5        g ! , (       d  f       g = fr  r  r  s     r2   r  ,test_path_localpath_hdfstore.<locals>.writer  r  r  c                 f    [        U 5       n[        US5      sS S S 5        $ ! , (       d  f       g = fr  r   r  s     r2   r  ,test_path_localpath_hdfstore.<locals>.reader  r  r  )r   r&   r'   r(   r   r)   r*   r+   r#   round_trip_localpathr   r  s       @r2   test_path_localpath_hdfstorer    s    	biin$$W--d6l&1uRy1y!r!Xy1@
B') $$V4F"f% 2r  propindexesTFc                    [        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                  " 5        n[        U5       nUR                  S	US
/S9  S S S 5        [        R                  " 5        n[        U5       n[        R                  " UR!                  UR"                  S U S95       nUR%                  5       n['        U5      ['        UR%                  5       5      :X  d   eUR%                  5        H  n	UR)                  U	5      R*                  (       d  M%  UR)                  U	5      n
UR)                  U	5      nUR,                  U
R,                  :X  d   eU (       d  Ml  UR.                   H5  nUR0                  (       d  M  XR"                     R0                  (       a  M5   e   M     S S S 5        S S S 5        S S S 5        S S S 5        g s  snf ! , (       d  f       GN= f! , (       d  f       N>= f! , (       d  f       NG= f! , (       d  f       NP= f! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   rU   rs   r  )keysr  )r   r&   r'   r(   r   r)   r*   r+   r#   r$   r   r   tempfileNamedTemporaryFile
contextlibclosingr  rQ  r  r   r   is_tablenrowsaxesr  )r  r1   rU   r/   stnew_frc   tstorer  knew_torig_tr!   s                r2   	test_copyr    s   	biin$$W--d6l&1uRy1y!r!Xy1@
B 
	dd^rIIdBcUI3 ((*e$5''JJuzz+JN ::<Dt9FKKM(::::#[[]!,,Q/888$*$5$5a$8E%*%5%5a%8F#)<<5;;#>>#>  +{)/A'(|||/4VV}/G/G/G(G/G *5 +   + 
	 2 ^    +* 
	s   HI&H!$I&I0I=A*H3	+AH3	2H3	H3	3H3	;III&!
H0	+I&3
I=I
II
I#	I&&
I4c                 |   [        SS/SS//S9nX-  nSn[        R                  " [        US9   UR	                  USSS9  S S S 5        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 ! , (       d  f       Nr= f)
Nr!   r   )r   r  z/Columns index has to be unique for fixed formatr   rU   r  r   rO   )	r   r   r   r%   r   r   r#   r   equals)rT   r.   rU   r/   r   others         r2   test_duplicate_column_namer    s    	C:aVH	5B D
;C	z	-
		$D	1 
. IIdWI-T4 E"$99U<< 
.	-s   B--
B;c                    [        [        R                  R                  S5      R	                  SS95      n[        SSSSS9Ul        [        U 5       nXS	'   [        R                  " US	   U5        S S S 5        g ! , (       d  f       g = f)
Nry   )rf   r   )size0srf   1sexample)rh  ri   r   rQ  rU   )
r   r&   r   r   normalr   r    r   r#   r   r.   rU   rc   s      r2   !test_preserve_timedeltaindex_typer    sl    	299((+222@	ABT2DyQBH	J	'5d
eDk2. 
(	'	's   A::
Bc           	         [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9nSUR
                  l        UR                  SSS	9nUR
                  R                  UR                  R                  5       -   nX-  nUR                  US
SSUSS9  [	        S5      n[	        U5      n[        US
US9  Xe:X  d   eg )Nry   )r   r   abcdABCDE)r    r   lettersET)r  r   rU   r!   F)r   rN   r   rQ   r    BCDr'  )r   r&   r   r   r)   r    rQ  r  r,  r   tolistr   r   )rT   r.   rU   rQ   r/   	cols2loadcols2load_originals          r2    test_columns_multiindex_modifiedr    s     

		a ''/6lW
B
 BHHM	3t	,B88>>BJJ$5$5$77L DII!   UIiT4+***rA   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningr   r"   r   r   r   rg   ry   rh   z1 dayr  r   c                    [        [        R                  R                  S5      R	                  S5      US9nX-  nSn[
        R                  " [        US9   UR                  USSSS	9  S S S 5        g ! , (       d  f       g = f)
Nry   rj  r'  z-cannot have non-object label DataIndexableColr   rU   rO   Tr   rP   rQ   )	r   r&   r   r   r   r   r   r%   r   )rT   r.   r   rU   r/   r   s         r2   0test_to_hdf_with_object_column_names_should_failr  ,  se     
299((+;;GDg	VB D
9C	z	-
		$Dt	D 
.	-	-s   A22
B r   categoryc                    [        [        R                  R                  S5      R	                  S5      [        SS/US9S9nX-  nUR                  USSS	S
9  [        USSUR                  S    S3S9n[        U5      (       d   eg )Nry   rj  r!   rm   r   r'  rU   rO   Tr  z	index = [r   ]r   )
r   r&   r   r   r   r   r   r   r    r,   )rT   r.   r   rU   r/   r   s         r2   /test_to_hdf_with_object_column_names_should_runr  @  s     

		a 009sCj.
B  DIIdW4I@dD)BHHQK=(BCFv;;;rA   c                 
   [        / SQ/ SQS.5      n[        U 5       nUR                  SU5        US   R                  R                  US   S   R                  R                  :X  d   e S S S 5        g ! , (       d  f       g = f)N)r"   ry   r   r   )r   r   r   r   r  rU   r!   )r   r   rS   rn  stridesr  s      r2   test_hdfstore_stridesr  M  sf    	L9	:B	J	'5		$#w~~%%tS)9)@)@)H)HHHH 
(	'	's   AA44
Bc           	          [        S//S/[        S/SS9S9nUR                  5       nX-  nUR                  USS9  [	        US5      n[
        R                  " X55        g )	Nr"   TFboolr   r   r!   r  )r   r   r  r   r   r#   r   )rT   r.   rU   r   r/   r   s         r2   test_store_bool_indexr  U  s^    	QC54&ugV0L	MBwwyH  DIIdIdC F(+rA   )Qr  r   r   rY   r  r[   numpyr&   r   pandasr   r   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingr#   pandas.tests.io.pytables.commonr   r   pandas.io.pytablesr   r   mark
single_cpu
pytestmarkimportorskipr   r3   ra   rd   r   r   r   parametrizer   r   r   r   r   r
  r  r#  r(  r1  r6  rD  rJ  rN  rS  r\  r_  ra  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsint64rk   r  r  r  r   rA   r2   <module>r     s(             

 [[##
			X	&/$(4V!8v "F! H  #^4ce<!$ 7#0/E4=!A.1eeW-=		
 #0/E4=!A.1eeW-=	
*%<+*%<P$B86O0 GW#56( 7(+B?D0=4*6*Z0.* l34'7);<- = 5-6//s0l0,0+#\D"
& (FG6 H6 &&	&&& u6H 7HB /+8 RSq!fBHH%sCj

+<++\137	E	 TE 4"45	 6	I
,rA   