
    m*i/              	       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         `/var/www/html/land-doc-ocr/venv/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                 &   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      5      [         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn5      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         ABCDrX   i-r   r0   wb)r   )r   r   r   N)	index_colr   )r6   r7   nparangereshapeIndexlistranger   r   openr   seekr8   read_csvioBytesIO)r#   irR   r!   files        r&   test_compression_binaryrl      s*    
biin$$W--f&hh%)4)Q"QC)45
B 
	d$T"dIId3CIDIIaL # 	DA;KL	
	 
 ::<DIId+;I<IIaL
BKK7GH! 5
 #" 
	s*   3E, F+#E13F1
E?	;F
Fc                  T   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      5      [         R
                  " [        S5       V s/ s H  n SU  3PM
     sn 5      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   rX   r[   r\   gzip   r   mtimer   皙?N)r6   r7   r_   r`   ra   rb   rc   rd   r   r   r   r   timesleep
read_bytes)rj   rR   compression_optionsr!   r?   s        r&   #test_gzip_reproducibility_file_namerw      s     
biin$$W--f&hh%)4)Q"QC)45
B
 &,a8 
	dDz
		$	8

3"
		$	8**** 
	 5
 
	s   3D%A%D
D'c                  6   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      5      [         R
                  " [        S5       V s/ s H  n SU  3PM
     sn 5      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   rX   r[   r\   rn   ro   rp   r]   )r   r   rr   N)r6   r7   r_   r`   ra   rb   rc   rd   rh   ri   r   getvaluers   rt   )rj   rR   rv   bufferr?   s        r&   %test_gzip_reproducibility_file_objectr{      s     
biin$$W--f&hh%)4)Q"QC)45
B
 &,a8 ZZ\FIIfDIA__FJJsOZZ\FIIfDIA__&&&& 5s   3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)Nrn   r   ro   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   ro   )r   presetr   )r   r   r   r    r!   r"   r6   rg   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.
bz2ro   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   rg   )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   rg   )r!   rk   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   )
re   writetarfileTarFileaddr   r   r   r6   rg   )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   )fileobjro   r   utf8zfoo,bar
1,2
zfoo,bar
1,2
)r   r   r6   r7   r   rn   re   r   r   
getmemberslenextractfilereaddecoder   )rk   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   )rh   ri   r*   _BytesTarFile)rz   s    r&   test_tar_no_error_on_closer   w  s;    	S9 : 
99 
s   A?A
A		A
A)4rn   rh   r    pathlibr   r   r   r   r   rs   r   numpyr_   r   pandas.compatr   pandasr6   pandas._testing_testingr   pandas.io.commoncommonr*   markparametrizer7   rI   r'   r/   rg   	read_jsonread_pickler@   rN   rS   rl   rw   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   