
    [6g/0                        d dl Z d dlZd dlZd dlmZ d dlZd dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZ d dlmZ ej        j        Zd Zd Zd Zd	 Zd
 Zd Zej         d             Z!d Z"ej        #                    dddg          ej        #                    d e
d  e$d          D                        e
 ej%        de&                     e
 ej%        d                     edd           ej'        dd          g          d                         Z(d Z)d Z*ej        #                    dddg          d             Z+dS )    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingconcat
date_range)_maybe_removeensure_clean_store)_test_decoratorsc                 d   t          dddgi          }t          | |z            5 }|                    d|d           |                    d|d           |                    d          j        dk    sJ |                    d          j        dk    sJ 	 d d d            d S # 1 swxY w Y   d S )	NA      afixedformatbtable)r   r   put
get_storerformat_type)tmp_path
setup_pathdfstores       `/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/io/pytables/test_put.pytest_format_typer!      s   	C!Q=	!	!B	(Z'	(	( <E		#r'	***		#r'	***$$0G;;;;$$0G;;;;;< < < < < < < < < < < < < < < < < <s   A1B%%B),B)c                     d}t          j        t          |          5  t          | |z  d           d d d            d S # 1 swxY w Y   d S )Nz-format is not a defined argument for HDFStorematchr   r   )pytestraises
ValueErrorr   )r   r   msgs      r     test_format_kwarg_in_constructorr)   &   s     :C	z	-	-	- 8 8J&w77778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8s   A  AAc                    t          |          5 }t          dt          j        d                              d          z  t          t          d          t                    t          d t          d          D             t                              }t          j
        d	d
          5  t          |d           |                    d|           |                    d          j        rJ d}t          j        t"          |          5  |                    d|           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j
        d	d          5  t          |d           |                    d|           |                    d          j        sJ t          |d           |                    d|           |                    d          j        sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   | |z  }t          dt          j        d                              d          z  t          t          d          t                    t          d t          d          D             t                              }t          j
        d	d
          5  |                    |d           t)          |          5 }|                    d          j        rJ 	 d d d            n# 1 swxY w Y   t          j        t"          |          5  |                    |dd           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j
        d	d          5  |                    |d           t)          |          5 }|                    d          j        sJ 	 d d d            n# 1 swxY w Y   |                    |dd           t)          |          5 }|                    d          j        sJ 	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Ng?x   )      ABCDdtypec                     g | ]}d | S zi- .0is     r    
<listcomp>z+test_api_default_format.<locals>.<listcomp>5   s    555aa555    r,   columnsindexzio.hdf.default_formatr   r   Can only append to Tablesr#   df2r   c                     g | ]}d | S r2   r3   r4   s     r    r7   z+test_api_default_format.<locals>.<listcomp>N   s    111!X!XX111r8   )keyT)r?   appenddf3df4)r   r   nparangereshaper   listobjectrangepdoption_contextr   r   r   is_tabler%   r&   r'   r@   to_hdfr   )r   r   r   r   r(   paths         r    test_api_default_formatrN   /   s   	J	'	' 35")C..((111$v,,f55555599555VDDD
 
 
 6@@ 	( 	(%&&&IIdB''--6666-Cz555 ( (UB'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 6@@ 	3 	3%&&&IIdB##D))2222%'''LL#####D))22222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3!3 3 3 3 3 3 3 3 3 3 3 3 3 3 32 j D	binn$$W---d6ll&11111uRyy111@@@
 
 
B 
	2G	<	< 4 4
		$D	!!!d^^ 	7u''--66666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7]:S111 	4 	4IIddI333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4	4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
	2G	<	< 4 4
		$E	"""d^^ 	4u##E**33333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4
		$E$	///d^^ 	4u##E**33333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s4  BH,A ED/#E/D33E6D37E:HE
	
HE
	H&BG8,H8G<	<H?G<	 HHH:'M-!L?M-L	M-L	M-1M
M-M	M-M	M--M14M1'Q4OQO"	"Q%O"	&*QP:.Q:P>	>QP>	QQQc           
         t          |           5 }t          t          j        dt          j                  t          dd                    }t          t          j                            d          	                    d          t          t          d          t                    t          d	d
d                    }||d<   |d d         |d<   |d d         |d<   |d d         |d<   |d d         |d<   |                    d|d d         d           d}t          j        t           |          5  |                    d|dd          d           d d d            n# 1 swxY w Y   t#          |d           t          j        t           |          5  |                    d|dd          d           d d d            n# 1 swxY w Y   t          j        t           |          5  |                    d|dd          d           d d d            n# 1 swxY w Y   |                    d|d d         dd           t%          j        |d d         |d                    d d d            d S # 1 swxY w Y   d S )N
   r/   
2020-01-01periodsr;   r   )   r-   r.   
2000-01-01rU   BrS   freqr9   r   r   zfoo/bar/bahfooz/foocr   r   r<   r#   T)r@   fF)r   r@   )r   r   rC   rD   float64r   r   randomdefault_rngstandard_normalr   rF   rG   r   r%   r&   r'   r   tmassert_frame_equal)r   r   tsr   r(   s        r    test_putrd   a   su   	J	'	' !35Ib
+++:lTV3W3W3W
 
 
 I!!!$$44W==$v,,f555\2C@@@
 
 

 c
Wc
!#2#wm#2#we3B3f		#r#2#ww	/// *]:S111 	1 	1IIc2bcc74I000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1
 	eS!!!]:S111 	1 	1IIc2bcc74I000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 ]:S111 	1 	1IIc2bcc74I000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 			#r#2#wwu	===
b"guSz222C!3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3 !3s   D(I78!E%I7%E)	)I7,E)	-.I7!G<I7G	I7G	I7.!HI7H	I7"H	#AI77I;>I;c                    t          |           5 }t          d t          d          D                       }t          t	          j        d          |          }t          ||d          }||d<   t          j        |d         |           ||d<   t          j	        |d         |           t          dgd t          d          D             z             }t          t	          j        d	          |          }t          ||d          }||d<   t          j        |d         |           ||d<   t          j	        |d         |           d d d            d S # 1 swxY w Y   d S )
Nc                     g | ]}d | S zI am a very long string index: r3   r4   s     r    r7   z)test_put_string_index.<locals>.<listcomp>   s!    PPP<<<PPPr8   rU   rT   )r   rW   r   r   $abcdefghijklmnopqrstuvwxyz1234567890c                     g | ]}d | S rg   r3   r4   s     r    r7   z)test_put_string_index.<locals>.<listcomp>   s!    HHH444HHHr8      )
r   r   rH   r   rC   rD   r   ra   assert_series_equalrb   )r   r   r;   sr   s        r    test_put_string_indexrm      s   	J	'	' .5PPeBiiPPPQQ29R==...QQ''((c

uSz1---c

eCj"--- 34HHeBiiHHHI
 
 29R==...QQ''((c

uSz1---c

eCj"----. . . . . . . . . . . . . . . . . .s   D;EEEc           
      @   t          |           5 }t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }|
                    d
|dd           t          j        |d
         |           d}t          j        t          |          5  |
                    d|dd           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rP   r-   r.   r/   rV   rP   rW   rX   r9   r[   r   zlibr   complib0Compression not supported on Fixed format storesr#   r   r   )r   r   rC   r^   r_   r`   r   rF   rG   r   r   ra   rb   r%   r&   r'   )r   r   r   r(   s       r    test_put_compressionrt      s   	J	'	' ?5I!!!$$44W==$v,,f555\2C@@@
 
 
 			#r'6	:::
