Ë
    ômxi3)  ã                   óZ  — d dl Z d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZ d dlmZ d dlmZ ej.                  j1                  d«      Zej4                  d„ «       Zej4                  d„ «       Zej4                  d„ «       Zd	„ Zd
„ Zd„ Z d„ Z!ej.                  jE                  dddg«      d„ «       Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(ejR                  d„ «       Z*ej.                  jV                  d„ «       Z,ej.                  jV                  ej.                  jE                  dg d¢«      d„ «       «       Z-ej.                  j]                   e«       d¬«      ej.                  jV                  ejR                  d„ «       «       «       Z/ ej`                  d«      d„ «       Z1d „ Z2d!„ Z3d"„ Z4d#„ Z5d$„ Z6d%„ Z7y)&é    N)Úusing_string_dtype)
Ú	DataFrameÚ
date_rangeÚread_csvÚ
read_excelÚread_featherÚ	read_jsonÚread_parquetÚread_pickleÚ
read_stataÚ
read_table)Ú_test_decoratorsz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc               #   ó  K  — t        j                  d«       ddlm}  ddlm} ddlm}  G d„ d|«      } | d|d	¬
«        |«       –— |j                  dd «       d |j                  d<   |j                  j                  «        y ­w)NÚfsspecr   )Úregister_implementation)ÚMemoryFileSystem)Ú	_registryc                   ó*   ‡ — e Zd ZdZdgZdˆ fd„Zˆ xZS )ú fsspectest.<locals>.TestMemoryFSÚtestmemNc                 ób   •— |j                  dd «      | j                  d<   t        ‰| �  di |¤Ž y )NÚtestr   © )Úpopr   ÚsuperÚ__init__)ÚselfÚkwargsÚ	__class__s     €úR/home/htdocs/ttos/venv/lib/python3.12/site-packages/pandas/tests/io/test_fsspec.pyr   z)fsspectest.<locals>.TestMemoryFS.__init__'   s+   ø€ Ø!Ÿ:™: f¨dÓ3ˆD�I‰I�a‰LÜ‰GÑÑ&˜vÓ&ó    )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Úprotocolr   r   Ú__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    Ú
fsspectestr1      sp   è ø€ ä
×Ñ˜Ô!Ý.Ý>Ý5ô'Ð'ô 'ñ ˜I |¸TÕBÙ
‹.ÒØ‡L�L�˜DÔ!Ø€L×Ñ�aÑØ×Ñ×ÑÕùs   ‚BBc            	      ó`   — t        ddgdt        j                  gddgt        dd¬«      d	œ«      S )
Né   é   g       @ÚtÚsz
2018-06-18é   )Úperiods)ÚintÚfloatÚstrÚdt)r   ÚnpÚnanr   r   r!   r    Údf1r?   2   s7   € äà�q�6Øœ2Ÿ6™6�]Ø˜�:Ü˜\°1Ô5ñ		
óð r!   c               #   ó”   K  — t        j                  d«      } | j                  d«      }|–— |j                  j	                  «        y ­w)Nr   Úmemory)r*   r+   Ú
filesystemr.   r/   )r   Úmemfss     r    Ú
cleared_fsrD   >   s;   è ø€ ä× Ñ  Ó*€Fà×Ñ˜hÓ'€EØ
‚KØ	‡K�K×ÑÕùs   ‚AAc                 ó  — t        |j                  d¬«      «      j                  «       }| j                  dd«      5 }|j	                  |«       d d d «       t        ddg¬«      }t        j                  ||«       y # 1 sw Y   Œ.xY w)NF©Úindexztest/test.csvÚwbúmemory://test/test.csvr<   )Úparse_dates)r;   Úto_csvÚencodeÚopenÚwriter   ÚtmÚassert_frame_equal)rD   r?   ÚtextÚwÚdf2s        r    Útest_read_csvrT   G   so   € Üˆs�z‰z ˆzÓ&Ó'×.Ñ.Ó0€DØ	�‰˜¨$Ó	/ð °1Ø	�‰�Œ÷ä
Ð+¸$¸Ô
@€Cä×Ñ˜#˜sÕ#÷	ð ús   ¼A;Á;Bc                 ó,  — ddl m} t        j                  t        d¬«      5  t        d«       d d d «       d}| j                  |dd|d	œ«       t        j                  t        |¬«      5  t        d
«       d d d «       y # 1 sw Y   ŒQxY w# 1 sw Y   y xY w)Nr   )Úknown_implementationsÚnosuchprotocol©Úmatchznosuchprotocol://test/test.csvztest error messageÚ
couldexistzunimportable.CouldExist)ÚclassÚerrzcouldexist://test/test.csv)r-   rV   r*   ÚraisesÚ
ValueErrorr   ÚsetitemÚImportError)ÚmonkeypatchrD   rV   Úerr_msgs       r    Útest_reasonable_errorrc   P   s†   € Ý5ä	�‰”zÐ)9Ô	:ñ 3ÜÐ1Ô2÷3à"€GØ×ÑØØØ+°GÑ<ôô
 
