
    Mh/0                        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  S SKJrJr  S SKJr  \R.                  R0                  rS rS rS rS	 rS
 rS r\R@                  S 5       r!S r"\R.                  RG                  SSS/5      \R.                  RG                  S\
" \$" S5       V s/ s H  n \%" U 5      PM     sn 5      \
" \RL                  " S\'S95      \
" \RL                  " S5      5      \" SSS9\RP                  " SSS9/5      S 5       5       r)S r*S r+\R.                  RG                  SSS/5      S 5       r,gs  sn f )    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingconcat
date_range)_maybe_removeensure_clean_store)_test_decoratorsc                 :   [        SSS/05      n[        X-  5       nUR                  SUSS9  UR                  SUSS9  UR                  S5      R                  S:X  d   eUR                  S5      R                  S:X  d   e S S S 5        g ! , (       d  f       g = f)	NA      afixedformatbtable)r   r   put
get_storerformat_type)tmp_path
setup_pathdfstores       S/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/pytables/test_put.pytest_format_typer!      s    	C!Q=	!B	('	(E		#r'	*		#r'	*$00G;;;$00G;;; 
)	(	(s   A%B
Bc                     Sn[         R                  " [        US9   [        X-  SS9  S S S 5        g ! , (       d  f       g = f)Nz-format is not a defined argument for HDFStorematchr   r   )pytestraises
ValueErrorr   )r   r   msgs      r     test_format_kwarg_in_constructorr)   &   s0     :C	z	-&w7 
.	-	-s	   2
A c                 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
     sn[        S9S9n[        R                  " S	S
5         [        US5        UR                  SU5        UR                  S5      R                  (       a   eSn[        R                   " ["        US9   UR%                  SU5        S S S 5        S S S 5        [        R                  " S	S5         [        US5        UR                  SU5        UR                  S5      R                  (       d   e[        US5        UR%                  SU5        UR                  S5      R                  (       d   e S S S 5        S S S 5        X-  n[        S[        R                  " S5      R	                  S5      -  [        [        S5      [        S9[        [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        R                  " S	S
5         UR'                  USS9  [)        U5       nUR                  S5      R                  (       a   e S S S 5        [        R                   " ["        WS9   UR'                  USSS9  S S S 5        S S S 5        [        R                  " S	S5         UR'                  USS9  [)        U5       nUR                  S5      R                  (       d   e S S S 5        UR'                  USSS9  [)        U5       nUR                  S5      R                  (       d   e S S S 5        S S S 5        g s  snf ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= fs  snf ! , (       d  f       GNL= f! , (       d  f       GN+= f! , (       d  f       GN5= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Ng?x   )      ABCDdtyper,   zi-columnsindexzio.hdf.default_formatr   r   Can only append to Tablesr#   df2r   )keyT)r6   appenddf3df4)r   r   nparangereshaper   listobjectrangepdoption_contextr   r   r   is_tabler%   r&   r'   r7   to_hdfr   )r   r   r   ir   r(   paths          r    test_api_default_formatrF   /   s   	J	'5"))C.((11$v,f55959a2aS95VD
 6@%&IIdB''-6666-Cz5UB' 6 A 6@%&IIdB##D)2222%'LL###D)2222 A! 
(2  D	biin$$W--d6l&1uRy1y!r!Xy1@
B 
		2G	<
		$D	!d^u''-66666 ]]:S1IIddI3 2	 
= 
		2G	<
		$E	"d^u##E*3333 
		$E$	/d^u##E*3333  
=	<G 6 65 A@ A@! 
(	': 2
 ^11	 
=	< ^ ^ 
=	<s   AN3!M80#N3AN/M=N
N3)BN!+N3OO.!#O
!O.&O8O.P";#P $P"#P'P"8N3=
NN
N	N3!
N0	+N33
O

O	O.
O+	&O..
O= 
P	
P"
P	P""
P0c                    [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9n[        [        R                  R                  S5      R                  S5      [        [        S5      [        S9[        S	S
SS9S9nX!S'   US S US'   US S US'   US S US'   US S US'   UR                  SUS S SS9  Sn[        R                  " [         US9   UR                  SUSS  SS9  S S S 5        [#        US5        [        R                  " [         US9   UR                  SUSS  SS9  S S S 5        [        R                  " [         US9   UR                  SUSS  SS9  S S S 5        UR                  SUS S SSS9  [$        R&                  " US S US   5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)N
   r/   
2020-01-01periodsr3   r   )   r-   r.   
2000-01-01rM   BrK   freqr1   r   r   zfoo/bar/bahfooz/foocr   r   r4   r#   T)r7   fF)r   r7   )r   r   r:   r;   float64r   r   randomdefault_rngstandard_normalr   r=   r>   r   r%   r&   r'   r   tmassert_frame_equal)r   r   tsr   r(   s        r    test_putr\   a   s   	J	'5IIb

+:lTV3W
 II!!!$44W=$v,f5\2C@

 c
Wc
!#2wm#2we3Bf		#r#2ww	/ *]]:S1IIc2bc74I0 2
 	eS!]]:S1IIc2bc74I0 2 ]]:S1IIc2bc74I0 2 			#r#2wwu	=
b"guSz2C 
(	'$ 21 21 219 
(	'sT   CG+(F8=-G+*G	?!G+ G5:G+8
G	G+	
G	G+
G(	$G++
G9c           	         [        U 5       n[        [        S5       Vs/ s H  nSU 3PM
     sn5      n[        [        R
                  " S5      US9n[        XDS.5      nXAS'   [        R                  " US   U5        XQS'   [        R                  " US   U5        [        S/[        S5       Vs/ s H  nSU 3PM
     sn-   5      n[        [        R
                  " S5      US9n[        XDS.5      nXAS'   [        R                  " US   U5        XQS'   [        R                  " US   U5        S S S 5        g s  snf s  snf ! , (       d  f       g = f)	NrM   zI am a very long string index: rL   )r   rO   r   r   $abcdefghijklmnopqrstuvwxyz1234567890   )
r   r   r?   r   r:   r;   r   rY   assert_series_equalrZ   )r   r   rD   r3   sr   s         r    test_put_string_indexrb      s1   	J	'5eBiPi8<iPQ299R=.Q'(c

uSz1-c

eCj"- 34>CBiHi04iHI
 299R=.Q'(c

uSz1-c

eCj"-- 
(	'P I 
(	's)   ED8
BE0D=?A0E8
E
Ec                    [        U 5       n[        [        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S9  [        R                  " US
   U5        Sn[        R                  " [        US9   UR                  SUSSS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   rH   r-   r.   r/   rN   rH   rO   rP   r1   rS   r   zlibr   complib0Compression not supported on Fixed format storesr#   r   r   )r   r   r:   rV   rW   rX   r   r=   r>   r   r   rY   rZ   r%   r&   r'   )r   r   r   r(   s       r    test_put_compressionri      s    	J	'5II!!!$44W=$v,f5\2C@
 			#r'6	:
eCj"- A]]:S1IIc2gvI> 2 
(	' 21 
(	's$   BC)C<C
C	C
C,c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        U 5       nS
n[        R                  " [        US9   UR                  SUSSS9  S S S 5        UR                  SUSSS9  [        R                  " US   U5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nr   rd   r.   r/   rN   rH   rO   rP   r1   rh   r#   r   r   bloscrf   rS   r   )r   r:   rV   rW   rX   r   r=   r>   r   r   r%   r&   r'   r   rY   rZ   )r   r   r   r(   s       r    test_put_compression_bloscrl      s    	
		a 009d6l&1r<
B 
J	'5@]]:S1IIc2gwI? 2 			#r'7	;
eCj"- 
(	' 21 
(	's$   !C=C4C
C	C
C,c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nS
US'   SUS'   US   S:  US'   US   S:  US'   SUS'   SUS'   SUS'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        R                  UR                  UR                  SS S/4'   UR                  5       n[        U 5       n[!        US 5        ["        R$                  " [&        R(                  R*                  5         UR-                  S U5        S S S 5        UR/                  S 5      n["        R0                  " X15        S S S 5        g ! , (       d  f       N>= f! , (       d  f       g = f)!Nr   rd   r.   r/   rN   rH   rO   rP   r1   rR   obj1barobj2r   r   bool1bool2Tbool3r   int1int220010102ns
timestamp120010103
timestamp2	datetime1	datetime2      r   )r   r:   rV   rW   rX   r   r=   r>   r   r   as_unitnanlocr3   _consolidater   r   rY   assert_produces_warningr@   errorsPerformanceWarningr   getrZ   )r   r   r   expecteds       r    test_put_mixed_typer      s   	
		a 009d6l&1r<
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eT"''		(D(DEIIdB F 99T?
h+ 
(	' FE 
(	's$   ;G<G/G
G	G
G&r   r   r   r3   rH   r/   rI   rJ   c                 8   [        U 5       n[        [        R                  R	                  S5      R                  S5      [        S5      US9n[        US5        UR                  SXAS9  [        R                  " XCS   5        S S S 5        g ! , (       d  f       g = f)Nr   )rH   r   ABr1   r   r   )r   r   r:   rV   rW   rX   r=   r   r   rY   rZ   )r   r   r3   r   r   s        r    test_store_index_typesr      sy     
J	'5II!!!$44W=J

 	eT"		$	*
b+. 
(	'	's   A6B
Bc           	         [         R                  " / SQSS/S9n[        [        R                  " S5      R                  SS5      US9nUR                  UR                  R                  5       5      n[        U 5       nUR                  S	U5        [        R                  " US	   US
S
S9  UR                  SUSS9  [        R                  " US   US
S
S9  [        R                  " S5      n[        R                   " ["        US9   UR                  SUSS/S9  S S S 5        [        R                  " S5      n[        R                   " ["        US9   UR                  SUSS
S9  S S S 5        S S S 5        [        U 5       nUR%                  SU5        UR%                  SU5        [        R                  " US   ['        X"45      5        S S S 5        [        [        R                  " S5      R                  SS5      [)        [+        S5      SS9S9nUR                  UR                  R                  5       5      n[        U 5       nUR                  SUSS9  [        R                  " US   US
S
S9  S S S 5        g ! , (       d  f       GNe= f! , (       d  f       GN-= f! , (       d  f       GN7= f! , (       d  f       N= f! , (       d  f       g = f)N))r   r   )r   r   )rO   r   )rO   r   firstsecondnames   r}   r-   )r2   r   T)check_index_typecheck_column_typedf1r   r   z<cannot use a multi-index on axis [1] with data_columns ['A']r#   r5   r   )r   data_columnsz;cannot use a multi-index on axis [1] with data_columns Truer8   r.   rR   )name)r   from_tuplesr   r:   r;   r<   set_axisr3   to_numpyr   r   rY   rZ   reescaper%   r&   r'   r7   r
   r   r=   )r   r3   r   r   r   r(   s         r    test_column_multiindexr      s1    ""8(@SE 
299R=((A.	>B{{288,,./H	J	'5		$
$KDD	
 			%G	,
%L(TT	
 iiVW]]:S1IIeRseID 2iiUV]]:S1IIeRdIC 2 
(& 
J	'5UBUB
eElFB8,<=	 
( 
299R=((A.d6lQV8W	XB{{288,,./H	J	'5		%G	,
%L(TT	
 
(	'# 21 21 
(	'& 
(	' 
(	'sV   <BJI57JJ!J<A	J+ ,J<5
J	?J
J	J
J(+
J9<
K
c           	         [        U 5       nSS jn[        US5        [        [        R                  " S5      SS/U" 5       S9nUR                  SU5        [        R                  " UR                  S5      U5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9nUR                  SU5        [        R                  " UR                  S5      U5        [        US5        [        [        R                  " S	5      U" / SQ5      S
9nUR                  SU5        [        [        R                  " S	5      U" / SQ5      S
9n[        R                  " UR                  S5      U5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9nSn[        R                  " [        US9   UR                  SU5        S S S 5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9n[        R                  " [        US9   UR                  SU5        S S S 5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9nUR                  SU5        [        R                  " UR                  S5      U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nc                 r    [        SS5      n[        R                  " U[        S5      [        S5      /U S9nU$ )Nz
2013-12-01z
2013-12-02r   r}   r   )r   r   from_productr?   )r   dtimis      r    
make_index)test_store_multiindex.<locals>.make_index.  s4    \<8C((#uQxq)B%PBI    r   )r   r   r   r   r1   )dateNNserr   rL   )r   level_1level_2)r   r   tzBduplicate names/columns in the multi-index when storing as a tabler#   )r   r   r   )r   ra   r   )N)r   r   r   r:   zerosr7   rY   rZ   selectr   r`   r%   r&   r'   )r   r   r   r   r   xpr(   s          r    test_store_multiindexr   )  sV    
J	'5	 	eT"rxx(3*JLQT2
ell40"5 	eT"HHW#J12

 	T2
ell40"5 	eU#RXXb\4H)IJUC BHHRL
3Q(RS
u||E2B7 	eT"HHW#J/0

 S]]:S1LLr" 2 	eT"HHW#J56

 ]]:S1LLr" 2 	eT"HHW#J/0

 	T2
ell40"5w 
(	'L 21 21a 
(	's>   F=K%	KAK%2KA5K%
K	K%
K"	K%%
K3c           	         [        [        R                  R                  S5      R	                  S5      [
        R                  " SSSS9S9nX-  nUR                  USS	US
9  [
        R                  " US5      n[        R                  " X55        g )Nr   )   r   20220101Mr   )rQ   rK   rL   r   w)r6   moder   )r   r:   rV   rW   rX   r@   period_rangerC   read_hdfrY   rZ   )r   r   r   r   rE   r   s         r    test_store_periodindexr   j  sw     

		a 008oojsA>
B
  DIId3vI6{{4&H"'r   )-r   numpyr:   r%   pandas._libs.tslibsr   pandasr@   r   r   r   r   r   r	   rY   r
   r   pandas.tests.io.pytables.commonr   r   pandas.utilr   tdmark
single_cpu
pytestmarkr!   r)   rF   r\   rb   ri   skip_if_windowsrl   r   parametrizer?   strr;   floatr   r   r   r   r   )rD   s   0r    <module>r      sZ   	   ) 	 	 	 /[[##
<8/4d"3J.4?" . .",< GW#56uRy)y!s1vy)*bii%()biim<,
b1	/	 7/+
\>6B GW#56( 7(M *s   5E