
    j*                     ~   S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SK
JrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  \R:                  R=                  S5      r\R@                  S	 5       r!\R@                  S
 5       r"\R@                  S 5       r#S r$S r%S r&S r'\R:                  RQ                  SSS/5      S 5       r)S r*S r+S r,S r-S r.S r/\R:                  R`                  \R:                  RQ                  S/ SQ5      S 5       5       r1\R:                  R`                  \R:                  RQ                  S/ SQ5      S 5       5       r2\R:                  Rg                  \" 5       S S!9\R:                  R`                  S" 5       5       r4\Rj                  " S#5      S$ 5       r6S% r7S& r8S' r9S( r:S) r;S* r<g)+    N)using_string_dtype)HAS_PYARROW)pa_version_under14p0)
	DataFrame
date_rangeread_csv
read_excelread_feather	read_jsonread_parquetread_pickle
read_stata
read_table)_test_decorators)Versionz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc               #   
  #    [         R                  " S5        SSKJn   SSKJn  SSKJn   " S SU5      nU " SUS	S
9  U" 5       v   UR                  SS 5        S UR                  S'   UR                  R                  5         g 7f)Nfsspecr   )register_implementation)MemoryFileSystem)	_registryc                   6   ^  \ rS rSrSrS/rSU 4S jjrSrU =r$ ) fsspectest.<locals>.TestMemoryFS'   testmemNc                 d   > UR                  SS 5      U R                  S'   [        TU ]  " S0 UD6  g )Ntestr    )popr   super__init__)selfkwargs	__class__s     S/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pandas/tests/io/test_fsspec.pyr    )fsspectest.<locals>.TestMemoryFS.__init__+   s+    !::fd3DIIaLG&v&    r   )returnN)	__name__
__module____qualname____firstlineno__protocolr   r    __static_attributes____classcell__)r#   s   @r$   TestMemoryFSr   '   s    v	' 	'r&   r/   r   T)clobber)pytestimportorskipr   r   fsspec.implementations.memoryr   fsspec.registryr   r   r   storeclear)r   r   registryr/   s       r$   
fsspectestr8       so     
!.>5'' ' I|TB
.LLD!Las   BBc            
      Z    [        SS/S[        R                  /SS/[        SSS9S	.5      $ )
N      g       @tsz
2018-06-18   )periods)intfloatstrdt)r   npnanr   r   r&   r$   df1rF   6   s7    q6266]:\15		
 r&   c               #      #    [         R                  " S5      n U R                  S5      nUv   UR                  R	                  5         g 7f)Nr   memory)r1   r2   
