
    I j؈                        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
  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  S SKJr  S SKJrJ r   \RB                  RD                  /r#\RH                  " S5      r%S r&\RB                  RO                  \" \%RP                  5      \" S	5      :  S
S9S 5       r)S r*S r+S r,S r-S r.\RB                  R_                  SSSS1\0" 5       4\0" 5       SS14S1SS14\0" 5       S14S.4SS1SS14\0" 5       S14S.4/5      S 5       r1S  r2S! r3S" r4\RB                  R_                  S#S$S%/5      S& 5       r5S' r6S( r7S) r8S* r9S+ r:S, r;S- r<S. r=\RB                  R_                  S/SS0/5      \RB                  R_                  S1S%S$/5      S2 5       5       r>S3 r?S4 r@S5 rAS6 rBS7 rCS8 rDS9 rES: rFS; rGS< rHS= rI\RB                  R_                  S>/ S?Q5      S@ 5       rJSA rKSB rL\RB                  R_                  SCSDSE/5      SF 5       rMSG rNSH rOSI rP\RB                  R                  SJ5      \RB                  R_                  SK\" S SL/\R                  SM9\" SNSO/\R                  SM9\" SPSQSR9\" SSSQSR9\" SPSQSTSU9/5      SV 5       5       rT\RB                  R_                  SWSSX/5      SY 5       rUSZ rVS[ rW\RB                  R_                  S\/ S]Q5      S^ 5       rXS_ rYg)`    N)PY312)
	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeperiod_rangetimedelta_range)CategoricalDtype)VersionHDFStoreread_hdftablesc                     [        U 5       n[        S5      e! , (       d  f       O= f! [         a     Of = f[        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        g ! , (       d  f       g = f)Nblah皙?x         ABCDdtyper   i-columnsindexa   )r   
ValueErrorr   nparangereshaper   listobjectrangelentype)temp_h5_pathtblis      t/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_store.pytest_contextr1   )   s    l#sV$$ $# 	,	3"))C.((11$v,f55959a2aS95VD
C
 3x1}}CH~*** 
 		s5   * 
