
    A>i2                        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  \R(                  R*                  /rS rS rS rS rS	 rS
 rS r\R<                  S 5       rS r S r!S r"S r#\R(                  RI                  SSS/5      \R(                  RI                  S\
" \%" S5       V s/ s H  n \&" U 5      PM     sn 5      \
" \RN                  " S\(S95      \
" \RN                  " S5      5      \" SSS9\RR                  " SSS9/5      S 5       5       r*S r+S r,S r-S r.\R(                  RI                  SSS/5      S 5       r/gs  sn f )    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingconcat
date_range)_test_decoratorsc                     [        SSS/0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g )	NA      afixedformatbtable)r   put
get_storerformat_type)temp_hdfstoredfs     `/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_put.pytest_format_typer      s|    	C!Q=	!Bc2g.c2g.##C(44???##C(44???    c                     Sn[         R                  " [        US9   [        U 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   )temp_h5_pathmsgs     r    test_format_kwarg_in_constructorr'   !   s-     :C	z	-g. 
.	-	-s   0
>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[        R                  " S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 R!                  S
5        U R                  S
U5        U R                  S
5      R                  (       d   eU R                  SU5        U R                  S
5      R                  (       d   e S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)N皙?x         ABCDr,   i-columnsindexio.hdf.default_formatr   r   Can only append to Tablesr    df2r   )r   nparangereshaper   listrangepdoption_contextr   r   is_tabler"   r#   r$   appendremove)r   ir   r&   s       r   test_api_default_formatrA   *   s[   	biin$$W--d6l#uRy1y!r!Xy12
B 
		2G	<$# ++D1::::)]]:S1  + 2 
= 
		2G	<T"$#''-6666UB'''-6666 
=	< 2 21 
=	< 
=	<s8   FAF%F$F%A:F6
F"	F%%
F36
Gc                 D   [        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                  " SS	5         UR                  U S
S9  [        U 5       nUR                  S
5      R                  (       a   e S S S 5        Sn[        R                  " [        U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       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Na= f! , (       d  f       g = f)Nr)   r*   r+   r.   r,   r/   r0   r3   r   r   )keyr4   r    r5   T)rC   r>   r   df3df4)r   r6   r7   r8   r   r9   r:   r;   r<   to_hdfr   r   r=   r"   r#   r$   )r%   r@   r   storer&   s        r   test_api_default_format_pathrH   C   s   	biin$$W--d6l#uRy1y!r!Xy12
B 
		2G	<
		,D	)l#u''-66666 $)]]:S1IIldI; 2 
= 
		2G	<
		,E	*l#u##E*3333 $
		,E$	7l#u##E*3333 $ 
=	< 2
 $# 21 
=	< $# $# 
=	<s~   F6G#F;#G$G6GH9#G/$H#H %H;
G
	G
G	G
G,/
G=	9H 
H	
H
Hc           
         U n[        [        R                  " S[        R                  S9[	        SSS9S9n[        [        R                  R                  S5      R                  S5      [        [        S5      5      [	        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        [        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        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nc= f)N
   dtype
2020-01-01periodsr2   r   )   r-   r.   
2000-01-01rQ   BrO   freqr0   r   r   zfoo/bar/bahfooz/foocr   r   r4   r    T)r>   fF)r   r>   )r   r6   r7   float64r   r   randomdefault_rngstandard_normalr   r9   r   r"   r#   r$   tmassert_frame_equal)r   rG   tsr   r&   s        r   test_putr`   [   s   E	
		"BJJ'z,PR/S
B 

		a 009d6l#r<
B
 #JCRE#Jcr7E-cr7E%LsGE&M	IIc2cr77I+ &C	z	-		#r"#wt	, 
.
 
z	-		#r"#wt	, 
. 
z	-		#r"#wt	, 
. 
IIc2cr775I9"Sb'5:. 
.	-
 
.	- 
.	-s$   FF(F9
F%(
F69
Gc                 `   U 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        g s  snf s  snf )	NrQ   zI am a very long string index: rP   )r   rS   r   r   $abcdefghijklmnopqrstuvwxyz1234567890   )	r   r:   r   r6   r7   r   r]   assert_series_equalr^   )r   rG   r@   r2   sr   s         r   test_put_string_indexrf      s   E%)L)Q4QC8)LMEryy}E*A	#	$B#J5:q)#J%*b) 	/0:?)
D)Q,QC0)
D	EE 	ryy}E*A	#	$B#J5:q)#J%*b)+ M Es   D&&D+
c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        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        g ! , (       d  f       g = f)Nr   rJ   r-   r.   rR   rJ   rS   rT   r0   rW   r   zlibr   complib0Compression not supported on Fixed format storesr    r   r   )r   r6   rZ   r[   r\   r   r9   r   r   r]   r^   r"   r#   r$   r   r   r&   s      r   test_put_compressionrn      s    	
		a 009d6l#r<
B c2gv>-,b1 =C	z	-#r'6B 
.	-	-s   B66
Cc           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9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        g ! , (       d  f       N;= f)Nr   rh   r.   rR   rJ   rS   rT   r0   rl   r    r   r   bloscrj   rW   r   )r   r6   rZ   r[   r\   r   r9   r   r"   r#   r$   r   r]   r^   rm   s      r   test_put_compression_bloscrq      s    	
		a 009d6l#r<
B =C	z	-#r'7C 
. c2gw?-,b1	 
.	-s   .B66
Cc                     [        S[        S5      R                  S5      /-  5      nU R                  SU5        UR	                  5       nU R                  S5      n[        R                  " XT5        g )N   20010102nsser)r   r   as_unitr   copygetr]   rd   )r   performance_warningusing_infer_stringrv   expectedresults         r   test_put_datetime_serr~      s]    
i
+33D9::
;CeS!xxzHu%F6,r   c           
      P   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        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(       a  S OUn[        R                  " U5         U R!                  SU5        S S S 5        U R#                  S5      n[        R$                  " XS5        g ! , (       d  f       N6= f) Nr   rh   r.   rR   rJ   rS   rT   r0   rV   obj1barobj2r   r   bool1bool2Tbool3r   int1int2rt   ru   
timestamp120010103
timestamp2	datetime1	datetime2rs      r   )r   r6   rZ   r[   r\   r   r9   r   r   rw   nanlocr2   _consolidater]   assert_produces_warningr   ry   r^   )r   rz   r{   r   warningr|   s         r   test_put_mixed_typer      s}   	
		a 009d6l#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(d.AG		#	#G	,$# 
-   &H('	 
-	,s   F
F%c                 b   [         R                  " U6 n[        S[         R                  " S[         R                  S/US905      nU R                  SU5        UR                  [        R                  L a  SOSnUR                  U5      nU R                  S5      n[        R                  " Xv5        g )Nr   xyrK   r   strstring)r;   StringDtyper   arrayNAr   na_valuer6   r   astypery   r]   r^   )r   rz   string_dtype_argumentsrL   r   expected_dtyper|   r}   s           r   test_put_str_framer      s    NN23E	C3s"35AB	CBdB#nn6UHNyy(Ht$F&+r   c                 6   [         R                  " U6 n[        S[         R                  S/US9nU R	                  SU5        UR
                  [        R                  L a  SOSnUR                  U5      nU R                  S5      n[        R                  " Xv5        g )Nr   r   rK   rv   r   r   )r;   r   r   r   r   r   r6   r   r   ry   r]   rd   )r   rz   r   rL   rv   r   r|   r}   s           r   test_put_str_seriesr      sz    NN23E
#ruuc"%
0CeS!#nn6UHNzz.)Hu%F6,r   r   r   r   r2   rJ   rK   rM   rN   c                     [        [        R                  R                  S5      R	                  S5      [        S5      US9nU R                  SX1S9  [        R                  " X0S   5        g )Nr   )rJ   r   ABr0   r   r   )	r   r6   rZ   r[   r\   r9   r   r]   r^   )r   r   r2   r   s       r   test_store_index_typesr      s]     

		a 009T

B
 dB."D12r   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 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        g ! , (       d  f       NY= f! , (       d  f       g = f)N)r   r   )r   r   )rS   r   )rS   r   firstsecondnames   rs   r-   r1   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 TruerD   )r   from_tuplesr   r6   r7   r8   set_axisr2   to_numpyr   r]   r^   reescaper"   r#   r$   )r   r{   r2   r   r|   r&   s         r   test_column_multiindexr     sH    ""8(@SE 
299R=((A.	>B{{288,,./HdBdXPT eR0ehQU ))R
SC	z	-%G3%H 
.
))Q
RC	z	-%G$G 
.	- 
.	- 
.	-s   7EE/
E,/
E=c                 "   [         R                  " / SQSS/S9n[        [        R                  " S5      R                  SS5      US9nU R                  S	U5        U R                  S	U5        [        R                  " U S	   [        X345      5        g )
Nr   r   r   r   r   rs   r-   r   r5   )
r   r   r   r6   r7   r8   r>   r]   r^   r
   )r   r{   r2   r   s       r   test_column_multiindex_existingr   )  s}     ""8(@SE 
299R=((A.	>B##-.x0@Ar   c                 *   [        [        R                  " S5      R                  SS5      [	        [        S5      SS9S9nUR                  UR                  R                  5       5      nU R                  SUS	S
9  [        R                  " U S   USSS9  g )Nr   rs   r-   r.   rV   )namer   r   r   r   Tr   )r   r6   r7   r8   r   r9   r   r2   r   r   r]   r^   )r   r{   r   r|   s       r   %test_column_multiindex_non_index_axesr   6  s|    	299R=((A.d6lQV8W	XB{{288,,./HeR0ehQUr   c                    SS jn[        [        R                  " S5      SS/U" 5       S9nU R                  SU5        [        R
                  " U R                  S5      U5        U R                  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        [        [        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 R                  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 R                  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 R                  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        g ! , (       d  f       N= f! , (       d  f       N= 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   rs   r   )r   r   from_productr:   )r   dtimis      r   
make_index)test_store_multiindex.<locals>.make_indexD  s4    |4$$c58U1X%>eL	r   )r   r   r   r   r0   r   )dateNNr   rP   rv   )r   level_1level_2)r   r   tzBduplicate names/columns in the multi-index when storing as a tabler    )r   r   r   )r   re   r   )N)r   r6   zerosr>   r]   r^   selectr?   r   rd   r"   r#   r$   )r   r   r   rv   xpr&   s         r   test_store_multiindexr   @  sF    
288G$sCj
	MBr"-..t4b9 	
c
-.
B
 r"-..t4b9 "Z0D%E
FC$	J/M$N	OB=//6; 	
c
+,
B
 OC	z	-T2& 
. 	
c
12
B
 
z	-T2& 
. 	
c
+,
B
 r"-..t4b9+ 
.	- 
.	-s   /J+J<+
J9<
K
c           	         [        [        R                  R                  S5      R	                  S5      [
        R                  " SSSS9S9nUR                  U SS	US
9  [
        R                  " U S5      n[        R                  " X#5        g )Nr   )   r   20220101Mr   )rU   rO   rP   r   w)rC   moder   )r   r6   rZ   r[   r\   r;   period_rangerF   read_hdfr]   r^   )r%   r   r   r|   s       r   test_store_periodindexr   ~  so     

		a 008oojsA>
B
 IIl3vI>{{<.H"'r   )0r   numpyr6   r"   pandas._libs.tslibsr   pandasr;   r   r   r   r   r   r	   r]   r
   r   pandas.utilr   tdmark
single_cpu
pytestmarkr   r'   rA   rH   r`   rf   rn   skip_if_windowsrq   r~   r   r   r   parametrizer:   r   r7   floatr   r   r   r   r   r   r   )r@   s   0r   <module>r      sx   	   ) 	 	 	 /kk$$%
@/7240!/H*4C  2 2-(8	,	- GW#56uRy)y!s1vy)*bii%()biim<,
b1		3	 7	3H8
B;:| GW#56
( 7
(K *s   :E