
    I j                        S 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J	s  J
r  SSKJr  SSKJr  SSKJr  SSKJr  \R*                  R-                  S5      r\R*                  R0                  \R*                  R2                  \R*                  R5                  SS	S
/5      \R*                  R5                  SSS/5      S 5       5       5       5       r\R*                  R0                  \R*                  R2                  S 5       5       r\R:                  S 5       r\R*                  R2                  \R*                  R0                  \R>                  " 5        " S S5      5       5       5       r g)zl
Tests parsers ability to read and parse non-local files
and hence require a network connection to be read.
    )BytesION)	DataFrame)read_featherread_csvz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningmodeexplicitinferenginepythoncc           	      X   US:X  a  [         R                  " S5        Xe   n[        U" SSSSU-   5      S5       nU R                  UR	                  5       S9  S S S 5        U R
                  S	-   U-   n	US
:w  a  Un[        U	SXTS9n
[        R                  " X5        g ! , (       d  f       NJ= f)Ntarz4TODO: Add tar salaries.csv to pandas/io/parsers/dataioparserdatazsalaries.csvrbcontentz/salaries.csvr	   	)sepcompressionr   )	pytestskipopenserve_contentreadurlr   tmassert_frame_equal)
httpserverdatapathsalaries_tabler   r   compression_onlycompression_to_extension	extensionfr   	url_tables              t/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/io/parser/test_network.pytest_compressed_urlsr*      s     5 JK(:I	htXv~	/IJD	QUV   2 
R ..?
*Y
6Cz$4DTI)4 
R	Qs   B
B)c                     [        U" SSSS5      S5       nU R                  UR                  5       S9  [        U R                  SSS	9nSSS5        WR
                  S
   S:X  d   eg! , (       d  f       N$= f)zB
read_csv should honor the requested encoding for URLs.

GH 10424
r   r   r   zunicode_series.csvr   r   zlatin-1N)encodingheader)      u$   Á köldum klaka (Cold Fever) (1994))r   r   r   r   r   loc)r!   r"   r'   dfs       r)   test_url_encoding_csvr2   9   sn     
htXv/CDd	Kq   2jnnyF 
L 66%=BBBB 
L	Ks   3A''
A5c                 *    [        U " SSSS5      5      $ )z DataFrame with the tips dataset.r   r   csvtips.csvr   )r"   s    r)   tips_dfr6   G   s     HT65*=>>    c                      \ rS rSr\R
                  R                  S/ SQ5      \R
                  R                  SSS/5      \R
                  R                  SSS	/5      S
 5       5       5       rS r\R
                  R                  SSS/5      S 5       r	\R
                  R                  S/ SQ5      \R
                  R                  SSS	/5      S 5       5       r