eCj"--- A]:S111 	? 	?IIc2gvI>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s6   CDC;/D;C?	?DC?	DDDc           	      @   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          |           5 }d
}t          j        t          |          5  |                    d|dd           d d d            n# 1 swxY w Y   |                    d|dd           t          j        |d         |           d d d            d S # 1 swxY w Y   d S )Nr   ro   r.   r/   rV   rP   rW   rX   r9   rs   r#   r   r   bloscrq   r[   r   )r   rC   r^   r_   r`   r   rF   rG   r   r   r%   r&   r'   r   ra   rb   )r   r   r   r(   s       r    test_put_compression_bloscrw      s   	
	a  0099d6ll&111r<<<
 
 
B 
J	'	' .5@]:S111 	@ 	@IIc2gwI???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 			#r'7	;;;
eCj"---. . . . . . . . . . . . . . . . . .s6   D!C;DC	DC	7DDDc           	      X   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }d
|d<   d|d<   |d         dk    |d<   |d         dk    |d<   d|d<   d|d<   d|d<   t          d          
                    d          |d<   t          d          
                    d          |d<   t          d          
                    d          |d<   t          d          
                    d          |d<   t          j        |j        |j        dd         dgf<   |                                }t          |           5 }t!          |d            t#          j        t&          j        j                  5  |                    d |           d d d            n# 1 swxY w Y   |                    d           }t#          j        ||           d d d            d S # 1 swxY w Y   d S )!Nr   ro   r.   r/   rV   rP   rW   rX   r9   rZ   obj1barobj2r   r   bool1bool2Tbool3r   int1int220010102ns
