
    Owg                     *   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl	Z
d dl	mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZmZ ej<                  j>                  Z  ejB                  d      Z"d Z#d Z$d Z%d	 Z&d
 Z'd Z(ej<                  jS                  ddddh e*       f e*       ddhfdhddhf e*       dhfdfddhddhf e*       dhfdfg      d        Z+d Z,d Z-d Z.d Z/ej<                  jS                  ddd g      d!        Z0d" Z1d# Z2d$ Z3d% Z4d& Z5d' Z6d( Z7d) Z8ej<                  jS                  d*dd+g      ej<                  jS                  d,d dg      d-               Z9d. Z:d/ Z;d0 Z<d1 Z=d2 Z>d3 Z?d4 Z@d5 ZAej<                  jS                  d6g d7      d8        ZBd9 ZCd: ZDd; ZEej<                  jS                  d<d=d>g      d?        ZFd@ ZGdA ZHdB ZIej<                  j                  dC      ej<                  jS                  dD ed dEgej                  F       edGdHgej                  F       edIdJK       edLdJK       edIdJdMN      g      dO               ZMej<                  jS                  dPddQg      dR        ZNdS ZOdT ZPy)U    N)
	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeperiod_rangetimedelta_range)_maybe_removeensure_clean_storeHDFStoreread_hdftablesc                    t        j                  |       5 }	 t        |      5 }t        d      # 1 sw Y   nxY wn# t        $ r Y nw xY wd d d        n# 1 sw Y   nxY wt        j                  |       5 }t        |      5 }t	        dt        j                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 nc c}w c}t              	      |d
<   t        |      dk(  sJ t        |d
         t        k(  sJ 	 d d d        n# 1 sw Y   nxY wd d d        y # 1 sw Y   y xY w)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       Z/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_store.pytest_contextr3   '   s)   		$ 	$ )3 (() ) ) 			   
	$ /d^ 	/s biin,,W55d6l&9uRy9!r!X99HCH
 s8q= =C>Y...	/ 	/ 	// / /si   A</8	<A	AAAAA5EAD0C%$AD0'	E0D9	5EEc                     t         j                  dfdfd} || d      } || d      }t        j                  d        || d      } || d      }||k(  sJ ||k7  sJ y )N   c                      |       t        | d      5 t        fdd      D ]  }j                  |        	 d d d        j                         S # 1 sw Y   j                         S xY w)Nrbc                  @    j                   j                  z        S N)read
block_size)chunk_num_blocksfhs   r2   <lambda>z7test_no_track_times.<locals>.checksum.<locals>.<lambda>@   s    aff-=-L&M     r@   )openiterupdatedigest)filenamehash_factoryr<   chunkr=   r>   s     ` @@r2   checksumz%test_no_track_times.<locals>.checksum=   sd    N(D! 	 QMsS   	  xxz	  xxzs   (AA0c           	          | z  }t        ddgi      }t        |d      5 }|j                  d|ddd |       d d d         |      S # 1 sw Y   xY w)Nr!   r"   wmodetableT)formatdata_columnsr    track_times)r   r   put)tmp_pathrP   r/   dfhdfrH   r.   s        r2   create_h5_and_return_checksumz:test_no_track_times.<locals>.create_h5_and_return_checksumD   sm    *$aSz"d% 	GG!'  	 ~	 	s   A

AF)rP   Tr"   )hashlibmd5timesleep)rR   r.   rU   checksum_0_tt_falsechecksum_0_tt_truechecksum_1_tt_falsechecksum_1_tt_truerH   s    `     @r2   test_no_track_timesr^   9   s}     )0c   8eT6xTR 	JJqM7eT6xTR "5555 !3333r@   c                 f    t        |       5 }t        |      g k(  sJ 	 d d d        y # 1 sw Y   y xY wr9   )r   r)   )r.   stores     r2   test_iter_emptyra   d   s3    	J	' !5E{b   ! ! !s   '0c                    t        |       5 }t        |       |j                          t        t	        j
                  dt        j                        t        dd            |d<   t        t        d      dt        d      D cg c]  }d| 	 c}	      |d
<   t        dt	        j
                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   t        dt	        j
                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }d|d<   d|d<   |d   dkD  |d<   |d   dkD  |d<   d|d<   d|d<   d |d!<   t        d"      |d#<   t        d$      |d%<   t        j                   d&dd dd      |d'<   t        j                   d&dd(dd      |d)<   t        j"                  |j$                  |j&                  d(d* dgf<   |j)                         }t+        j,                  t.        j0                  j2                        5  ||d+<   d d d        |j4                  j7                  |j4                  j8                  d,       |j:                  t        |      v sJ |j:                  t=        |      v sJ |j                          d d d        t        |       5 }t        dt	        j
                  d      j                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }|j?                  d+|       |jA                  d+      }t        |       t=        |       d d d        y c c}w c c}w c c}w # 1 sw Y   UxY w# 1 sw Y   xY wc c}w # 1 sw Y   y xY w)-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   rS   bah)!r   reprinfor   r&   r'   rh   r
   r+   r   r(   r   r)   r*   r   dtdatetimenanlocr    _consolidater#   assert_produces_warningpderrorsPerformanceWarning_handlecreate_grouprootrE   strappend