'* * 
77AC1B*)>C11
C?2zAtrack_times=False produces non-deterministic files with HDF5 >= 2)reasonc                    ^ [         R                  S4S jm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X$:X  d   eX5: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   r0   <lambda>7test_no_track_times.<locals>.checksum.<locals>.<lambda>D   s    aff-=-L&M    rA   )openiterupdatedigest)filenamehash_factoryr<   chunkr=   r>   s     ` @@r0   checksum%test_no_track_times.<locals>.checksumA   s^    N(D!QMsS T " xxz "! xxzs   +A
A7c           
         > [        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)r-   rQ   dfhdfrI   s       r0   create_h5_and_return_checksum:test_no_track_times.<locals>.create_h5_and_return_checksumH   s]    aSz"l-GG!'   . %% .-s	   ?
AF)rQ   Tr#   )hashlibmd5timesleep)r-   rU   checksum_0_tt_falsechecksum_0_tt_truechecksum_1_tt_falsechecksum_1_tt_truerI   s         @r0   test_no_track_timesr_   9   s{     )0c & 8RWX6|QUV 	JJqM7RWX6|QUV 555 333rA   c                 &    [        U 5      / :X  d   eg r9   )r(   )temp_hdfstores    r0   test_iter_emptyrb   g   s    "$$$rA   c                    U 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U(       a  S OUnS+n[(        R*                  " XgS,9   XSS-'   S S S 5        UR,                  R/                  UR,                  R0                  S.5        UR2                  [        U5      ;   d   eUR2                  [5        U5      ;   d   eUR                  5         g s  snf s  snf s  snf ! , (       d  f       N= 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   z0cannot
map directly to c-types .* dtype='object'matchrS   bah)reprinfor   r%   r&   ri   r   r*   r   r'   r   r(   r)   r	   dtdatetimenanlocr!   _consolidatetmassert_produces_warning_handlecreate_grouprootrF   str)ra   performance_warningusing_infer_stringstorer/   rS   warningmsgs           r0   	test_reprr   l   s   EK	JJL
		"BJJ'z,PR/SE#J b	USUY:WYRs8Y:WXE#Jbiin$$W--d6l&1uRy1y!r!Xy1@E#J 
biin$$W--d6l&1uRy1y!r!Xy1@
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,B| ,B|kk$1a3B{Okk$1a3B{O&(ffBFF288Aa=6("#		B(d.AG
=C		#	#G	7d 
8 
MMu}}1159>>T%[(((>>SZ'''	JJLI ;X 2 2$ 
8	7s   1KKKK
K-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 R                  S	U5        U R                  S	5      n[        U5        [        U5        g s  snf )
Nr   r   r   r   r   r   r   r   rS   )r   r%   r&   r'   r   r(   r)   r*   append
get_storerr   r   )ra   r/   rS   ss       r0   test_repr_get_storerr      s    	biin$$W--d6l&1uRy1y!r!Xy1@
B
 r"  &AGF 2s   B*c                 8   U 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g s  snf s  snf s  snf ! , (       d  f       N&= f)Nrd   r   re   rf   rh   r"   r   r   r   r   r   r   r   rk   zfoo/barrl   z/foo/barz/foo/bro   F)check_stacklevelznode()))r   r%   r&   ri   r   r   r'   r   r(   r)   r*   r   r   r   NaturalNameWarning)ra   r   r/   s      r0   test_containsr      s   E
		"BJJ'z,PR/SE#J biin$$W--d6l&1uRy1y!r!Xy1@E#J
 !biin$$W--d6l&1uRy1y!r!Xy1@E)
 %<<%<<e5    
	#	#F$=$=PU	V$"))C.((11$v,f55959a2aS95VD
i 
W - 2
 2 6	 
W	Vs+   G<?H8AHHHH
Hc                 p   U 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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R                  SU5        S UR+                  S5      R"                  l        Sn[,        R.                  " [0        US9   UR3                  S5        S S S 5        g s  snf ! , (       d  f       g = f)Nrd   r   re   rf   rh   r"   r   r   r   r   r   r   r   rk   rw   )   r   
2000-01-01r   rs   rg   freqdf1z0.15.2df2z/'NoneType' object has no attribute 'startswith'r   )r   r%   r&   ri   r   r   r'   r   r(   r)   r*   randomdefault_rngstandard_normalr   r   r"   _v_attrspandas_versionrk   r   get_nodepytestraises	Exceptionselect)ra   r   r/   rS   r   s        r0   test_versioningr      s   E
		"BJJ'z,PR/SE#J biin$$W--d6l&1uRy1y!r!Xy1@E#J
 

		a 009d6l&1r<
B
 
LL3B 	LL23 ::<<  //8;;;::<<  //8;;;::>>""11X=== 
LL 59ENN5""1
;C	y	,U 
-	,- 2, 
-	,s   H"H''
H5zwhere, expected/first_groupsecond_groupr   r   third_groupdf3s1df4) /first_group/second_group/second_group/third_groupr   )r   r   c                 Z   [        / 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U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  pVnXQ;   d   eX   u  pU[        U5      :X  d   eU	[        U5      :X  d   eU H`  n
SR                  XZ/5      nUR                  U5      nSU
;   a  [        R                  " XU
   5        MG  [        R                   " XU
   5        Mb     M     g )Nr#   rw   r~   )r      r   )r         )	   rd      )rd   r   r   zi,i,ir   )r   r   r   )rd   r      )r   r   r   r   r   a1tb1tb2z/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%   arrayrR   r   create_arraycreate_tabler+   r(   walksetjoingetr   assert_frame_equalassert_series_equal)r   expectedra   objsr   pathgroupsleavesexpected_groupsexpected_framesleaf
frame_pathr   s                r0   	test_walkr      s   0 ###%Z hh	9-.xxI.g>xxL1A
D E	II $u+.	II $u+.	II!4;/	II $t*-	II-tE{;	MM~tT$Z@	MM~u$u+F	MM4;GtEJJUJ+,-X>>> %


 7f+3>(#f+---#f+---D4,/J))J'Ct|%%c:6&&sJ7  !8rA   c           
         U n[        [        R                  " S[        R                  S9[	        SSS9S9nX!S'   UR
                  n[        R                  " X25        UR
                  n[        R                  " X25        [        [        R                  R                  S5      R                  S5      [        [        S	5      5      [	        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     g ! , (       d  f       Mb  = f)Nrd   r   re   rf   rh   r"   rw   rd   r   r   r   rs   r   r   rS   )drM   r   handlecomplibz$'HDFStore' object has no attribute ''r   )rM   r   r   r   _)r   r%   r&   ri   r   r"   r   r   r   r   r   r   r   r(   rS   r   r   r   AttributeErrorgetattr)ra   r   r   resultrS   xr   s          r0   test_getattrr   (  s"   E
		"BJJ'z,PR/S	A #J WWF6%WWF6%	
		a 009d6l#r<
B
 $KXXF&% 84QCq9]]>5E 65 8 31#w 3	 65s   E
E	c                    [        S[        R                  S/S[        R                  [        R                  /S.[        S5      S9n[        SS/S[        R                  /S.[        S5      S9nUR	                  U SS	S
9  [        U S5      n[        R                  " X5        UR	                  U SS	SS9  [        U S5      n[        R                  " X5        UR	                  U SS	SS9  [        U S5      n[        R                  " X#5        g )N               @      ?)col1col2abcrh   acrS   rN   keyrO   F)r   rO   dropnaT)r   r%   r   r(   to_hdfr   r   r   )r-   df_with_missingdf_without_missingreloadeds       r0   test_store_dropnar   I  s    rvvs#c266266-BC5kO #sc266]34: <T'Bd+H/4<T'%Pd+H/4<T'$Od+H,7rA   c           
      B   [        / SQ/ SQ[        / SQ5      [        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      [        X/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foo520130101r   rf   )rq   rs   CDr  ss3rN   r!   r   )r   rO   min_itemsizelonger)r  T)r   r   rO   rs   ss4)r   r   r   	set_indexr   copyreset_indexassignr   r   r   r
   r   )r-   rS   r   s      r0   test_to_hdf_with_min_itemsizer  a  s   	**?@J2		

 in  IIlgWaLIQ
'')


!
(
(8
(
4
>
>s
CCJJ|tGJD(<7	9JK sGNN<U7'STNVHOOLeDOI8L%8&"S'3s8AT:UVrA   rO   fixedrN   c                    S/n[        U[        USS9SS9nUR                  USU SS9  [        USSS9nU(       a$  [        R
                  " S	[        R                  S
9nOSn[        U[        X6S9US9n[        R                  " XW5        g )Nu   foor)   r   )r!   r   rN   surrogatepass)r   rO   errors)r  python)storagena_value)
r   r   r   r   pdStringDtyper%   r   r   r   )rO   r-   r   dataserr   r   r   s           r0   test_to_hdf_errorsr  w  s    =D
U4x8
ICJJ|JPlGODF x"&&Ad%":%HH6,rA   c           
        ^ U mU4S jn[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        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R                  SU5        Sn[        R                  " [        US9   TR                  S5        S S S 5        g ! , (       d  f       g = f)Nc                 b   > [        TR                  U 5      R                  R                  U5      $ r9   r   r   rN   colstcolumnr   s     r0   col$test_create_table_index.<locals>.col  '    u''*0055v>>rA   rw   r   r   r   rd   rs   r   r   rm   stringro   string2r=   rP   r!   Tf2)r!   rP   Fz1cannot create table index on a Fixed format storer   )r   r%   r   r   r   r   r(   r   r   
is_indexedrR   r   r   	TypeErrorcreate_table_indexra   r  rS   r   r   s       @r0   test_create_table_indexr*    su   E? 

		a 009d6l#r<
B
 BxLByM	LLb)'<L=sG''4///sH((D000sI))T111 
LLr(8Y:OLPtW((E111tX))T111tY**e333 
IIdB
=C	y	,  & 
-	,	,s   E&&
E4c           
      n  ^ U mU4S jn[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        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        g ! , (       d  f       ND= f! , (       d  f       g = f)Nc                 b   > [        TR                  U 5      R                  R                  U5      $ r9   r  r  s     r0   r  :test_create_table_index_data_columns_argument.<locals>.col  r!  rA   rw   r   r   r   rd   rs   r   r   rm   r"  ro   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)  s       @r0   -test_create_table_index_data_columns_argumentr/    s     E? 

		a 009d6l#r<
B
 BxLByM	LLbzL2sG''4///sH((D000
4C	~S	1C&& 
2
	L 
 
~S	1  yk : 
2	1 
2	1 
2	1s   D:D&
D#&
D4c                 
   [         R                  " [        SSS9[        S5      /SS/S9n[	        S/ SQ0US	9nU R                  S
USS9  U R                  S
SS9nUR                  S/S S 24   n[        R                  " X45        g )Nr   r   rf   dateidnamesr"   )r   g333333?g?gffffff?g      ?rh   rS   Tr$  zid == 1r   r#   )
r   from_arraysr   r*   r   r   r   ilocr   r   )ra   idxrS   actualr   s        r0   test_mi_data_columnsr9    s    

 
 	L!	,eAh7~C 
C233	?Br5!!$i!8FwwsAvH&+rA   c                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nSUS	'   S
US'   US   S:  US'   US   S:  US'   SUS'   SUS'   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 R                  S U5        [        R                  " U R!                  S 5      U5        g s  snf )!Nr   r   r   r   r   r   r   rm   rn   ro   rp   rq   r   rr   rs   rt   Tru   r#   rv   rw   rx   ry   nsrz   r{   r|   r}   r   r~   r   	df1_mixed)r   r%   r&   r'   r   r(   r*   r	   as_unitr   r   r!   r   r   r   r   r   )ra   r/   rS   s      r0   test_table_mixed_dtypesr>    sj   	biin$$W--d6l#uRy1y!r!Xy12
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b)-..{;R@# 2s   Fc                 B   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 R                  SU5        U R                  S5      n[        R                  " Xv5        U R!                  SU5        U R                  S5      n[        R                  " Xv5        g )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  rN   )r   r   r%   
datetime64r  offsetsCustomBusinessDayr   r   weekdaymapsplitrR   r   r   r   r   )ra   weekmask_egyptr@  
bday_egyptmydtdtsr   r   s           r0   test_calendar_roundtrip_issuerL    s     +N
D!Q
l#H
 -- . J ;;tQ#D
T1:
6Cs{{C $$V,I,O,O,Q%RSAgq!!!'*F6%!$!!'*F6%rA   c                    U n[        [        R                  " S[        R                  S9[	        SSS9S9n[        S[        R                  " S5      R                  S5      -  [        [        S	5      5      [        [        S
5       Vs/ s H  nSU 3PM
     sn5      S9nX!S'   XAS'   UR                  S5        [        U5      S:X  d   e[        R                  " XAS   5        UR                  S5        [        U5      S:X  d   e[        R                  " [         SS9   UR                  S5        S S S 5        X!S'   XAS'   UR                  S5        [        U5      S:X  d   eX!S'   XAS'   UR                  S5        [        U5      S:X  d   eX!S'   XAS'   US	 US	 [        U5      S:X  d   eg s  snf ! , (       d  f       N= f)Nrd   r   re   rf   rh   r   r   r   r   r   r   r   r"   rk   r#   r   z1'No object named a_nonexistent_store in the file'r   a_nonexistent_storezb/foo)r   r%   r&   ri   r   r   r'   r   r(   r*   remover+   r   r   r   r   KeyError)ra   r   tsr/   rS   s        r0   test_removerR    s   E	
		"BJJ'z,PR/S
B 
biin$$W--d6l#uRy1y!r!Xy12
B
 #J#J	LLu:??"Cj)	LLu:?? 
K
 	*+
 #J'N	LLu:??#J'N	LLu:?? #J#Jc
c
u:??C 2
 
s   F+F00
F>c           	         [        [        R                  R                  S5      R	                  S5      [        S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                  " X25        U R                  SS5      n[        R                  " X25        U R                  SS5      n[        R                  " X25        g )Nrw   )r   rw   r   r   r;  )rg   unitrh   rS   rN   rO   20130105z!index>datetime.datetime(2013,1,5)zindex>datetime(2013,1,5))r   r%   r   r   r   r   rR   r!   r	   r   r   r   )ra   rS   r   r   s       r0   test_same_name_scopingrW  9  s    	
		a 009Rd;
B dBw/((Yz223H!!$(KLF&+ !!$(KLF&+!!$(BCF&+rA   c                 @   [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nSUR                  l        X S	'   U S	   n[        R                  " X25        g s  snf )
Nr   r   r   r   r   r   r   rm   frame)r   r%   r&   r'   r   r(   r*   r!   namer   r   )ra   r/   rS   reconss       r0   test_store_index_namer\  O  s    	biin$$W--d6l#uRy1y!r!Xy12
B
 BHHM'7#F&% 2s   Btzz
US/Pacifictable_formatc                    [        [        R                  " SSS5      [        R                  " SSS5      /SS9R                  U5      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      XES	9nUR                  US
U S9  [        US
5      n[        R                  " XgSS9  [        UR                  R                  [         5      (       d   e[        UR"                  R                  [         5      (       d   eg )Ni  r#   rw   u   colsג)rZ  i  u   rowsאr   r   rS   r   T)check_names)r   r   r1  tz_localizer=  r   r%   r&   r'   r   r   r   r   
isinstancer!   rZ  r   r    )r^  r-   rT  r]  r7  idx1rS   r   s           r0   test_store_index_name_numpy_strrd  \  s   
 	WWT1a "''$1"56	
 
R	  	WWT1a "''$1"56	
 
	R 	 
299Q<''1-s	GB IIl\I:
<
&C"t4ciinnc****ckk&&,,,,rA   c                 (   [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nUS   nX0S	'   U S	   n[        R                  " XC5        g s  snf )
Nr   r   r   r   r   r   r   rq   series)	r   r%   r&   r'   r   r(   r*   r   r   )ra   r/   rS   rf  r[  s        r0   test_store_series_namerg  |  s    	biin$$W--d6l#uRy1y!r!Xy12
B
 WF$(8$F6* 2s   Bc           
      P   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        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        g )Nrw   r   r   r   rd   rs   r   r   r"   r   re   rf   rh   )r   r%   r   r   r   r   r(   r   r   r&   ri   r   r   )ra   rQ  s     r0   test_overwrite_noderi    s    "
		a 009d6l#r<M#
 

		"BJJ'z,PR/S
B #=-r2rA   c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nU nUR                  S	U5        UR                  S	5      nUR                  [        R                  " [        UR                  5      5      :H  R                  5       (       d   eg )
Nrw   r   r   r   rd   rs   r   r   rS   )r   r%   r   r   r   r   r(   r   r   select_as_coordinatesvaluesr&   r+   r!   all)ra   rS   r   rl   s       r0   test_coordinatesrn    s    	
		a 009d6l#r<
B E	LLr 	##D)AHH		#bhh-00557777rA   c                    U n[        [        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g )Nr   rq   rs   rS   zindex<3r~   r   r   rw   zindex>=3zindex<=4r   )r   r*   r   rk  rl  r%   r&   rm  r   r   r   r   rb  r   )ra   r   rS   rl   r   r   s         r0   test_coordinates2rq    s%   E	qa1	2B	LLr##D9+6AHH		!$))++++\\$a\(Fvvac1f~H&+##D:z*BCAHH		!q((--////\\$a\(Fvvac1f~H&+arA   c           
      L   U n[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nUR                  5       R                  S	R                  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[        XV/SS9n[        X#/SS9nXR                  S:  UR                   S:  -     n["        R$                  " XxSS9  g )Nrw   r   r   r   rd   rs   r   r   z{}_2r.  r   rq   r$  r   zA>0zB>0r#   )axisr   F)
check_freq)r   r%   r   r   r   r   r(   r   r  renamerO   r   rk  r   r
   rq   rs   r   r   )	ra   r   r   r   rl   
df1_result
df2_resultr   r   s	            r0    test_coordinates_multiple_tablesrx    s	   E

		a 009d6l#r<C
 ((*

FMM

2C	LL3*L5	LL##EE5>:AeQ'JeQ'JZ,15Fsjq)HaHJJN;<H&u=rA   c           	      X   U 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R                  U   nUR                  SUS
9n[        R                  " Xe5        UR                  SUS
9n[        R                  " Xe5        Sn[        R                   " ["        US9   UR                  S[        R$                  " ['        U5      SS9S
9  S S S 5        [        R                   " ["        US9   UR                  S[        R$                  " ['        U5      S-   5      S
9  S S S 5        [        R                   " ["        US9   UR                  S[        R$                  " ['        U5      5      S	S9  S S S 5        [        R                   " ["        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                  R)                  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R                  / SQ   n[        R                  " Xe5        S/S-  nSUS'   UR                  SUS
9nUR*                  U   n[        R                  " Xe5        UR                  SS	SS9nUS	S n[        R                  " Xe5        g ! , (       d  f       GN>= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)Nrw   )  rw   20000101rz  rf   rh   rS   r!   r   r   zLwhere must be passed as a string, PyTablesExpr, or list-like of PyTablesExprr   ri   r   r#   )r   startrd   )r   r|  stopi  zindex in selectionrd   rw   r   )r   r~   r   TFr|  r}  )r   r%   r   r   r   r   r   select_columnr   monthr!   r6  r   r   r   r   r   r'  r&   r+   isinr   )	ra   r   rS   rl   r   r   r   r   	selections	            r0   test_coordinates_array_maskr    s   E	
		a 00;T2
B 
LLrD'*AmA$$)*00Ewwu~H \\$e\,F&+ \\$e\,F&+ YC	y	,T3r7)!DE 
- 
y	,T3r7Q;!78 
- 
y	,T3r7!31= 
- 
y	,T3r7!312F 
- :s3I\\$&:\;F((--	*+H&+ 
299((+;;GD	EB	LL\\%y\1Fwwy!H&+ FRKEE"I\\%u\-Fvve}H&+ \\%qr\2F!BxH&+G 
-	, 
-	, 
-	, 
-	,s0    -M$1M6 /N00N$
M36
N
N
N)c                    [        [        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                  " X#5        U R                  SSSSS9n[        U5      S:X  d   eUR                  SS2S
/4   n[        R                  " X#5        g )Nrw   r   rp  rS   zcolumns=['A']r   r   r  r   rq   r   (   )
r   r%   r   r   r   r   r   r   r   r+   ra   rS   r   r   s       r0   test_start_stop_tabler    s    	&&q)004&&q)004	

B r"!!$qq!IFvvacC5j!H&+ !!$r!KFv;!vvbecUl#H&+rA   c                     [        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
                  " X#5        g )Nr#   rw   )rm   ro   rm   )selectorr  r  )r  r  r   )r  r|  r}  ro   )r   append_to_multipleselect_as_multipler   r   r   r  s       r0   test_start_stop_multipler  !  s    	Aq61a&1	2B$$Wd+R* %  --	Vz . F vvqcE5>)*H&+rA   c                    U 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      5      [        [!        S5       Vs/ s H  nSU 3PM
     sn5      S9n[        R"                  UR                  SS	2SS24'   [        R"                  UR                  SS2S4'   g s  snf )Nrw   r   rp  r   rf   rh   rS   r   r   r  rd   r   r  r   r   r   r   r   r   r   r~   r#   r   r  )r   r%   r   r   r   rR   r   r6  r   r   rq   r   r&   r'   r   r(   r*   r   )ra   r   rS   r   r   r   r/   s          r0   test_start_stop_fixedr  /  s#   E	&&q)004&&q)004	
 R0
B 
IIdB\\$aa\0FwwqsAvH&+\\$ab\1FwwqtQwH&+ \\$br\2Fwwr"uax H&+ 	A	IIc1\\#QQ\/Fvva{H6,\\#QR\0Fvva|H6, 
biin$$W--d6l#uRy1y!r!Xy12
B
 BGGAaC1HBGGAbD"H 2s   I.c           	         [        [        R                  R                  S5      R	                  S5      5      nUR
                   Vs/ s H  o3S PM     snUl        UR                   Vs/ s H  o3S PM     snUl        U R                  SUSS9  UR                  [        R                  R                  [        S[        S95        S	nU R                  SU/5      n[        R                   " XRR"                  S S 2UR                  S S
 4   5        SnU R                  SU/5      n[        R                   " XRR"                  S S 2UR                  S S
S2   4   5        g s  snf s  snf )Nrw   )2   d   3drY  rN   rU  zAST change in PY312)r3   r   zcolumns=df.columns[:75]K   zcolumns=df.columns[:75:2])r   r%   r   r   r   r!   r    rR   applymarkerr   markxfailr   r$   r   r   r   r   )ra   requestrS   rl   critr   s         r0   test_select_filter_cornerr  ]  s2   	299((+;;IF	GB#%88,8aR&	8,BH%'ZZ0ZrF)Z0BJgr'2( 	 	
 %D!!'D62F&&&BJJsO);"<=&D!!'D62F&&&BJJu1u,=)=">?% -0s   E)E c                 J  ^ [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9m[        R                  " U4S jS	 U 5      n[        R                  " TU5        g s  snf )
Nr   r   r   r   r   r   r   c                 $   > TR                  U SS9$ NrS   r   r   prS   s    r0   r?   #test_path_pathlib.<locals>.<lambda>|      "))A4)(rA   c                     [        U S5      $ NrS   r   r  s    r0   r?   r  |      HQ4ErA   
r   r%   r&   r'   r   r(   r*   r   round_trip_pathlibr   r-   r/   r   rS   s      @r0   test_path_pathlibr  t  s    	biin$$W--d6l#uRy1y!r!Xy12
B ""(*E|F "f% 2   B zstart, stop))r   rw   )r#   rw   )NNc                     [        [        / SQ5      [        / SQ5      S.5      nUR                  SU5        UR                  SXS9n[        R
                  " X0U U5        g )N)i2i2i2)abcdr  r"   rk   test_datasetr  )r   r   r   r   r   r   )r|  r}  ra   rS   r   s        r0    test_contiguous_mixed_data_tabler    s`     
67*+	

B ,!!.!IF"4.&1rA   c                 P  ^ [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9mU4S jnS	 n[        R                  " X#U 5      n[        R                  " TU5        g s  snf )
Nr   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   r   rS   s     r0   writer*test_path_pathlib_hdfstore.<locals>.writer  s&    d^uIIeI& ^^s   '
5c                 f    [        U 5       n[        US5      sS S S 5        $ ! , (       d  f       g = fr  r   )r   r   s     r0   reader*test_path_pathlib_hdfstore.<locals>.reader  s    d^uE4( ^^s   "
0r  )r-   r/   r  r  r   rS   s        @r0   test_path_pathlib_hdfstorer    s    	biin$$W--d6l#uRy1y!r!Xy12
B') ""6<@F"f% 2s   B#c                 J  ^ [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9m[        R                  " U4S jS	 U 5      n[        R                  " TU5        g s  snf )
Nr   r   r   r   r   r   r   c                 $   > TR                  U SS9$ r  r  r  s    r0   r?   ,test_pickle_path_localpath.<locals>.<lambda>  r  rA   c                     [        U S5      $ r  r  r  s    r0   r?   r    r  rA   r  r  s      @r0   test_pickle_path_localpathr    s    	biin$$W--d6l#uRy1y!r!Xy12
B
 ""(*E|F "f% 2r  propindexesTFc                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9n[        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R*                  (       d  M  XR                     R*                  (       a  M5   e   M     S S S 5        S S S 5        S S S 5        g s  snf ! , (       d  f       GN|= f! , (       d  f       N6= f! , (       d  f       N?= f! , (       d  f       g = f)Nr   r   r   r   r   r   r   rS   rq   r$  )keysr  )r   r%   r&   r'   r   r(   r*   r   r   tempfileNamedTemporaryFile
contextlibclosingr  rZ  r  r   r   is_tablenrowsaxesr&  )r  	temp_filer/   rS   stnew_fr   tstorer  knew_torig_tr"   s                r0   	test_copyr    s   	biin$$W--d6l#uRy1y!r!Xy12
B 
)	
		$#	/ 
		$	$	&%i E##

5::Dk
Jzz|4yC$6666A((+444 & 1 1! 4!&!1!1!!4%||u{{::: ';%+[[#$<<<+0=+C+C+C$C+C &1 ' ! 
'	& 2 
	  !  
'	&sh   G85G=%H110H !A*HAHH8HHH 'H1=
H
HH  
H.	*H11
H?c                 t   [        SS/SS//S9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   rS   r  r   rN   )	r   r   r   r$   r   r   r   r   equals)r-   rS   r   others       r0   test_duplicate_column_namer    s    	C:aVH	5B
;C	z	-
		,D	9 
. IIlWI5\4(E"$99U<< 
.	-s   B))
B7c                     [        [        R                  R                  S5      R	                  SS95      n[        SSSSUS9Ul        X S	'   [        R                  " U S	   U5        g )
Nrw   )rd   r   )size0srd   1sexample)r|  rg   r   rZ  rT  rS   )	r   r%   r   r   normalr   r!   r   r   )ra   rT  rS   s      r0   !test_preserve_timedeltaindex_typer    s_    	299((+222@	ABBT	BH $--r2rA   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UR                  U S
SSUSS9  [	        S5      n[	        U5      n[        U S
US9  XC:X  d   eg )Nrw   )r   r   abcdABCDE)r!   r    lettersET)r  r   rS   r"   F)r   rM   r   rP   r!   BCDr.  )r   r%   r   r   r(   r!   rZ  r  r4  r    tolistr   r   )r-   rS   rP   	cols2loadcols2load_originals        r0    test_columns_multiindex_modifiedr    s     

		a ''/6lW
B
 BHHM	3t	,B88>>BJJ$5$5$77LII!   UIi\43***rA   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningr    r#   r   r   r   re   rw   rf   z1 dayr  r   c                     [        [        R                  R                  S5      R	                  S5      US9nSn[
        R                  " [        US9   UR                  U SSSS	9  S S S 5        g ! , (       d  f       g = f)
Nrw   r~  r.  z-cannot have non-object label DataIndexableColr   rS   rN   Tr   rO   rP   )	r   r%   r   r   r   r   r   r$   r   )r-   r    rS   r   s       r0   0test_to_hdf_with_object_column_names_should_failr    s]     
299((+;;GDg	VB
9C	z	-
		,Dt	L 
.	-	-s   A..
A<r   categoryc                    [        [        R                  R                  S5      R	                  S5      [        SS/US9S9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 )Nrw   r~  r"   rk   r   r.  rS   rN   Tr  z	index = [r   ]r   )
r   r%   r   r   r   r   r   r   r!   r+   )r-   r   rS   r   s       r0   /test_to_hdf_with_object_column_names_should_runr    s|     

		a 009sCj.
B IIlW4IHlD)BHHQK=0JKFv;;;rA   c                     [        / SQ/ SQS.5      nU R                  SU5        US   R                  R                  U S   S   R                  R                  :X  d   eg )N)r#   rw   r~   r   )r   r   r   r   r  rS   r"   )r   rR   rl  strides)ra   rS   s     r0   test_hdfstore_stridesr  %  sS    	L9	:BdBc7>>!!]4%8%=%D%D%L%LLLLrA   c           	          [        S//S/[        S/SS9S9nUR                  5       nUR                  U SS9  [	        U S5      n[
        R                  " X#5        g )	Nr#   TFboolr   r   r"   r  )r   r   r  r   r   r   r   )r-   rS   r   r   s       r0   test_store_bool_indexr  ,  sV    	QC54&ugV0L	MBwwyH IIlI$lC(F(+rA   modelrZ  longnameverylongnamec                     [        / SQS9n[        / SQ/ SQS.5      R                  U[        S.5      nU R	                  SUS/S9  U R                  SS	5      nX3S   U:H     n[        R                  " XE5        g )
Nr  )
categories)rZ  r  r  r   )modelIdvaluerS   r  r$  zmodelId == model)r   r   astypeintr   r   r   r   )ra   r  modelsrS   r   r   s         r0   &test_select_categorical_string_columnsr  8  s~     )MNF	4yI
f#./  r<!!$(:;FY-5()H&+rA   c                     [         R                  " SS/SS/S9n[        SSS/0US	9nUR                  U S
S9  [	        U S
S9n[
        R                  " X#SS9  g )N)r"   r   )rk   ylevel1level2r3  r  r#   rw   rh   testr  F)check_dtype)r   from_tuplesr   r   r   r   r   )r-   r!   rS   r   s       r0   )test_to_hdf_multiindex_string_dtype_crashr	  H  s_    ""J
#;HhCWXE	GaV$E	2BIIlI'l/F"%8rA   )Zr  r   r   rW   r  rY   numpyr%   r   pandas.compatr   pandasr  r   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingr   pandas.api.typesr   pandas.util.versionr   pandas.io.pytablesr   r   r  
single_cpu
pytestmarkimportorskipr   r1   r  hdf5_versionr_   rb   r   r   r   r   parametrizer   r   r   r   r  r  r*  r/  r9  r>  rL  rR  rW  r\  rd  rg  ri  rn  rq  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsint64ri   r  r  r  r  r  r	   rA   r0   <module>r     s               (
 kk$$%
			X	&+  F GCL0N  '4	'4T%
+\BD  #^4ce<!$ 7#0/E4=!A.1eeW-=		
 #0/E4=!A.1eeW-=	
*%8+*%8P B80W, GW#56- 7-$'@;D,A2&4)X,,
& l34'7);<- = 5-<
+38 (>.8,v,*,+\@.
& (FG2 H2&&	& u6D 7D@3+6 RSq!fBHH%sCj

+<++\137	M	 TM 4"45 6M	, "FG, H,9rA   