\R
                  R                  S/ SQ5      S 5       rS rS r\R
                  R                  S 5       r\R
                  R                  S 5       rS rS rSrg)TestS3M   zsuffix, compression)) N).gzgzip).bz2bz2nrowsN
   r   r   r   c                     [         R                  " S5        [        SUR                   SU 3UUUUS9n[        R
                  " XR                  S U 5        g )Ns3fss3://	/tips.csv)r@   r   storage_optionsr   )r   importorskipr   namer   r    iloc)	selfs3_bucket_public_with_datas3sor6   suffixr   r@   r   r1   s	            r)   test_parse_public_s3_bucket"TestS3.test_parse_public_s3_bucketQ   s[    , 	F#.334IfXF# 
 	b,,v"67r7   c                     [         R                  " S5        [        SUR                   S3US9n[        R
                  " XC5        g )NrC   rD   rE   rF   )r   rG   r   rH   r   r    )rJ   s3_bucket_private_with_datarL   r6   r1   s        r)   test_parse_private_s3_bucket#TestS3.test_parse_private_s3_bucketq   sA    F#/445Y?QU
 	b*r7   schemes3ns3ac                     Sn[        U SUR                   S3UUS9n[        R                  " XcR                  S U 5        g )NrA   z://rE   r@   rF   )r   rH   r   r    rI   )rJ   rK   rL   r6   rU   r@   r1   s          r)    test_parse_public_bucket_s3n_s3a'TestS3.test_parse_public_bucket_s3n_s3ay   sL     hc499:)D 

 	b,,v"67r7   c                 x   Sn[        SUR                   SU 3UUUUS9 nUR                  U:X  d   eS Hi  n	UR                  5       n
[	        U
[
        5      (       d   eU
R                  (       a   eUR                  Xy-  XyS-   -   n[        R                  " X5        Mk     S S S 5        g ! , (       d  f       g = f)N   rD   rE   )	chunksizer   rF   r   )r   r/      r/   )
r   rH   r^   	get_chunk
isinstancer   emptyrI   r   r    )rJ   rK   rL   r6   rM   r   r   r^   	df_readeri_chunkr1   true_dfs               r)   #test_parse_public_s3_bucket_chunked*TestS3.test_parse_public_s3_bucket_chunked   s     	.334IfXF# 
 &&)333$ ((*!"i000088#|!,,y':YTU+=VW%%g2 %
 
 
s   BB++
B9rM   )r;   r<   r>   c                 h    [        SUR                   SU 3SSUS9n[        R                  " XS5        g )NrD   rE   r   r
   )r   r   rF   r   rH   r   r    )rJ   rK   rL   r6   rM   r1   s         r)   test_infer_s3_compression TestS3.test_infer_s3_compression   s?     .334IfXF 	
 	b*r7   c                     Sn[         R                  " [        US9   [        SUS9  S S S 5        g ! , (       d  f       g = f)Nz#The specified bucket does not existmatchzs3://nyqpug/asdf.csvrQ   )r   raisesOSErrorr   )rJ   rK   rL   msgs       r)   test_read_s3_failsTestS3.test_read_s3_fails   s,    3]]7#.+TB /..s   0
>c                     UR                    S3nU n[        R                  " [        US9   [	        SU 3US9  S S S 5        g ! , (       d  f       g = f)Nz	/file.csvrm   rD   rQ   )rH   r   ro   FileNotFoundErrorr   )rJ   rR   rL   s3_urlrq   s        r)   test_read_s3_fails_private!TestS3.test_read_s3_fails_private   sN    /445Y? ]],C8x  $ 988s   A
Ac                 X   UR                  S5      n[        UR                  5       S   R                  5       5       n[	        USS9nS S S 5        [        W[        5      (       d   eUR                  (       a   e[	        U5      n[        R                  " XV5        g ! , (       d  f       NZ= f)Nr5   Bodyutf8)r,   )
Objectr   getr   r   ra   r   rb   r   r    )rJ   rK   	tips_file	s3_objectbufferresultexpecteds          r)   $test_read_csv_handles_boto_s3_object+TestS3.test_read_csv_handles_boto_s3_object   s     /55jA	Y]]_V,1134fv6F 5&),,,,<<I&
f/ 54s   B
B)c                 x   [        [        R                  " S5      [        S5      S9n[	        UR                  5       R                  S5      5       nUR                  SUS9  UR                   S3n[        R                  " SU S	35      nUR                  [        R                  S
S9   [        SU 3SUS9  UR                   HB  n[        R                   " Xx5      =n	(       d  M"  [#        U	R%                  S5      5      S:  a  MB   e   S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N)i    abcd)columnszutf-8zlarge-file.csv)Keyrz   z/large-file.csvz^Fetch: z, 0-(?P<stop>\d+)$rC   )loggerrD   r]   rY   stopi z )r   npzeroslistr   to_csvencode
put_objectrH   recompileat_levelloggingDEBUGr   messagesrn   intgroup)
rJ   s3_bucket_publicrL   caplogr1   bufurimatch_relogrn   s
             r)   test_read_csv_chunked_download%TestS3.test_read_csv_chunked_download   s    rxx,d6lCRYY[''01S'',<3'G%**+?;CzzXcU2D"EFHv>C5M$(
 "??C " 77u7"5;;v#67'AAA + ?	 21 ?>	 21s1   AD+(9D%DD	D+
D(	$D++
D9c                 `    [        SUR                   S3US9n[        R                  " X45        g )NrD   z/tips#1.csvrQ   ri   )rJ   rK   rL   r6   r   s        r)   test_read_s3_with_hash_in_key$TestS3.test_read_s3_with_hash_in_key   s3    .334K@RV
 	g.r7   c                     [         R                  " S5        [        U5      n[        SUR                   S3US9n[        R
                  " XE5        g )NpyarrowrD   z/simple_dataset.featherrQ   )r   rG   r   rH   r   r    )rJ   rK   rL   feather_filer   ress         r)   test_read_feather_s3_file_path%TestS3.test_read_feather_s3_file_path   sN     	I&-.3344KL 
 	h,r7    )__name__
__module____qualname____firstlineno__r   markparametrizerN   rS   rZ   rf   rj   rr   rw   
single_cpur   r   r   r   __static_attributes__r   r7   r)   r9   r9   M   sZ    [[	
 [[WtRj1[[XX78 8 28,+ [[Xu~6	8 7	8 [[	
 [[XX73 83, [[X':;	+ <	+C
	 [[0 0 [[B B$/
-r7   r9   )!__doc__r   r   r   r   numpyr   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   pandas._testing_testingr   pandas.io.feather_formatr   pandas.io.parsersr   r   filterwarnings
pytestmarknetworkr   r   r*   r2   fixturer6   skip_if_not_us_localer9   r   r7   r)   <module>r      sB  
   	   ) )   1 &[[''C

 *g!67Hc?35 4 8  56 	C  	C ? ?
 d- d-   d-r7   