�‰”{¨'Ô	2ñ /ÜÐ-Ô.÷/ð /÷3ð 3ú÷/ð /ús   ¢A>Á)B
Á>BÂ
Bc                 ót   — |j                  dd¬«       t        ddgd¬«      }t        j                  ||«       y )NrI   TrF   r<   r   ©rJ   Ú	index_col)rK   r   rO   rP   )rD   r?   rS   s      r    Útest_to_csvrg   _   s4   € Ø‡J�JÐ'¨t€JÔ4ä
Ð+¸$¸È1Ô
M€Cä×Ñ˜#˜sÕ#r!   c                 ó¬   — t        j                  d«       d}d|› �}|j                  |d¬«       t        |dgd¬«      }t	        j
                  ||«       y )	NÚopenpyxlÚxlsxzmemory://test/test.TrF   r<   r   re   )r*   r+   Úto_excelr   rO   rP   )rD   r?   ÚextÚpathrS   s        r    Útest_to_excelrn   g   sQ   € Ü
×Ñ˜
Ô#Ø
€CØ   Ð&€DØ‡L�L�˜T€LÔ"ä
�T¨ v¸Ô
;€Cä×Ñ˜#˜sÕ#r!   Úbinary_modeFTc                 óÊ  — t        j                  d«      }d}|rdnd}|j                  ||¬«      j                  «       5 }|j                  |d¬«       |j                  rJ ‚	 d d d «       |j                  dd«      }|j                  ||¬«      5 }t        |d	gd
¬«      }|j                  rJ ‚	 d d d «       t        j                  |«       y # 1 sw Y   ŒlxY w# 1 sw Y   Œ,xY w)Nr   rI   rH   rR   )ÚmodeTrF   Úrr<   r   re   )	r*   r+   rM   rK   ÚclosedÚreplacer   rO   rP   )rD   ro   r?   r   rm   rq   Úfsspec_objectrS   s           r    Útest_to_csv_fsspec_objectrv   r   sæ   € ä× Ñ  Ó*€Fà#€DÙ‰4 C€DØ	�‰�T ˆÓ	%×	*Ñ	*Ó	,ð (°Ø�
‰
�=¨ˆ
Ô-Ø ×'Ò'Ð'Ð'Ð'÷(ð �<‰<˜˜SÓ!€DØ	�‰�T ˆÓ	%ð (¨ÜØØ˜Øô
ˆð
 !×'Ò'Ð'Ð'Ð'÷(ô ×Ñ˜#˜sÕ#÷(ð (ú÷