get_storer)r.   r`   r1   rS   ss        r2   	test_reprr   j   sS   	J	' *5U

IIb

+:lTV3W
c
 "IYr.KAA3x.K
c
 "))C.((11$v,f5595a2aS5VD
c
 "))C.((11$v,f5595a2aS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 	E$K	 	""5==#5#5u=~~e,,,~~U+++

U*Z 
J	' 
5"))C.((11$v,f5595a2aS5VD

 	T2T"QA
 
M /L
 6 6 	 	E* *b 6	
 
sr   A7ON<A!O0O<A+O'O3C?O2O8A:OAO)O$(AO)<OO	OO!$O))O2c                 ~   t        |       5 }t        t        j                  dt        j                        t        dd            |d<   t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   d|v sJ d|v sJ d|vsJ d|v sJ d|v sJ d|vsJ d|vsJ t        j                  t        j                  d      5  t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   d d d        d|v sJ 	 d d d        y c c}w c c}w c c}w # 1 sw Y   (xY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r!   r   r   r   r   r   r   r   rj   zfoo/barrk   z/foo/barz/foo/brn   F)check_stacklevelznode()))r   r   r&   r'   rh   r
   r   r(   r   r)   r*   r+   r#   r   r   NaturalNameWarning)r.   r`   r1   s      r2   test_containsr      s	   	J	' "5IIb

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

 %"))C.((11$v,f5595a2aS5VD