timestamp120010103
timestamp2	datetime1	datetime2      r   )r   rC   r^   r_   r`   r   rF   rG   r   r   as_unitnanlocr;   _consolidater   r   ra   assert_produces_warningrI   errorsPerformanceWarningr   getrb   )r   r   r   expecteds       r    test_put_mixed_typer      s~   	
	a  0099d6ll&111r<<<
 
 
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,,44T::B| ,,44T::B|
++33D99B{O
++33D99B{O&(fBF28AaC=6("#			B	J	'	' ,5eT"""'	(DEE 	  	 IIdB	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  99T??
h+++, , , , , , , , , , , , , , , , , ,s6   4H:GHG!	!H$G!	%-HH#&H#r   r   r   r;   c                 ,    g | ]}t          |          S r3   )strr4   s     r    r7   r7      s    )))!s1vv)))r8   rP   r/   rQ   rR   c                 z   t          |           5 }t          t          j                            d                              d          t          d          |          }t          |d           |                    d||           t          j
        ||d                    d d d            d S # 1 swxY w Y   d S )Nr   )rP   r   ABr9   r   r   )r   r   rC   r^   r_   r`   rF   r   r   ra   rb   )r   r   r;   r   r   s        r    test_store_index_typesr      s     
J	'	' /5I!!!$$44W==JJ
 
 

 	eT"""		$6	***
b%+.../ / / / / / / / / / / / / / / / / /s   BB00B47B4c                 X   t          j        g dddg          }t          t          j        d                              dd          |          }|                    |j                                                  }t          |           5 }|
                    d	|           t          j        |d	         |d
d
           |
                    d|d           t          j        |d         |d
d
           t          j        d          }t          j        t"          |          5  |
                    d|ddg           d d d            n# 1 swxY w Y   t          j        d          }t          j        t"          |          5  |
                    d|dd
           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          |           5 }|                    d|           |                    d|           t          j        |d         t'          ||f                     d d d            n# 1 swxY w Y   t          t          j        d                              dd          t)          t+          d          d                    }|                    |j                                                  }t          |           5 }|
                    d|d           t          j        |d         |d
d
           d d d            d S # 1 swxY w Y   d S )N))r   r   )r   r   )rW   r   )rW   r   firstsecondnames   r   r-   )r:   r   T)check_index_typecheck_column_typedf1r   r   z<cannot use a multi-index on axis [1] with data_columns ['A']r#   r=   r   )r   data_columnsz;cannot use a multi-index on axis [1] with data_columns TruerA   r.   rZ   )name)r   from_tuplesr   rC   rD   rE   set_axisr;   to_numpyr   r   ra   rb   reescaper%   r&   r'   r@   r
   r   rF   )r   r;   r   r   r   r(   s         r    test_column_multiindexr      sj    "888(@S  E 
29R==((A..	>	>	>B{{28,,..//H	J	'	' D5		$
$KDD	
 	
 	
 	
 			%G	,,,
%L(TT	
 	
 	
 	
 iVWW]:S111 	E 	EIIeRseIDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	EiUVV]:S111 	D 	DIIeRdICCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	DD D D D D D D D D D D D D D D& 
J	'	' >5UBUB
eElFB8,<,<===	> > > > > > > > > > > > > > > 
29R==((A..d6llQV8W8W8W	X	X	XB{{28,,..//H	J	'	' 
5		%G	,,,
%L(TT	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   BG'EGE	GE	2GF."G.F2	2G5F2	6GG	G	AII	I7LL#&L#c           	         t          |           5 }dd}t          |d           t          t          j        d          ddg |                      }|                    d|           t          j        |                    d          |           t          |d           t          t          j        d          ddg |g d                    }|                    d|           t          j        |                    d          |           t          |d           t          t          j        d	           |g d          
          }|                    d|           t          t          j        d	           |g d          
          }t          j
        |                    d          |           t          |d           t          t          j        d          ddg |g d                    }d}t          j        t          |          5  |                    d|           d d d            n# 1 swxY w Y   t          |d           t          t          j        d          ddg |g d                    }t          j        t          |          5  |                    d|           d d d            n# 1 swxY w Y   t          |d           t          t          j        d          ddg |g d                    }|                    d|           t          j        |                    d          |           d d d            d S # 1 swxY w Y   d S )Nc                     t          dd          }t          j        |t          d          t          d          g|           }|S )Nz
2013-12-01z
2013-12-02r   r   r   )r   r   from_productrH   )r   dtimis      r    
make_indexz)test_store_multiindex.<locals>.make_index.  s>    \<88C(#uQxxq)B%PPPBIr8   r   )r   r   r   r   r9   )dateNNserr   rT   )r   level_1level_2)r   r   tzBduplicate names/columns in the multi-index when storing as a tabler#   )r   r   r   )r   rl   r   )N)r   r   r   rC   zerosr@   ra   rb   selectr   rk   r%   r&   r'   )r   r   r   r   r   xpr(   s          r    test_store_multiindexr   )  s8    
J	'	' ;65	 	 	 	 	eT"""rx((3*JJLLQQQT2
ell400"555 	eT"""HW#J*11122
 
 

 	T2
ell400"555 	eU###RXb\\4H4H4H)I)IJJJUC   BHRLL

3Q3Q3Q(R(RSSS
u||E22B777 	eT"""HW#J*///00
 
 

 S]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	eT"""HW#J*55566
 
 

 ]:S111 	# 	#LLr"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	eT"""HW#J*///00
 
 

 	T2
ell400"555w;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6 ;6s\   HMH;/M;H?	?MH?	AM"K9MK			MK		BMM #M c                 B   t          t          j                            d                              d          t          j        ddd                    }| |z  }|                    |dd	|
           t          j        |d          }t          j
        ||           d S )Nr   )   r   20220101Mr   )rY   rS   rT   r   w)r?   moder   )r   rC   r^   r_   r`   rI   period_rangerL   read_hdfra   rb   )r   r   r   r   rM   r   s         r    test_store_periodindexr   j  s     

	a  0088ojsA>>>
 
 
B
 j DIId3vI666{4&&H"h'''''r8   ),r   numpyrC   r%   pandas._libs.tslibsr   pandasrI   r   r   r   r   r   r	   ra   r
   r   pandas.tests.io.pytables.commonr   r   pandas.utilr   tdmark
single_cpu
pytestmarkr!   r)   rN   rd   rm   rt   skip_if_windowsrw   r   parametrizerH   rD   floatr   r   r   r   r   r3   r8   r    <module>r      s   				      ) ) ) ) ) )    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	        / . . . . .[#
< < <8 8 8/4 /4 /4d"3 "3 "3J. . .4? ? ?" . . .", , ,< GW#566))uuRyy)))**ibi%((())ibimm
<,,,b111	 	/ /	 	 76/+
 +
 +
\>6 >6 >6B GW#566( ( 76( ( (r8   