(ð (ús   ¿"CÂCÃCÃC"c                 óº   — t        ddgi«      }|j                  dddid¬«       | j                  d   dk(  sJ ‚t        dddi¬	«       | j                  d   dk(  sJ ‚y ©
NÚar   útestmem://test/test.csvr   Ú	csv_writeF©Ústorage_optionsrG   Úcsv_read©r}   )r   rK   r   r   ©r1   Údfs     r    Útest_csv_optionsr‚   ˆ   sp   € Ü	�C˜!˜�:Ó	€BØ‡I�IØ!°F¸KÐ3HÐPUð ô ð �?‰?˜1Ñ Ò,Ð,Ð,ÜÐ&¸ÀÐ8LÕMØ�?‰?˜1Ñ Ò+Ð+Ñ+r!   c                 óº   — t        ddgi«      }|j                  dddid¬«       | j                  d   dk(  sJ ‚t        dddi¬	«       | j                  d   dk(  sJ ‚y rx   )r   rK   r   r   r€   s     r    Útest_read_table_optionsr„   ’   sp   € ä	�C˜!˜�:Ó	€BØ‡I�IØ!°F¸KÐ3HÐPUð ô ð �?‰?˜1Ñ Ò,Ð,Ð,ÜÐ(¸6À:Ð:NÕOØ�?‰?˜1Ñ Ò+Ð+Ñ+r!   c                 óò   — t        j                  d«       d}t        ddgi«      }d|› �}|j                  |ddid¬	«       | j                  d   dk(  sJ ‚t        |dd
i¬«       | j                  d   d
k(  sJ ‚y )Nri   rj   ry   r   ztestmem://test/test.r   rN   Fr|   Úreadr   )r*   r+   r   rk   r   r   )r1   Ú	extensionr�   rm   s       r    Útest_excel_optionsrˆ   �   s…   € Ü
×Ñ˜
Ô#Ø€Iä	�C˜!˜�:Ó	€Bà! ) Ð-€Dà‡K�K� v¨wÐ&7¸u€KÔEØ�?‰?˜1Ñ Ò(Ð(Ð(Üˆt f¨fÐ%5Õ6Ø�?‰?˜1Ñ Ò'Ð'Ñ'r!   c                 óX   — t        j                  d«       |j                  dddd¬«       y)úCRegression test for writing to a not-yet-existent GCS Parquet file.ÚfastparquetrI   TN)rG   ÚengineÚcompression)r*   r+   Ú
to_parquet)rD   r?   s     r    Útest_to_parquet_new_filer�   «   s+   € ä
×Ñ˜Ô&à‡N�NØ ¨°]ÐPTð õ r!   c                 óè   — t        j                  d«       t        ddgi«      }|j                  dddddi¬«       | j                  d   dk(  sJ ‚t        dddd	i¬
«       | j                  d   d	k(  sJ ‚y)rŠ   Úpyarrowry   r   rz   Nr   Úparquet_write©rŒ   r�   r}   Úparquet_read©rŒ   r}   ©r*   r+   r   rŽ   r   r
   r€   s     r    Útest_arrowparquet_optionsr—   ´   sŠ   € ä
×Ñ˜	Ô"Ü	�C˜!˜�:Ó	€BØ‡M�MØ!ØØØ Ð1ð	 ô ð �?‰?˜1Ñ Ò0Ð0Ð0ÜØ!ØØ Ð0õð
 �?‰?˜1Ñ Ò/Ð/Ñ/r!   c                 óè   — t        j                  d«       t        ddgi«      }|j                  dddddi¬«       | j                  d   dk(  sJ ‚t        dddd	i¬
«       | j                  d   d	k(  sJ ‚y)rŠ   r‹   ry   r   rz   Nr   r’   r“   r”   r•   r–   r€   s     r    Útest_fastparquet_optionsr™   Ç   sŒ   € ô ×Ñ˜Ô&ä	�C˜!˜�:Ó	€BØ‡M�MØ!ØØØ Ð1ð	 ô ð �?‰?˜1Ñ Ò0Ð0Ð0ÜØ!ØØ Ð0õð
 �?‰?˜1Ñ Ò/Ð/Ñ/r!   c                 ó~  — t        j                  d«       t        j                  t	        d| j
                  › d�|¬«      t	        |«      «       t        j                  t	        d| j
                  › d�|¬«      t	        |«      «       t        j                  t	        d| j
                  › d�|¬«      t	        |«      «       y )NÚs3fsús3://ú	/tips.csvr   z/tips.csv.gzz/tips.csv.bz2©r*   r+   rO   Úassert_equalr   Úname)Ús3_public_bucket_with_dataÚ	tips_fileÚs3sos      r    Útest_from_s3_csvr¤   Ü   s³   € ä
×Ñ˜ÔÜ‡O�OÜØÐ.×3Ñ3Ð4°IÐ>ÐPTô	
ô 	�Óô	ô ‡O�OÜØÐ.×3Ñ3Ð4°LÐAÐSWô	
ô 	�Óô	ô ‡O�OÜØÐ.×3Ñ3Ð4°MÐBÐTXô	
ô 	�Óõ	r!   r&   )Ús3Ús3aÚs3nc                 ó¢   — t        j                  d«       t        j                  t	        |› d| j
                  › d�|¬«      t	        |«      «       y )Nr›   z://r�   r   rž   )r¡   r¢   r&   r£   s       r    Útest_s3_protocolsr©   ô   sK   € ô ×Ñ˜ÔÜ‡O�OÜØˆj˜Ð6×;Ñ;Ð<¸IÐFØ ô	