i
 e||e||%E!!!U"""u$$$E!!! ''%%
 	  )biin,,W55d6l&9uRy9!r!X9H E)	 E!!!?" " 6
 6" :	 	/" "sW   BH3!H-A+H3H$A$H3AH'H"+H' H3
H3"H''H0	,H33H<c                    t        |       5 }t        t        j                  dt        j                        t        dd            |d<   t        dt        j                  d      j                  d	      z  t        t        d
      t              t        t        d      D cg c]  }d| 	 c}t                    |d<   t        t        j                  j                  d      j                  d      t        t        d
      t              t        ddd            }t        |d       |j!                  d|d d        |j!                  d|dd         |j"                  j$                  j&                  j(                  dk(  sJ |j"                  j*                  j&                  j(                  dk(  sJ |j"                  j,                  j&                  j(                  dk(  sJ t        |d       |j!                  d|       d |j/                  d      j&                  _        d}t1        j2                  t4        |      5  |j7                  d       d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r!   r   r   r   r   r   r   r   rj   rv   )   r   
2000-01-01r   rr   rf   freqdf1z0.15.2df2z/'NoneType' object has no attribute 'startswith'match)r   r   r&   r'   rh   r
   r   r(   r   r)   r*   r+   randomdefault_rngstandard_normalr   r   r   r!   _v_attrspandas_versionrj   r   get_nodepytestraises	Exceptionselect)r.   r`   r1   rS   msgs        r2   test_versioningr      s   	J	'   5IIb

+:lTV3W
c
 "))C.((11$v,f5595a2aS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	 ?      60	  	 ?     s7   BI2!I!-FI2>I&I2!I2&I/	+I22I;zwhere, expected/first_groupsecond_groupr   r   third_groupdf3s1df4) /first_group/second_group/second_group/third_groupr   )r   r   c                    t        g d      t        g d      t        g d      t        g d      t        g d      t        j                  g dg dg      t        j                  ddgd      t        j                  dd	gd      d
}t	        dd      5 }|j                  d|d          |j                  d|d          |j                  d|d          |j                  d|d          |j                  d|d          |j                  j                  dd|d          |j                  j                  dd|d          |j                  j                  dd|d          t        t        |j                  |                   t        |      k(  sJ |j                  |       D ]  \  }}}||v sJ ||   \  }}|t        |      k(  sJ |t        |      k(  sJ |D ]]  }	dj                  ||	g      }
|j                  |
      }d |	v rt        j                   |||	          Et        j"                  |||	          _  	 d d d        y # 1 sw Y   y xY w)!N)r"   rv   r}   )r      r   )r         )	   rc      )rc   r   r   zi,i,ir   )r   r   r   )rc   r      )r   r   r   r   r   a1tb1tb2zwalk_groups.hdfrJ   rK   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   rS   )r   r   r&   arrayr   rQ   r   create_arraycreate_tabler,   r)   walksetjoingetr#   assert_frame_equalassert_series_equal)r   expectedobjsr`   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	8 <E		$d5k2		$d5k2		%tE{3		$d4j1		14;?"">4dD"">5d5k"J""?EtE{"K4


/01S]BBB$)JJUJ$; 	< D&&8###/7~,O_"c&k111"c&k111 < XXtTl3
ii
+4<))#tDz:**3T
;<	<< < <s   F)I

Ic           
         t        |       5 }t        t        j                  dt        j                        t        dd            }||d<   |j                  }t        j                  ||       t        |d      }t        j                  ||       t        t        j                  j                  d      j                  d      t        t        d	      t               t        d
dd            }||d<   |j"                  }t        j$                  ||       dD ]8  }d| d}t'        j(                  t*        |      5  t        ||       d d d        : dD ]  }t        |d|         	 d d d        y # 1 sw Y   dxY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r!   rv   rc   r   r   r   rr   r   r   rS   )drL   r/   handlecomplibz$'HDFStore' object has no attribute ''r   )rL   r/   r   r   _)r   r   r&   r'   rh   r
   r!   r#   r   getattrr   r   r   r   r   r)   r*   rS   r   r   r   AttributeError)r.   r`   r   resultrS   xr   s          r2   test_getattrr   )  se   	J	' $5IIb

+:lTV3W
 c
 
vq)$
vq)II!!!$44W=$v,f5\2C@

 d
fb) < 	"A81=C~S9 "q!" "	" 7 	$AEQqc7#	$9$ $0" "1$ $s$   D0E?<E3	 E?3E<8E??Fc                 R   t        dt        j                  dgdt        j                  t        j                  gdt        d            }t        ddgdt        j                  gdt        d            }| |z  }|j	                  |dd	
       t        |d      }t        j                  ||       | |z  }|j	                  |dd	d       t        |d      }t        j                  ||       | |z  }|j	                  |dd	d       t        |d      }t        j                  ||       y )N               @      ?)col1col2abcrg   acrS   rM   keyrN   F)r   rN   dropnaT)r   r&   r   r)   to_hdfr   r#   r   )rR   r.   df_with_missingdf_without_missingr/   reloadeds         r2   test_store_dropnar   J  s   rvvs#c266266-BC5kO #sc266]34: j D4T':d#H/84j D4T'%Hd#H/84j D4T'$Gd#H,h7r@   c                     | |z  }d}t        ddddddddg      }t        j                  t        |      5  |j	                  |d       d d d        y # 1 sw Y   y xY w)NztStarting with pandas version 3.0 all arguments of to_hdf except for the argument 'path_or_buf' will be keyword-only.r"   rv   r}   )rp   rr   Cr   r   )r   r#   r   FutureWarningr   )rR   r.   r/   r   rS   s        r2   test_keyword_deprecationr   e  sh    j D	7  
!!!,AAA.FG	HB		#	#M	= 
		$  s   AAc           	      z   | |z  }t        g dg dt        g dt              t        dd      d      j	                  d	      }|j                  |d
dddi       |j                         j                         j                  d      j	                  d	      }|j                  |d
dd       t        j                  t        |d
      t        ||g             |d   j                  |ddddi       |d   j                  |ddd       t        j                  t        |d      t        |d   |d   g             y )N)r   r   r   g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo5r   20130101r   re   )rp   rr   r   Dr   ss3rM   r    r   )r   rN   min_itemsizelonger)r   T)r   r   rN   rr   ss4)r   r   r*   r
   	set_indexr   copyreset_indexassignr#   r   r   r	   r   )rR   r.   r/   rS   r   s        r2   test_to_hdf_with_min_itemsizer  s  s    j D 
**?vNJ2		

 in  IIdgWaLII
'')


!
(
(8
(
4
>
>s
CCJJttGJ<(4/S	1BC sGNN4U7'1NNHOODeDOA8D%0&"S'3s89L2MNr@   rN   fixedrM   c                     dg}t        |t        |            }| |z  }|j                  |d|d       t        |dd      }t	        j
                  ||       y )Nu   foorg   rM   surrogatepass)r   rN   r   )r   )r   r   r   r   r#   r   )rR   rN   r.   dataserr/   r   s          r2   test_to_hdf_errorsr    sU    =D
U4[
)Cj DJJtJHdGO<F63'r@   c           
      R   t        |       5 fd}t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }d|d<   d|d<   j                  d|ddg        |dd      j                  du sJ  |dd      j                  du sJ  |dd      j                  du sJ j                  d|dgddg        |dd      j                  du sJ  |dd      j                  du sJ  |dd      j                  du sJ t        d       j                  d|       d}t        j                  t         |      5  j#                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nc                 b    t        j                  |       j                  j                  |      S r9   r   r   rM   colstcolumnr`   s     r2   colz$test_create_table_index.<locals>.col  '    5++A.44996BBr@   rv   r   r   r   r   rc   rr   r   r   rl   stringrn   string2r=   rO   r    Tf2)r    rO   Fz1cannot create table index on a Fixed format storer   )r   r   r&   r   r   r   r   r)   r*   r
   r   
is_indexedr   rQ   r   r   	TypeErrorcreate_table_indexr.   r  rS   r   r`   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*	+9+ +8	+ 	+9+ +s$   E!F.F FF	FF&c           
         t        |       5 fd}t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }d|d<   d|d<   j                  d|dg        |dd      j                  du sJ  |dd      j                  du sJ d}t        j                  t        |      5   |dd      j                   d d d        d}t        j                  t        |      5  j                  ddg       d d d        d d d        y # 1 sw Y   LxY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nc                 b    t        j                  |       j                  j                  |      S r9   r  r  s     r2   r  z:test_create_table_index_data_columns_argument.<locals>.col  r  r@   rv   r   r   r   r   rc   rr   r   r   rl   r  rn   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#    sM    
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**	+
P 	
 ]]>5 	?$$S9+$>	?7? ?$	+ 	+	? 	?7? ?s<   CED:/%EE)E:E	?EE	EEc                 f   t        j                  t        dd      t        d      gddg      }t	        dg di|	      }t        |       5 }|j                  d
|d       |j                  d
d      }|j                  dgd d f   }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nr   r   re   dateid)namesr!   )r   g333333?g?gffffff?g      ?rg   rS   Tr  zid == 1r   r"   )r   from_arraysr
   r+   r   r   r   r   ilocr#   r   )r.   idxrS   r`   actualr   s         r2   test_mi_data_columnsr,    s    

 
 	L!	,eAh7~C 
C233	?B	J	' 05T2D1d)477A36?
fh/0 0 0s   AB''B0c                 d   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }d	|d
<   d|d<   |d   dkD  |d<   |d   dkD  |d<   d|d<   d|d<   d|d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        j                  |j                  |j                  dd  d
gf<   |j                         }t        |       5 }|j                  d!|       t!        j"                  |j%                  d!      |       d d d        y c c}w # 1 sw Y   y xY w)"Nr   r   r   r   r   r   r   r   rl   rm   rn   ro   rp   r   rq   rr   rs   Trt   r"   ru   rv   rw   rx   nsry   rz   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   rS   r`   s       r2   test_table_mixed_dtypesr1    s   	biin$$W--d6l&1uRy1!r!X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! 8F&&F/c                    d}dt        j                  ddd      t        j                  d      g}t        j
                  j                  ||      }t        j                  ddd	      }t        |d|
      }t        |j                  |      j                  t        dj                                     }t        |       5 }|j                  d|       |j                  d      }t        j                   ||       |j#                  d|       |j                  d      }t        j                   ||       d d d        y # 1 sw Y   y xY w)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  rM   )r   r   r&   
datetime64r   offsetsCustomBusinessDayr
   r   weekdaymapsplitr   rQ   r   r#   r   r   )	r.   weekmask_egyptr3  
bday_egyptmydtdtsr   r`   r   s	            r2   test_calendar_roundtrip_issuer?    s    +N
D!Q
l#H
 --N . J ;;tQ#D
T1:
6Cs{{C $$V,I,O,O,Q%RSA	J	' *5		'1g&
vq)Wa g&
vq)* * *s   =A3D99Ec                    t        |       5 }t        t        j                  dt        j                        t        dd            }t        dt        j                  d      j                  d      z  t        t        d	      t              t        t        d
      D cg c]  }d| 	 c}t                    }||d<   ||d<   t        |d       t        |      dk(  sJ t        j                  ||d          t        |d       t        |      dk(  sJ t!        j"                  t$        d      5  |j'                  d       d d d        ||d<   ||d<   t        |d       t        |d       t        |      dk(  sJ ||d<   ||d<   t        |d       t        |      dk(  sJ ||d<   ||d<   |d= |d= t        |      dk(  sJ 	 d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   y xY w)Nrc   r   rd   re   rg   r   r   r   r   r   r   r   r!   rj   r"   r   z1'No object named a_nonexistent_store in the file'r   a_nonexistent_storezb/foorl   )r   r   r&   r'   rh   r
   r   r(   r   r)   r*   r+   r   r,   r#   r   r   r   KeyErrorremove)r.   r`   tsr1   rS   s        r2   test_removerE    s   	J	' )5IIb

+:lTV3W
 "))C.((11$v,f5595a2aS5VD

 c
c
eS!5zQ
b%*-eS!5zQ ]]O
 	0 LL./	0 c
geU#eW%5zQc
geS!5zQ c
c
#J#J5zQS) ) 6	0 	0') )s8   BGG*BG2GB GGG	GG(c                    t        |       5 }t        t        j                  j	                  d      j                  d      t        dd            }|j                  d|d	       ||j                  t        d
      kD     }|j                  dd      }t        j                  ||       |j                  dd      }t        j                  ||       |j                  dd      }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nrv   )r   rv   r   r   re   rg   rS   rM   rN   20130105z!index>datetime.datetime(2013,1,5)zindex>datetime(2013,1,5))r   r   r&   r   r   r   r
   rQ   r    r   r   r#   r   )r.   r`   rS   r   r   s        r2   test_same_name_scopingrI  K  s    	J	' 05II!!!$44W=Z4
 			$7	+bhh:!667d$GH
fh/ d$GH
fh/d$>?
fh/'0 0 0s   C,DD
c                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }d	|j                  _	        t        |       5 }||d
<   |d
   }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   rl   frame)r   r&   r'   r(   r   r)   r*   r+   r    namer   r#   r   )r.   r1   rS   r`   reconss        r2   test_store_index_namerN  b  s    	biin$$W--d6l&1uRy1!r!X1@
B
 BHHM	J	' *5gw
fb)* *	 2* *s   B;!C  C	tzz
US/Pacifictable_formatc                    t        t        j                  ddd      t        j                  ddd      gd      j                  |      }t        t        j                  ddd      t        j                  ddd      gd      j	                  |      j                  |      }t        t        j                  d      j                  dd      ||	      }| |z  }|j                  |d
|       t        |d
      }	t        j                  ||	d       t        |	j                  j                  t               sJ t        |	j"                  j                  t               sJ y )Ni  r"   rv   u   colsג)rL  i  u   rowsאr   r   rS   r   T)check_names)r   r   r%  tz_localizer0  r   r&   r'   r(   r   r   r#   r   
isinstancer    rL  r   r   )
rR   rP  r.   unitrO  r*  idx1rS   r/   r   s
             r2   test_store_index_name_numpy_strrW  p  s    	q!	bggdAq12 k"o 
 	WWT1a "''$1"56	
 
	R 	 
299Q<''1-s$	GB j DIId\I2
4
C"ct4ciinnc***ckk&&,,,r@   c                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }|d	   }t        |       5 }||d
<   |d
   }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   rp   series)r   r&   r'   r(   r   r)   r*   r+   r   r#   r   )r.   r1   rS   rY  r`   rM  s         r2   test_store_series_namerZ    s    	biin$$W--d6l&1uRy1!r!X1@
B
 WF	J	' /5 hx
vv./ /	 2/ /s   B/!B44B=c           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      |d
<   t        t        j                  dt        j                        t        dd            }||d
<   t        j                  |d
   |       d d d        y # 1 sw Y   y xY w)Nrv   r   r   r   r   rc   rr   r   r   r!   rd   re   rg   )r   r   r&   r   r   r   r   r)   r*   r
   r   r'   rh   r#   r   )r.   r`   rD  s      r2   test_overwrite_noder\    s    	J	' /5II!!!$44W=$v,f5\2C@
c

 IIb

+:lTV3W
 c

uSz2./ / /s   B;CCc           
         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        |       5 }t        |d
       |j                  d
|       |j                  d
      }|j                  t        j                  t        |j                               k(  j#                         sJ t        |d
       t        t%        d      t%        d      d      }|j                  d
|       |j                  d
dg      }|j                  t        j                  d      k(  j#                         sJ |j'                  d
|      }|j(                  ddd d f   }t+        j,                  ||       |j                  d
ddg      }|j                  t        j                  d      dz   k(  j#                         sJ |j'                  d
|      }|j(                  ddd d f   }t+        j,                  ||       t/        |t
              sJ t        |d       t        |d       t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j1                         j3                  dj4                        }|j                  d|ddg       |j                  d|       |j                  dddg      }|j'                  d|      }|j'                  d|      }	t7        ||	gd      }t7        ||gd      }||j8                  dkD  |j:                  dkD  z     }t+        j,                  ||d       d d d        t        |       5 }t        t        j                  j                  d      j	                  d       t        d!d"#      $      }|j                  d
|       |j=                  d
d%      }|t?        |      j@                  dk(     j                   }
|jB                  |
   }|j'                  d
|
      }t+        j,                  ||       |j'                  d
|
      }t+        j,                  ||       d&}tE        jF                  tH        |'      5  |j'                  d
t        j                  t        |      d(             d d d        tE        jF                  tH        |'      5  |j'                  d
t        j                  t        |      dz                d d d        tE        jF                  tH        |'      5  |j'                  d
t        j                  t        |            d)       d d d        tE        jF                  tH        |'      5  |j'                  d
t        j                  t        |            dd*       d d d        t        d!d+#      }|j'                  d
d,      }||j                   jK                  |         }t+        j,                  ||       t        t        j                  j                  d      j	                  d-            }|j                  d|       |j'                  dg d.      }|jB                  g d.   }t+        j,                  ||       d/gdz  }
d|
d0<   |j'                  d|
      }|j(                  |
   }t+        j,                  ||       |j'                  ddd1      }|dd }t+        j,                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   jxY w# 1 sw Y   !xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)2Nrv   r   r   r   r   rc   rr   r   r   rS   r   rp   rr   zindex<3r}   r   r   zindex>=3zindex<=4r   r   r   z{}_2r"  rp   r  zA>0zB>0r"   )axisF)
check_freq)  rv   20000101ra  re   rg   r    zLwhere must be passed as a string, PyTablesExpr, or list-like of PyTablesExprr   rh   )r   start)r   rc  stopi  zindex in selectionrc   rv   )r   r}   r   Trc  rd  )&r   r&   r   r   r   r   r)   r*   r
   r   r   r   select_as_coordinatesvaluesr'   r,   r    allr+   r   r   r#   r   rT  r  renamerN   r	   rp   rr   select_columnr   monthr)  r   r   r  isin)r.   rS   r`   rk   r   r   r   r   
df1_result
df2_resultr   r   	selections                r2   test_coordinatesrr    sE   	
		a 009d6l&1r<
B 
J	' -B5eT"T2 ''-BIIc"((m4499;;; 	eT"U1XE!H56T2''yk:BIIaL(--///d!,66!A#q&>
fh/''z:.FGBIIaL1,,11333d!,66!A#q&>
fh/!U### 	eU#eU#II!!!$44W=$v,f5\2C@

 hhj6UCsCj9UC ''u~>\\%+
\\%+
Z0q93*1-XZZ!^

Q?@
fh5A[-Bd 
J	' :05II!!!$44Y?Z6
 	T2g.-"((A-.44775> d%0
fh/ d%0
fh/+ 	 ]]9C0 	JLLRYYs2wi%HLI	J ]]9C0 	=LLRYYs2w{%;L<	= ]]9C0 	BLLRYYs2w%7qLA	B ]]9C0 	KLLRYYs2w%7qrLJ	K z37	d*>?bhhmmI./
fh/ ryy,,Q/??HIUBe95779%
fh/ b	e5166%=
fh/ e126a8
fh/u:0 :0e-B -BR	J 	J	= 	=	B 	B	K 	KA:0 :0s{   *L'\=$D]>02]
"#]>3]8#]>1]$#]>/2]1!E]>=]
]	]>]!	]>$].	)]>1];	6]>>^c                 P   t        |       5 }t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      d      }|j                  d|       |j                  dddd      }|j                  dd	d
gf   }t        j                  ||       |j                  dddd      }t        |      dk(  sJ |j                  ddd
gf   }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nrv   r   r^  rS   zcolumns=['A']r   r   rg  r   rp   r   (   )r   r   r&   r   r   r   r   r   r#   r   r,   r.   r`   rS   r   r   s        r2   test_start_stop_tablerv     s
   	J	' 05YY**1-44R8YY**1-44R8
 	T2dO11E66!A#u*%
fh/ dO2BG6{a66"R%#,'
fh/%0 0 0s   DDD%c                    t        |       5 }t        ddgddgd      }|j                  dgd d|d       |j                  ddgdd	d
      }|j                  d	gddgf   }t        j                  ||       d d d        y # 1 sw Y   y xY w)Nr"   rv   )rl   rn   rl   )selectorr  rx  )rx  r  r   )rx  rc  rd  rn   )r   r   append_to_multipleselect_as_multipler   r#   r   ru  s        r2   test_start_stop_multipler{  6  s    	J	' 
051vq!f56  $/j 	! 	
 )) :QQ * 
 661#u~-.
fh/
0 
0 
0s   A,BB
c                 b   t        |       5 }t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      dt        dd            }|j                  d|       |j                  ddd	
      }|j                  dd	d d f   }t        j                  ||       |j                  dd	d
      }|j                  d	dd d f   }t        j                  ||       |j                  ddd
      }|j                  ddd d f   }t        j                  ||       |j                  }|j                  d|       |j                  ddd	
      }|j                  dd	 }t        j                  ||       |j                  dd	d
      }|j                  d	d }t        j                  ||       t        dt        j                  d      j                  d      z  t        t!        d      t"              t        t%        d      D cg c]  }d| 	 c}t"                    }t        j&                  |j                  dd	ddf<   t        j&                  |j                  dddf<   d d d        y c c}w # 1 sw Y   y xY w)Nrv   r   r^  r   re   rg   rS   r   r   rg  rc   r   rt  r   r   r   r   r   r   r   r   r}   r"   r   rf  )r   r   r&   r   r   r
   rQ   r   r)  r#   r   rp   r   r'   r(   r   r)   r*   r+   r   )r.   r`   rS   r   r   r   r1   s          r2   test_start_stop_fixedr}  E  sO   	J	' *#5YY**1-44R8YY**1-44R8 Z4
 			$d!!4771Q36?
fh/d!"5771R47#
fh/ d"26772b5!8$
fh/ DD		#qc366!A;
vx0c466!B<
vx0 "))C.((11$v,f5595a2aS5VD

 FF!QqSFF"bU*# *#N 6O*# *#s   H)J%5J AJ% J%%J.c           
         t        t        j                  j                  d      j	                  d            }|j
                  D cg c]  }|d c}|_        |j                  D cg c]  }|d c}|_        t        |       5 }|j                  d|d       d}|j                  d|g      }t        j                  ||j                  d d |j                  d d f          d	}|j                  d|g      }t        j                  ||j                  d d |j                  d dd   f          d d d        y c c}w c c}w # 1 sw Y   y xY w)
Nrv   )2   d   3drK  rM   rG  zcolumns=df.columns[:75]K   zcolumns=df.columns[:75:2])r   r&   r   r   r   r    r   r   rQ   r   r#   r   r   )r.   rS   rk   r`   critr   s         r2   test_select_filter_cornerr  s  s$   	299((+;;IF	GB#%88,a1R&	,BH%'ZZ0QrF)0BJ	J	' 	D5		'2g	.(gv.
fbffQ

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

5Bq50A-A&BC	D 	D -0	D 	Ds   D8'D=B*EEc                  X   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D  cg c]  } d|  	 c} t                    t        j                  fd	d
       }t        j                  |       y c c} w )Nr   r   r   r   r   r   r   r   c                 *    j                  | d      S NrS   r   r   prS   s    r2   r?   z#test_path_pathlib.<locals>.<lambda>      "))A4)( r@   c                     t        | d      S NrS   r   r  s    r2   r?   z#test_path_pathlib.<locals>.<lambda>      HQ4E r@   r   r&   r'   r(   r   r)   r*   r+   r#   round_trip_pathlibr   r1   r   rS   s     @r2   test_path_pathlibr    s    	biin$$W--d6l&1uRy1!r!X1@
B ""(*EF "f% 2   B'zstart, stop))r   rv   )r"   rv   )NNc                 
   t        t        g d      t        g d      d      }t        |      5 }|j                  d|       |j	                  d| |      }t        j                  || | |       d d d        y # 1 sw Y   y xY w)N)i2i2i2)abcdr  r!   rj   test_datasetrg  )r   r   r   r   r   r#   r   )rc  rd  r.   rS   r`   r   s         r2    test_contiguous_mixed_data_tabler    s~     
67*+	

B 
J	' 65^R(nEE
btnf5	6 6 6s   A A99Bc                  `   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D  cg c]  } d|  	 c} t                    fd	}d
 }t        j                  ||      }t        j                  |       y c c} w )Nr   r   r   r   r   r   r   r   c                 l    t        |       5 }j                  |d       d d d        y # 1 sw Y   y xY wr  r   r   r/   r`   rS   s     r2   writerz*test_path_pathlib_hdfstore.<locals>.writer  1    d^ 	'uIIeI&	' 	' 	'   *3c                 \    t        |       5 }t        |d      cd d d        S # 1 sw Y   y xY wr  r   r/   r`   s     r2   readerz*test_path_pathlib_hdfstore.<locals>.reader  *    d^ 	)uE4(	) 	) 	)   "+r  r1   r  r  r   rS   s       @r2   test_path_pathlib_hdfstorer    s    	biin$$W--d6l&1uRy1!r!X1@
B') ""662F"f% 2   B+c                  X   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D  cg c]  } d|  	 c} t                    t        j                  fd	d
       }t        j                  |       y c c} w )Nr   r   r   r   r   r   r   r   c                 *    j                  | d      S r  r  r  s    r2   r?   z,test_pickle_path_localpath.<locals>.<lambda>  r  r@   c                     t        | d      S r  r  r  s    r2   r?   z,test_pickle_path_localpath.<locals>.<lambda>  r  r@   r  r  s     @r2   test_pickle_path_localpathr    s    	biin$$W--d6l&1uRy1!r!X1@
B
 ""(*EF "f% 2r  c                  `   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D  cg c]  } d|  	 c} t                    fd	}d
 }t        j                  ||      }t        j                  |       y c c} w )Nr   r   r   r   r   r   r   r   c                 l    t        |       5 }j                  |d       d d d        y # 1 sw Y   y xY wr  r  r  s     r2   r  z,test_path_localpath_hdfstore.<locals>.writer  r  r  c                 \    t        |       5 }t        |d      cd d d        S # 1 sw Y   y xY wr  r   r  s     r2   r  z,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1!r!X1@
B') $$VV4F"f% 2r  propindexesTFc                    t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }t        j                         5 }t        |      5 }|j                  d	|d
g       d d d        t        j                         5 }t        |      5 }t        j                  |j!                  |j"                  d |             5 }|j%                         }t'        |      t'        |j%                               k(  sJ |j%                         D ]  }	|j)                  |	      j*                  s|j)                  |	      }
|j)                  |	      }|j,                  |
j,                  k(  sJ | s_|j.                  D ]*  }|j0                  s|
|j"                     j0                  r*J   	 d d d        d d d        d d d        d d d        y c c}w # 1 sw Y   exY w# 1 sw Y   4xY w# 1 sw Y   8xY w# 1 sw Y   <xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   rS   rp   r  )keysr  )r   r&   r'   r(   r   r)   r*   r+   r#   r$   r   r   tempfileNamedTemporaryFile
contextlibclosingr  rL  r  r   r   is_tablenrowsaxesr  )r  r1   rS   r/   stnew_fr`   tstorer  knew_torig_tr!   s                r2   	test_copyr    s   	biin$$W--d6l&1uRy1!r!X1@
B 
	 Hdd^ 	4rIIdBcUI3	4((* 	He$ H5''JJuzz+JN H ::<Dt9FKKM(::::#[[] H!,,Q/88$*$5$5a$8E%*%5%5a%8F#)<<5;;#>>#>  +)/ !HA'(||/4QVV}/G/G(G/G!HHHH	HH H 2	4 	4H HH H	H 	HH Hs   H		H?H+H?H32H'A&H	,?H	,H	H	"H	(H'0H38H?H	H?H$ H''H0,H33H<	8H??Ic                 v   t        ddgddgg      }| |z  }d}t        j                  t        |      5  |j	                  |dd       d d d        |j	                  |dd	       t        |d      }t        j                  ||       |j                  |      sJ |j                  |      sJ y # 1 sw Y   fxY w)
Nr!   r   )r   r  z/Columns index has to be unique for fixed formatr   rS   r  r   rM   )	r   r   r   r%   r   r   r#   r   equals)rR   r.   rS   r/   r   others         r2   test_duplicate_column_namer    s    	C:aVH	5Bj D
;C	z	- 2
		$D	12 IIdWI-T4 E"e$99U<<2 2s   B//B8c                    t        t        j                  j                  d      j	                  d            }t        dddd      |_        t        |       5 }||d	<   t        j                  |d	   |       d d d        y # 1 sw Y   y xY w)
Nrv   )rc   r   )size0src   1sexample)rc  rf   r   rL  rS   )
r   r&   r   r   normalr   r    r   r#   r   r.   rS   r`   s      r2   !test_preserve_timedeltaindex_typer    sw    	299((+222@	ABT2DyQBH	J	' /5d
eDk2./ / /s   B  B	c                    t        t        j                  j                  d      j                  d      t	        d      t	        d            }d|j
                  _        |j                  dd	      }|j
                  j                  |j                  j                         z   }| |z  }|j                  |d
dd|d       t	        d      }t	        |      }t        |d
|       ||k(  sJ y )Nrv   )r   r   abcdABCDE)r    r   lettersET)r  r   rS   r!   F)r   rL   r   rO   r    BCDr"  )r   r&   r   r   r)   r    rL  r  r'  r   tolistr   r   )rR   r.   rS   rO   r/   	cols2loadcols2load_originals          r2    test_columns_multiindex_modifiedr    s     

		a ''/6lW
B
 BHHM	3t	,B88>>BJJ$5$5$77Lj DII!   UIiT4+***r@   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningr   r"   r   r   r   rd   rv   re   z1 dayr   r   c                    t        t        j                  j                  d      j	                  d      |      }| |z  }d}t        j                  t        |      5  |j                  |ddd	       d d d        y # 1 sw Y   y xY w)
Nrv   re  r"  z-cannot have non-object label DataIndexableColr   rS   rM   Tr   rN   rO   )	r   r&   r   r   r   r   r   r%   r   )rR   r.   r   rS   r/   r   s         r2   0test_to_hdf_with_object_column_names_should_failr  ,  st     
299((+;;GDg	VBj D
9C	z	- E
		$Dt	DE E Es   A;;Br   categoryc                    t        t        j                  j                  d      j	                  d      t        ddg|            }| |z  }|j                  |ddd	
       t        |dd|j                  d    d      }t        |      sJ y )Nrv   re  r!   rj   r   r"  rS   rM   Tr  z	index = [r   ]r   )
r   r&   r   r   r   r   r   r   r    r,   )rR   r.   r   rS   r/   r   s         r2   /test_to_hdf_with_object_column_names_should_runr  @  s     

		a 009sCj.
B j DIIdW4I@dD)BHHQK=(BCFv;;r@   c                     t        g dg dd      }t        |       5 }|j                  d|       |d   j                  j                  |d   d   j                  j                  k(  sJ 	 d d d        y # 1 sw Y   y xY w)N)r"   rv   r}   r   )r   r   r   r   r  rS   r!   )r   r   rQ   ri  stridesr  s      r2   test_hdfstore_stridesr  M  ss    	L9	:B	J	' I5		$#w~~%%tS)9)@)@)H)HHHHI I Is   AA33A<c                     t        dggdgt        dgd            }|j                         }| |z  }|j                  |d       t	        |d      }t        j                  ||       y )	Nr"   TFboolr   r   r!   r  )r   r   r  r   r   r#   r   )rR   r.   rS   r   r/   r   s         r2   test_store_bool_indexr  U  sb    	QC54&ugV0L	MBwwyH j DIIdIdC F(F+r@   )Qr  r   r   rV   r  rX   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   r^   ra   r   r   r   parametrizer   r   r   r   r   r  r  r  r#  r,  r1  r?  rE  rI  rN  rW  rZ  r\  rr  rv  r{  r}  r  r  r  r  r  r  r  r  r  r  filterwarningsint64rh   r  r  r  r   r@   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
,r@   