filesystemr5   r6   )r   memfss     r$   
cleared_fsrK   B   s:       *Fh'E
K	KKs   AA	c                 Z   [        UR                  SS95      R                  5       nU R                  SS5       nUR	                  U5        S S S 5        [        SS/S9nUR                  5       nUS   R                  S5      US'   [        R                  " XE5        g ! , (       d  f       NW= f)	NFindexztest/test.csvwbmemory://test/test.csvrC   )parse_datesM8[us])
rB   to_csvencodeopenwriter   copyastypetmassert_frame_equal)rK   rF   textwdf2expecteds         r$   test_read_csvr_   K   s    szzz&'..0D	$	/1	 
0
+$
@CxxzHd^**84HTN#( 
0	/s   B
B*c                 8   SSK Jn  [        R                  " [        SS9   [        S5        S S S 5        SnU R                  USSUS	.5        [        R                  " [        US9   [        S
5        S S S 5        g ! , (       d  f       NT= f! , (       d  f       g = f)Nr   )known_implementationsnosuchprotocolmatchznosuchprotocol://test/test.csvztest error message
couldexistzunimportable.CouldExist)classerrzcouldexist://test/test.csv)r4   ra   r1   raises
ValueErrorr   setitemImportError)monkeypatchrK   ra   err_msgs       r$   test_reasonable_errorrn   V   sv    5	z)9	:12 
;"G+G<
 
{'	2-. 
3	2 
;	: 
3	2s   A:%B:
B
Bc                     UR                  SSS9  [        SS/SS9nUR                  5       nUS   R                  S5      US'   [        R
                  " X#5        g )NrP   TrM   rC   r   rQ   	index_colrR   )rS   r   rW   rX   rY   rZ   )rK   rF   r]   r^   s       r$   test_to_csvrr   e   sU    JJ'tJ4
+$1
MCxxzHd^**84HTN#(r&   c                     [         R                  " S5        SnSU 3nUR                  USS9  [        US/SS9nUR	                  5       nUS   R                  S	5      US'   [        R                  " XE5        g )
Nopenpyxlxlsxzmemory://test/test.TrM   rC   r   rp   rR   )r1   r2   to_excelr	   rW   rX   rY   rZ   )rK   rF   extpathr]   r^   s         r$   test_to_excelry   o   sr    

#
C &DLLTL"
Tv
;CxxzHd^**84HTN#(r&   binary_modeFTc                 2   [         R                  " S5      nSnU(       a  SOSnUR                  XES9R                  5        nUR                  USS9  UR                  (       a   e S S S 5        UR                  SS5      nUR                  XES9 n[        US	/S
S9nUR                  (       a   e S S S 5        UR                  5       nUS	   R                  S5      US	'   [        R                  " WU5        g ! , (       d  f       N= f! , (       d  f       N^= f)Nr   rP   rO   r\   )modeTrM   rrC   r   rp   rR   )r1   r2   rU   rS   closedreplacer   rW   rX   rY   rZ   )	rK   rz   rF   r   rx   r|   fsspec_objectr]   r^   s	            r$   test_to_csv_fsspec_objectr   |   s      *F#D4CD	T	%	*	*	,

=
- ''''' 
- <<S!D	T	%

 !''''' 
& xxzHd^**84HTN#x( 
-	,
 
&	%s   $C7 D7
D
Dc                     [        SS/05      nUR                  SSS0SS9  U R                  S   S:X  d   e[        SSS0S	9  U R                  S   S:X  d   eg 
Nar   testmem://test/test.csvr   	csv_writeFstorage_optionsrN   csv_readr   )r   rS   r   r   r8   dfs     r$   test_csv_optionsr      sp    	C!:	BII!FK3HPU   ??1,,,&8LM??1+++r&   c                     [        SS/05      nUR                  SSS0SS9  U R                  S   S:X  d   e[        SSS0S	9  U R                  S   S:X  d   eg r   )r   rS   r   r   r   s     r$   test_read_table_optionsr      sp    	C!:	BII!FK3HPU   ??1,,,(6::NO??1+++r&   c                     [         R                  " S5        Sn[        SS/05      nSU 3nUR                  USS0SS	9  U R                  S   S:X  d   e[        USS
0S9  U R                  S   S
:X  d   eg )Nrt   ru   r   r   ztestmem://test/test.r   rV   Fr   readr   )r1   r2   r   rv   r   r	   )r8   	extensionr   rx   s       r$   test_excel_optionsr      s    

#I	C!:	B!)-DKKvw&7uKE??1(((tff%56??1'''r&   c                 L   [         R                  " S5      nUR                  [         R                  R	                  [        5       =(       a@    [        =(       a3    [        (       + =(       a!    [        UR                  5      [        S5      :*  SS95        UR                  SSSSS9  g)	CRegression test for writing to a not-yet-existent GCS Parquet file.fastparquetz	2025.12.0TODO(infer_string) fastparquetreasonrP   TN)rN   enginecompression)r1   r2   applymarkermarkxfailr   r   r   r   __version__
to_parquet)rK   rF   requestfps       r$   test_to_parquet_new_filer      s    			]	+B  @@((@ '7;+??3 	 	
 NN ]PT  r&   c                     [         R                  " S5        [        SS/05      nUR                  SSSSS0S9  U R                  S   S:X  d   e[        SSSS	0S
9  U R                  S   S	:X  d   eg)r   pyarrowr   r   r   Nr   parquet_writer   r   r   parquet_readr   r   r1   r2   r   r   r   r   r   s     r$   test_arrowparquet_optionsr      s    
	"	C!:	BMM!1	   ??1000!0
 ??1///r&   c                     [         R                  " S5        [        SS/05      nUR                  SSSSS0S9  U R                  S   S:X  d   e[        SSSS	0S
9  U R                  S   S	:X  d   eg)r   r   r   r   r   Nr   r   r   r   r   r   r   s     r$   test_fastparquet_optionsr      s    
&	C!:	BMM!1	   ??1000!0
 ??1///r&   compression_suffix) z.gzz.bz2c                     [         R                  " S5        [        SU R                   SU 3US9n[        U5      n[        R
                  " XE5        g )Ns3fss3://	/tips.csvr   r1   r2   r   namerY   assert_equal)s3_bucket_public_with_datas3so	tips_filer   
df_from_s3df_from_locals         r$   test_from_s3_csvr      sQ     
*//0	:L9MNJ Y'MOOJ.r&   r,   )s3s3as3nc                     [         R                  " S5        [        U SU R                   S3US9n[        U5      n[        R
                  " XE5        g )Nr   z://r   r   r   )r   r   r   r,   r   r   s         r$   test_s3_protocolsr      sO     *C2778	BJ Y'MOOJ.r&   r   r   c                     [         R                  " S5        [         R                  " S5        SU R                   S3nUR                  USSS US9  [	        USUS9n[
        R                  " X$5        g )Nr   r   r   z/test.parquetF)rN   r   r   r   r   )r1   r2   r   r   r   rY   r   )s3_bucket_publicr   rF   fnr]   s        r$   test_s3_parquetr   	  so     &
!&&'}	5BNN
%4QU   r-
FCOOCr&   r   c                      Sn [         R                  " [        U S9   [        S5        S S S 5        g ! , (       d  f       g = f)NzH`Import fsspec` failed.  Use pip or conda to install the fsspec package.rc   rP   )r1   rh   rk   r   )msgs    r$   test_not_present_exceptionr     s*    
TC	{#	.)* 
/	.	.s   1
?c                    [         R                  " S5        [        SS/05      nUR                  SSS0S9  U R                  S   S:X  d   e[        SSS0S9nU R                  S   S:X  d   e[        R                  " X5        g )	Nr   r   r   testmem://mockfiler   feather_writer   feather_read)r1   r2   r   
to_featherr   r
   rY   rZ   r8   r   outs      r$   test_feather_optionsr     s    
	"	C!:	BMM&8QMR??1000
+fn=U
VC??1///""r&   c                     [        SS/05      nUR                  SSS0S9  U R                  S   S:X  d   e[        SSS0S9nU R                  S   S:X  d   e[        R
                  " X5        g )Nr   r   r   r   pickle_writer   pickle_read)r   	to_pickler   r   rY   rZ   r   s      r$   test_pickle_optionsr   (  sv    	C!:	BLL%7OLP??1///
*V]<S
TC??1...""r&   c                     [        SS/05      nUR                  SUSS0S9  U R                  S   S:X  d   e[        SUSS0S9nU R                  S   S:X  d   e[        R
                  " X#5        g )Nr   r   r   r   
json_write)r   r   	json_read)r   to_jsonr   r   rY   rZ   )r8   r   r   r   s       r$   test_json_optionsr   1  s    	C!:	BJJ.  
 ??1---
-C
 ??1,,,""r&   c                     [        SS/05      nUR                  SSS0SS9  U R                  S   S:X  d   e[        SSS0S	9nU R                  S   S:X  d   e[        R
                  " XR                  S
5      5        g )Nr   r   r   r   stata_writeF)r   write_index
stata_readr   int64)r   to_statar   r   rY   rZ   rX   r   s      r$   test_stata_optionsr   B  s    	C!:	BKKv}.ESX   ??1...
)FL;Q
RC??1---"jj12r&   c                     [         R                  " S5        [        SS/05      nUR                  SSS0S9  U R                  S   S:X  d   eU R                  S5      (       d   eg )Ntabulater   r   r   r   md_writer   )r1   r2   r   to_markdownr   catr   s     r$   test_markdown_optionsr   M  sc    

#	C!:	BNN'&*9MNN??1+++>>.////r&   c                  z   [         R                  " S5        [         R                  " [        SS9   [	        SSS0S9  S S S 5        [         R                  " [        SS9   [        SSS0S9  S S S 5        [        R                  " 5       n [         R                  " [        SS9   [	        U SS0S9  S S S 5        [        SS/05      n[         R                  " [        SS9   UR                  S	SS0S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ns= f! , (       d  f       g = f)
Nr   r   rc   	localfiler   Tr   r   nonfsspecpath)
r1   r2   rh   ri   r   r   ioBytesIOr   r   )byr   s     r$   test_non_fsspec_optionsr   U  s    
	"	z):	;sDk: 
<	z):	;[3+> 
< 
B	z):	;c4[1 
< 
C!:	B	z):	;
oT{C 
<	; 
<	;	;	;
 
<	; 
<	;s/   C9D
!DD,9
D

D
D),
D:)=r   numpyrD   r1   pandas._configr   pandas.compatr   pandas.compat.pyarrowr   pandasr   r   r   r	   r
   r   r   r   r   r   pandas._testing_testingrY   pandas.utilr   tdpandas.util.versionr   r   filterwarnings
pytestmarkfixturer8   rF   rK   r_   rn   rr   ry   parametrizer   r   r   r   r   r   r   
single_cpur   r   r   r   skip_if_installedr   r   r   r   r   r   r   r   r&   r$   <module>r      s   	   - % 6    . '[[''C

  *    )/)
) 6) 7).,,(&0&0( -/BC/ D / %9:/ ; / %'0PQ	  R	 h+  +###"30Dr&   