ô 	�Óõr!   zTODO(infer_string) fastparquet)Úreasonc                 óì   — t        j                  d«       t        j                  d«       d| j                  › d�}|j                  |ddd |¬«       t	        |d|¬«      }t        j                  ||«       y )Nr‹   r›   rœ   z/test.parquetF)rG   rŒ   r�   r}   r•   )r*   r+   r    rŽ   r
   rO   rŸ   )Ús3_public_bucketr£   r?   ÚfnrS   s        r    Útest_s3_parquetr®     sq   € ô ×Ñ˜Ô&Ü
×Ñ˜ÔàÐ!×&Ñ&Ð' }Ð	5€BØ‡N�NØ
�% ¸4ÐQUð ô ô �r -ÀÔ
F€CÜ‡O�O�C˜Õr!   r   c                  ó~   — d} t        j                  t        | ¬«      5  t        d«       d d d «       y # 1 sw Y   y xY w)Nz?Missing optional dependency 'fsspec'|fsspec library is requiredrX   rI   )r*   r]   r`   r   )Úmsgs    r    Útest_not_present_exceptionr±     s3   € à
K€CÜ	�‰”{¨#Ô	.ñ +ÜÐ)Ô*÷+÷ +ñ +ús   ž3³<c                 ó  — t        j                  d«       t        ddgi«      }|j                  dddi¬«       | j                  d   dk(  sJ ‚t        dddi¬«      }| j                  d   dk(  sJ ‚t        j                  ||«       y )	Nr‘   ry   r   útestmem://mockfiler   Úfeather_writer   Úfeather_read)r*   r+   r   Ú
to_featherr   r   rO   rP   ©r1   r�   Úouts      r    Útest_feather_optionsr¹     s†   € Ü
×Ñ˜	Ô"Ü	�C˜!˜�:Ó	€BØ‡M�MÐ&¸ÀÐ8Q€MÔRØ�?‰?˜1Ñ Ò0Ð0Ð0Ü
Ð+¸fÀnÐ=UÔ
V€CØ�?‰?˜1Ñ Ò/Ð/Ð/Ü×Ñ˜"˜cÕ"r!   c                 óä   — t        ddgi«      }|j                  dddi¬«       | j                  d   dk(  sJ ‚t        dddi¬«      }| j                  d   dk(  sJ ‚t	        j
                  ||«       y )Nry   r   r³   r   Úpickle_writer   Úpickle_read)r   Ú	to_pickler   r   rO   rP   r·   s      r    Útest_pickle_optionsr¾   !  sx   € Ü	�C˜!˜�:Ó	€BØ‡L�LÐ%¸ÀÐ7O€LÔPØ�?‰?˜1Ñ Ò/Ð/Ð/Ü
Ð*¸VÀ]Ð<SÔ
T€CØ�?‰?˜1Ñ Ò.Ð.Ð.Ü×Ñ˜"˜cÕ"r!   c                 óè   — t        ddgi«      }|j                  d|ddi¬«       | j                  d   dk(  sJ ‚t        d|ddi¬«      }| j                  d   dk(  sJ ‚t	        j
                  ||«       y )Nry   r   r³   r   Ú
json_write)r�   r}   Ú	json_read)r   Úto_jsonr   r	   rO   rP   )r1   r�   r�   r¸   s       r    Útest_json_optionsrÃ   *  s‹   € Ü	�C˜!˜�:Ó	€BØ‡J�JØØØ Ð.ð ô ð
 �?‰?˜1Ñ Ò-Ð-Ð-Ü
