
    Mh70              	       x   S SK r S SKrS SKrS SKJ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rS SKrS SKJr  S SKrS SKJr  S SKJs  Jr  \R0                  R3                  S\R4                  " S/ SQ/ SQ/-  / SQS	9\R6                  " S/ SQ-  S
S9/5      \R0                  R3                  S/ SQ5      S 5       5       r\R0                  R3                  S\R4                  " S/ SQ/ SQ/-  / SQS	9\R6                  " S/ SQ-  S
S9/5      \R0                  R3                  SSS/5      S 5       5       r\R0                  R3                  SSSS0\R<                  4S0 \R>                  4S0 \R@                  4/5      S 5       r!\R0                  R3                  SSSSS.\R<                  SS04S0 \R>                  SS04S0 \R@                  0 4/5      S 5       r"S r#S r$S  r%S! r&\R0                  RN                  S" 5       r(\R0                  RN                  S# 5       r)\R0                  R3                  S\R4                  " S/ SQ/ SQ/-  / SQS	9\R6                  " S/ SQ-  S
S9/5      \R0                  R3                  S/ SQ5      S$ 5       5       r*\R0                  R3                  S\R4                  " S/ SQ/ SQ/-  / SQS	9\R6                  " S/ SQ-  S
S9/5      \R0                  R3                  S/ SQ5      S% 5       5       r+\R0                  R3                  S\R4                  " S/ SQ/ SQ/-  / SQS	9\R6                  " S/ SQ-  S
S9/5      \R0                  R3                  S/ SQ5      S& 5       5       r,\R0                  R3                  S'S(\
RZ                  4S)\R\                  4/5      S* 5       r/S+ r0S, r1S- r2S. r3g)/    N)Path)is_platform_windowsobjd   g~Ϛ?g9DܜJ?g>D)?g.4i(@g33333@g̤AXYZcolumnsr
   namemethod)	to_pickleto_jsonto_csvc                 B   US:X  a  SSS.n[         R                  " 5        n[        X5      " X2S9  [        R                  R                  U5      n[        X5      " US S9  [        R                  R                  U5      nXT:  d   e S S S 5        g ! , (       d  f       g = f)Ntarw:gzr   modecompressiontmensure_cleangetattrospathgetsize)r   r   compression_onlyr!   compressed_sizeuncompressed_sizes         R/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/test_compression.pytest_compression_sizer'      s|     5 &+V<		dT@''//$/Tt4GGOOD1 222 
		s   A%B
Br   r   c                    [         R                  " 5        n[        R                  " UUS:X  a  SOSUS9 n[	        X5      " UR
                  5        UR
                  R                  (       a   e S S S 5        [        R                  R                  U5      nS S S 5        [         R                  " 5        n[        R                  " USS S9 n[	        X5      " UR
                  5        UR
                  R                  (       a   e S S S 5        [        R                  R                  U5      nUW:  d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Na= f! , (       d  f       g = f)Nr   r   wr   )
r   r   icom
get_handler   handleclosedr    r!   r"   )r   r   r#   r!   handlesr$   r%   s          r&   test_compression_size_fhr/   .   s    
	d__&%/FS(
 C 0~~,,,,,
 ''//$/ 
 
	d__T3D9WC 0~~,,,,, : GGOOD1 ?222 
	
 
 
	 :9 
	sF   E9D=/'E3E0
9E/E0=
E	E
E
E-	)E00
E>z'write_method, write_kwargs, read_methodindexFr   c                 
   [         R                  " / SQ/ SQ// SQS9nXC   n[        R                  " SU-   5       n[	        XP5      " U40 UD6  U" XsS9nS S S 5        [        R
                  " WU5        g ! , (       d  f       N&= f)N)g      ?r   )g333333@      r	   r   
compressedr   )pd	DataFramer   r   r   assert_frame_equal)	write_methodwrite_kwargsread_methodr#   compression_to_extensioninput	extensionr!   outputs	            r&   ,test_dataframe_compression_defaults_to_inferr@   K   sp     LL,4oNE(:I		1	2d$T:\:T@ 
3 &%( 
3	2s   A44
Bz1write_method,write_kwargs,read_method,read_kwargsT)r0   headersqueezetypseriesc                 n   [         R                  " / SQSS9nXT   n[        R                  " SU-   5       n[	        X`5      " U40 UD6  SU;   a.  UR                  5       n	U	S	 U" U4SU0U	D6R                  S5      n
OU" U4SU0UD6n
S S S 5        [        R                  " W
USS	9  g ! , (       d  f       N%= f)
N)r   r3   
   r
   r   r5   rB   r   r   F)check_names)r6   Seriesr   r   r   copyrB   assert_series_equal)r9   r:   r;   read_kwargsr#   r<   r=   r>   r!   kwargsr?   s              r&   )test_series_compression_defaults_to_inferrN   _   s    " IIn3/E(:I		1	2d$T:\:# %%'Fy! N3CNvNVVF !S3CS{SF 
3 65e< 
3	2s   AB&&
B4c                    [         R                  " S/ SQ/ SQ/-  / SQS9n[        R                  " 5        n[        R
                  " USU S9 n[        R                  " [        5         UR                  UR                  U S9  S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nr   r   r   r	   r   r)   r   )
r6   r7   r   r   r*   r+   assert_produces_warningRuntimeWarningr   r,   )r#   dfr!   r.   s       r&   test_compression_warningrS      s     
-/MNN
B 
	d__T34DE++N;		'..6F	G < F 
	;; FE 
	s;   B>B-(BB-B>
B*&B--
B;	7B>>
Cc                 2   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      [        S9[         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9n[        R                  " 5        n[        US	S
9 nUR                  US	U S9  UR                  S5        SSS5        [        R                  " U[         R                  " USU S95        SSS5        [         R"                  " 5       nUR                  US	U S9  UR                  S5        [        R                  " U[         R                  " USU S95        gs  snf ! , (       d  f       N= f! , (       d  f       N= f)z3
Binary file handles support compression.

GH22555
皙?x         ABCDdtyperX   i-r   r0   wb)r   )r   r   r   N)	index_colr   )r6   r7   nparangereshapeIndexlistobjectranger   r   openr   seekr8   read_csvioBytesIO)r#   irR   r!   files        r&   test_compression_binaryro      s.    
biin$$W--fV4hh%)4)Q"QC)4FC
B 
	d$T"dIId3CIDIIaL # 	DA;KL	
	 
 ::<DIId+;I<IIaL
BKK7GH! 5
 #" 
	s*   6E2&F1#E73F7
F	F
Fc                  `   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      [        S9[         R
                  " [        S5       V s/ s H  n SU  3PM
     sn [        S9S9nS	S
S.n[        R                  " 5        n[        U5      nUR                  X2S9  [        R                  " S5        UR                  5       nUR                  X2S9  XCR                  5       :X  d   e SSS5        gs  sn f ! , (       d  f       g= f)z
Gzip should create reproducible archives with mtime.

Note: Archives created with different filenames will still be different!

GH 28103
rU   rV   rW   rZ   r[   rX   r]   r^   gzip   r   mtimer   皙?N)r6   r7   ra   rb   rc   rd   re   rf   rg   r   r   r   r   timesleep
read_bytes)rm   rR   compression_optionsr!   r?   s        r&   #test_gzip_reproducibility_file_namerz      s     
biin$$W--fV4hh%)4)Q"QC)4FC
B
 &,a8 
	dDz
		$	8

3"
		$	8**** 
	 5
 
	s   6D+A%D
D-c                  B   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      [        S9[         R
                  " [        S5       V s/ s H  n SU  3PM
     sn [        S9S9nS	S
S.n[        R                  " 5       nUR                  X2SS9  UR                  5       n[        R                  " S5        [        R                  " 5       nUR                  X2SS9  XCR                  5       :X  d   egs  sn f )z@
Gzip should create reproducible archives with mtime.

GH 28103
rU   rV   rW   rZ   r[   rX   r]   r^   rq   rr   rs   r_   )r   r   ru   N)r6   r7   ra   rb   rc   rd   re   rf   rg   rk   rl   r   getvaluerv   rw   )rm   rR   ry   bufferr?   s        r&   %test_gzip_reproducibility_file_objectr~      s     
biin$$W--fV4hh%)4)Q"QC)4FC
B
 &,a8 ZZ\FIIfDIA__FJJsOZZ\FIIfDIA__&&&& 5s   6Dc                      [         R                  " S5      n [        R                  " [        R
                  SU /[        R                  S9  g)z6Tests if import pandas works when lzma is not present.zT        import sys
        sys.modules['lzma'] = None
        import pandas
        -cstderrNtextwrapdedent
subprocesscheck_outputsys
executablePIPEcodes    r&   test_with_missing_lzmar      s8     ??	D S^^T48Q    c                      [         R                  " S5      n [        R                  " [        R
                  SU /[        R                  S9  g)zTTests if RuntimeError is hit when calling lzma without
having the module available.
z
        import sys
        import pytest
        sys.modules['lzma'] = None
        import pandas as pd
        df = pd.DataFrame()
        with pytest.raises(RuntimeError, match='lzma module'):
            df.to_csv('foo.csv', compression='xz')
        r   r   Nr   r   s    r&   test_with_missing_lzma_runtimer      s8    
 ??	
D S^^T48Qr   c                 4   [         R                  " 5        n[        X5      " USS9  [        R                  R                  U5      n[        X5      " USSS.S9  [        R                  R                  U5      nX4:  d   e S S S 5        g ! , (       d  f       g = f)Nrq   r   rr   r   compresslevelr   r   r   r!   compressed_size_defaultcompressed_size_fasts        r&   test_gzip_compression_levelr      sr     
	dTv6"$''//$"7T&ST/UV!wwt4&=== 
		s   A)B		
Bc                 h   [         R                  " 5        n[        X5      " USS9  [        R                  R                  U5      n[        X5      " USSS.S9  [        R                  R                  U5      nX4:  d   eUS:X  a  [        R                  " USS9  S S S 5        g ! , (       d  f       g = f)Nxzr   rr   )r   presetr   )r   r   r   r    r!   r"   r6   rj   r   s        r&   test_xz_compression_level_readr     s     
	dTt4"$''//$"7T$!/LM!wwt4&===XKK$/ 
		s   BB##
B1c                     [         R                  " 5        n[        X5      " USSS.S9  SSS5        g! , (       d  f       g= f)zGH33196 bzip needs file size > 100k to show a size difference between
compression levels, so here we just check if the call works when
compression is passed as a dict.
bz2rr   r   r   N)r   r   r   )r   r   r!   s      r&   test_bzip_compression_levelr   &  s1      
	dT%RS/TU 
		s	   3
Azsuffix,archive.zipz.tarc                 :   [         R                  " U S9 nU" US5          S S S 5        [        R                  " [        SS9   [
        R                  " U5        S S S 5        S S S 5        g ! , (       d  f       NO= f! , (       d  f       N(= f! , (       d  f       g = f)Nfilenamer)   zZero files foundmatch)r   r   pytestraises
ValueErrorr6   rj   )suffixarchiver!   s      r&   test_empty_archive_zipr   :  sd     
&	)TT3  ]]:-?@KK A 
*	)@@ 
*	)s9   
BA*!BA;B*
A8	4B;
B		B
Bc                     [         R                  " SS9 n [        R                  " U S5       nUR	                  SS5        UR	                  SS5        S S S 5        [
        R                  " [        SS9   [        R                  " U 5        S S S 5        S S S 5        g ! , (       d  f       NO= f! , (       d  f       N(= f! , (       d  f       g = f)	Nr   r   r)   a.csvzfoo,barb.csvz Multiple files found in ZIP filer   )
r   r   zipfileZipFilewritestrr   r   r   r6   rj   )r!   rn   s     r&   test_ambiguous_archive_zipr   I  s    	&	)T__T3'4MM'9-MM'9- ( ]]:-OPKK Q	 
*	)'' QP	 
*	)s:   B=%B!B=3B,
B=
B)	%B=,
B:	6B==
Cc                 6   U S-  n[        USSS9 nUR                  S5        S S S 5        U S-  n[        USSS9 nUR                  S5        S S S 5        U S-  n[        R                  " US5       nUR	                  US5        UR	                  US5        S S S 5        [
        R                  " [        SS	9   [        R                  " U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ni= f! , (       d  f       g = f)
Nr   r)   zutf-8)encodingzfoo,bar
r   zarchive.tarz#Multiple files found in TAR archiver   )
rh   writetarfileTarFileaddr   r   r   r6   rj   )tmp_pathcsvAPathacsvBPathbtarpathr   s          r&   test_ambiguous_archive_tarr   R  s    '!H	hg	.!	 
/'!H	hg	.!	 
/ &G	#	&#'"'" 
' 
z)N	O
G 
P	O 
/	. 
/	. 
'	& 
P	Os.   CC(1%C97D

C%(
C69
D

Dc                  P   [         R                  " SS9 n [        R                  " SS//SS/S9R	                  U SS	S
.SS9  [
        R                  " U 5       n[        R                  " US9 nUR                  5       n[        U5      S:X  d   eUR                  US   5      R                  5       R                  S5      n[        5       (       a  SnOSnXE:X  d   e S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N(= f! , (       d  f       g = f)Nz.foor   12foobarr   r   r   r   F)r   r0   )fileobjrr   r   utf8zfoo,bar
1,2
zfoo,bar
1,2
)r   r   r6   r7   r   rq   rh   r   r   
getmemberslenextractfilereaddecoder   )rn   uncompressedr   memberscontentexpecteds         r&   !test_tar_gz_to_different_filenamer   c  s    	&	)T
3ZLEN	
 &eV#DE&
RYYt_6'!,,.7|q(((!--gaj9>>@GGO&((3H/H*** 7  
*	) 76 _ 
*	)s=   ADD-A.C5D$D5
D?D
D	D
D%c                      [         R                  " 5        n [        R                  " U SS9    S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr)   )r   r   )rk   rl   r*   _BytesTarFile)r}   s    r&   test_tar_no_error_on_closer   w  s;    	S9 : 
99 
s   A?A
A		A
A)4rq   rk   r    pathlibr   r   r   r   r   rv   r   numpyra   r   pandas.compatr   pandasr6   pandas._testing_testingr   pandas.io.commoncommonr*   markparametrizer7   rI   r'   r/   rj   	read_jsonread_pickler@   rN   rS   ro   rz   r~   
single_cpur   r   r   r   r   r   r   r   r   r   r   r    r   r&   <module>r      s    	 	   
       -     	
13QRR#	
 			#66SA	 #EF	3 G		3 	
13QRR#	
 			#66SA	 Hi#893 :	3$ -	GU#R[[1	B%	b"..)	)	) 7	Ud3R[[9dBST	Buh&78	b".."-==0
H<+2'. 
R 
R R R$ 	
13QRR#	
 			#66SA	 #EF> G	> 	
13QRR#	
 			#66SA	 #EF0 G	0 	
13QRR#	
 			#66SA	 #EFV G	V 	!	!"+(r   