ØØØ Ð-ô€Cð
 �?‰?˜1Ñ Ò,Ð,Ð,Ü×Ñ˜"˜cÕ"r!   c                 ó  — t        ddgi«      }|j                  dddid¬«       | j                  d   dk(  sJ ‚t        dddi¬	«      }| j                  d   dk(  sJ ‚t	        j
                  ||j                  d
«      «       y )Nry   r   r³   r   Ústata_writeF)r}   Úwrite_indexÚ
stata_readr   Úint64)r   Úto_statar   r   rO   rP   Úastyper·   s      r    Útest_stata_optionsrË   ;  s‹   € Ü	�C˜!˜�:Ó	€BØ‡K�KØ¨v°}Ð.EÐSXð ô ð �?‰?˜1Ñ Ò.Ð.Ð.Ü
Ð)¸FÀLÐ;QÔ
R€CØ�?‰?˜1Ñ Ò-Ð-Ð-Ü×Ñ˜"˜cŸj™j¨Ó1Õ2r!   c                 óÂ   — t        j                  d«       t        ddgi«      }|j                  dddi¬«       | j                  d   dk(  sJ ‚| j                  d«      sJ ‚y )NÚtabulatery   r   r³   r   Úmd_writer   )r*   r+   r   Úto_markdownr   Úcatr€   s     r    Útest_markdown_optionsrÑ   F  s`   € Ü
×Ñ˜
Ô#Ü	�C˜!˜�:Ó	€BØ‡N�NÐ'¸&À*Ð9M€NÔNØ�?‰?˜1Ñ Ò+Ð+Ð+Ø�>‰>Ð.Ô/Ð/Ñ/r!   c                  óv  — t        j                  d«       t        j                  t        d¬«      5  t	        dddi¬«       d d d «       t        j                  t        d¬«      5  t        dddi¬«       d d d «       t        j                  «       } t        j                  t        d¬«      5  t	        | ddi¬«       d d d «       t        ddgi«      }t        j                  t        d¬«      5  |j                  d	ddi¬«       d d d «       y # 1 sw Y   ŒËxY w# 1 sw Y   Œ¤xY w# 1 sw Y   ŒixY w# 1 sw Y   y xY w)
Nr‘   r}   rX   Ú	localfilery   Tr   r   Únonfsspecpath)
r*   r+   r]   r^   r   r
   ÚioÚBytesIOr   rŽ   )Úbyr�   s     r    Útest_non_fsspec_optionsrØ   N  s  € Ü
×Ñ˜	Ô"Ü	�‰”zÐ):Ô	;ñ ;Ü�¨s°D¨kÕ:÷;ä	�‰”zÐ):Ô	;ñ ?ä�[°3¸°+Õ>÷?ô 
�‰‹€Bä	�‰”zÐ):Ô	;ñ 2Ü� c¨4 [Õ1÷2ô 
�C˜!˜�:Ó	€BÜ	�‰”zÐ):Ô	;ñ DØ
�‰�o¸¸T°{ˆÔC÷Dð D÷;ð ;ú÷?ð ?ú÷
2ð 2ú÷Dð Dús/   ±DÁ$DÂ+D#Ã,D/ÄDÄD Ä#D,Ä/D8)8rÕ   Únumpyr=   r*   Úpandas._configr   Úpandasr   r   r   r   r   r	   r
   r   r   r   Úpandas._testingÚ_testingrO   Úpandas.utilr   ÚtdÚmarkÚfilterwarningsÚ
pytestmarkÚfixturer1   r?   rD   rT   rc   rg   rn   Úparametrizerv   r‚   r„   rˆ   r�   r—   Ú&skip_array_manager_not_yet_implementedr™   Ú
single_cpur¤   r©   Úxfailr®   Úskip_if_installedr±   r¹   r¾   rÃ   rË   rÑ   rØ   r   r!   r    ú<module>ré      sÛ  ðÛ 	ã Û å -÷÷ ÷ õ Ý .à�[‰[×'Ñ'ØCó€
ð
 ‡�ñó ðð* ‡�ñó ðð ‡�ñó ðò$ò/ò$ò$ð ‡�×Ñ˜¨°¨Ó6ñ$ó 7ð$ò*,ò,ò(òò0ð& ×*Ñ*ñ0ó +ð0ð( ‡�×Ññó ðð. ‡�×ÑØ‡�×Ñ˜Ò%9Ó:ñó ;ó ðð ‡�×ÑÑ%Ó'Ð0PÐÓQØ‡�×ÑØ×*Ñ*ñ	ó +ó ó Rð	ð €×Ñ�hÓñ+ó  ð+ò#ò#ò#ò"3ò0óDr!   