Ë
    êñió)  ã                   óÔ  — d dl Z d dlZd dlZd dlmZ d dlm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j6                  j9                  d«      Zej<                  d„ «       Zej<                  d	„ «       Z ej<                  d
„ «       Z!d„ Z"d„ Z#d„ Z$d„ Z%ej6                  jM                  dddg«      d„ «       Z'd„ Z(d„ Z)d„ Z*ej6                  jW                   e«       xr exr e	 d¬«      d„ «       Z,d„ Z-d„ Z.ej6                  j^                  ej6                  jM                  dg d¢«      d„ «       «       Z0ej6                  j^                  ej6                  jM                  dg d¢«      d „ «       «       Z1ej6                  jW                   e«       d¬«      ej6                  j^                  d!„ «       «       Z2 ejf                  d"«      d#„ «       Z4d$„ Z5d%„ Z6d&„ Z7d'„ Z8d(„ Z9d)„ Z:y)*é    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_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     €ú]/var/www/pod-logistic/pod-ai/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"   Ú
fsspectestr3      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"   Údf1rA   5   s7   € äà�q�6Øœ2Ÿ6™6�]Ø˜�:Ü˜\°1Ô5ñ		
óð r#   c               #   ó”   K  — t        j                  d«      } | j                  d«      }|–— |j                  j	                  «        y ­w)Nr   Úmemory)r,   r-   Ú
filesystemr0   r1   )r   Úmemfss     r"   Ú
cleared_fsrF   A   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¬«      }|j                  «       }|d   j                  d«      |d<   t        j                  ||«       y # 1 sw Y   ŒUxY w)	NF©Úindexztest/test.csvÚwbúmemory://test/test.csvr>   )Úparse_datesúM8[us])
r=   Úto_csvÚencodeÚopenÚwriter   ÚcopyÚastypeÚtmÚassert_frame_equal)rF   rA   ÚtextÚwÚdf2Úexpecteds         r"   Útest_read_csvrZ   J   s’   € Üˆs�z‰z ˆzÓ&Ó'×.Ñ.Ó0€DØ	�‰˜¨$Ó	/ð °1Ø	�‰�Œ÷ä
Ð+¸$¸Ô
@€Cà�x‰x‹z€HØ˜d‘^×*Ñ*¨8Ó4€HˆT�NÜ×Ñ˜#˜xÕ(÷ð ús   ¼B"Â"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/   r\   r,   ÚraisesÚ
ValueErrorr   ÚsetitemÚImportError)ÚmonkeypatchrF   r\   Úerr_msgs       r"   Útest_reasonable_errorri   U   s†   € Ý5ä	�‰”zÐ)9Ô	:ñ 3ÜÐ1Ô2÷3à"€GØ×ÑØØØ+°GÑ<ôô
 
�‰”{¨'Ô	2ñ /ÜÐ-Ô.÷/ð /÷3ð 3ú÷/ð /ús   ¢A>Á)B
Á>BÂ
Bc                 óÂ   — |j                  dd¬«       t        ddgd¬«      }|j                  «       }|d   j                  d«      |d<   t	        j
                  ||«       y )NrK   TrH   r>   r   ©rL   Ú	index_colrM   )rN   r   rR   rS   rT   rU   )rF   rA   rX   rY   s       r"   Útest_to_csvrm   d   sW   € Ø‡J�JÐ'¨t€JÔ4ä
Ð+¸$¸È1Ô
M€Cà�x‰x‹z€HØ˜d‘^×*Ñ*¨8Ó4€HˆT�NÜ×Ñ˜#˜xÕ(r#   c                 óú   — t        j                  d«       d}d|› �}|j                  |d¬«       t        |dgd¬«      }|j	                  «       }|d   j                  d	«      |d<   t        j                  ||«       y )
NÚopenpyxlÚxlsxzmemory://test/test.TrH   r>   r   rk   rM   )r,   r-   Úto_excelr	   rR   rS   rT   rU   )rF   rA   ÚextÚpathrX   rY   s         r"   Útest_to_excelrt   n   st   € Ü
×Ñ˜
Ô#Ø
€CØ   Ð&€DØ‡L�L�˜T€LÔ"ä
�T¨ v¸Ô
;€Cà�x‰x‹z€HØ˜d‘^×*Ñ*¨8Ó4€HˆT�NÜ×Ñ˜#˜xÕ(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 «       |j                  «       }|d	   j                  d«      |d	<   t        j                  |«       y # 1 sw Y   Œ“xY w# 1 sw Y   ŒSxY w)Nr   rK   rJ   rW   )ÚmodeTrH   Úrr>   r   rk   rM   )r,   r-   rP   rN   ÚclosedÚreplacer   rR   rS   rT   rU   )	rF   ru   rA   r   rs   rw   Úfsspec_objectrX   rY   s	            r"   Útest_to_csv_fsspec_objectr|   {   s	  € ä× Ñ  Ó*€Fà#€DÙ‰4 C€DØ	�‰�T ˆÓ	%×	*Ñ	*Ó	,ð (°Ø�
‰
�=¨ˆ
Ô-Ø ×'Ò'Ð'Ð'Ð'÷(ð �<‰<˜˜SÓ!€DØ	�‰�T ˆÓ	%ð (¨ÜØØ˜Øô
ˆð
 !×'Ò'Ð'Ð'Ð'÷(ð �x‰x‹z€HØ˜d‘^×*Ñ*¨8Ó4€HˆT�NÜ×Ñ˜#˜xÕ(÷(ð (ú÷
(ð (ús   ¿"C4ÂD Ã4C=Ä D	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_optionsrI   Úcsv_read©rƒ   )r   rN   r   r   ©r3   Ú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 r~   )r   rN   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 )Nro   rp   r   r   ztestmem://test/test.r   rQ   Fr‚   Úreadr…   )r,   r-   r   rq   r   r	   )r3   Ú	extensionr‡   rs   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#   zTODO(infer_string) fastparquet)Úreasonc                 óX   — t        j                  d«       |j                  dddd¬«       y)úCRegression test for writing to a not-yet-existent GCS Parquet file.ÚfastparquetrK   TN)rI   ÚengineÚcompression)r,   r-   Ú
to_parquet)rF   rA   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‘   Úpyarrowr   r   r€   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’   r   r   r€   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#   Úcompression_suffix)Ú z.gzz.bz2c                 óª   — t        j                  d«       t        d| j                  › d|› �|¬«      }t        |«      }t	        j
                  ||«       y )NÚs3fsús3://ú	/tips.csvr…   ©r,   r-   r   ÚnamerT   Úassert_equal)Ús3_bucket_public_with_dataÚs3soÚ	tips_filer¡   Ú
df_from_s3Údf_from_locals         r"   Útest_from_s3_csvr¯   ê   sS   € ô ×Ñ˜ÔÜØ
Ð*×/Ñ/Ð0°	Ð:LÐ9MÐNØô€Jô ˜YÓ'€MÜ‡O�O�J Õ.r#   r(   )Ús3Ús3aÚs3nc                 óª   — t        j                  d«       t        |› d| j                  › d�|¬«      }t        |«      }t	        j
                  ||«       y )Nr¤   z://r¦   r…   r§   )rª   r«   r¬   r(   r­   r®   s         r"   Útest_s3_protocolsr´   ö   sQ   € ô ×Ñ˜ÔÜØˆ*�CÐ2×7Ñ7Ð8¸	ÐBØô€Jô ˜YÓ'€MÜ‡O�O�J Õ.r#   c                 óì   — t        j                  d«       t        j                  d«       d| j                  › d�}|j                  |ddd |¬«       t	        |d|¬«      }t        j                  ||«       y )Nr’   r¤   r¥   z/test.parquetF)rI   r“   r”   rƒ   rœ   )r,   r-   r¨   r•   r   rT   r©   )Ús3_bucket_publicr«   rA   ÚfnrX   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)NzH`Import fsspec` failed.  Use pip or conda to install the fsspec package.r^   rK   )r,   rc   rf   r   )Úmsgs    r"   Útest_not_present_exceptionr»     s3   € à
T€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˜   r   r   útestmem://mockfiler   Úfeather_writer…   Úfeather_read)r,   r-   r   Ú
to_featherr   r
   rT   rU   ©r3   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 )Nr   r   r½   r   Úpickle_writer…   Úpickle_read)r   Ú	to_pickler   r   rT   rU   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 )Nr   r   r½   r   Ú
json_write)r”   rƒ   Ú	json_read)r   Úto_jsonr   r   rT   rU   )r3   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 )Nr   r   r½   r   Ústata_writeF)rƒ   Úwrite_indexÚ
stata_readr…   Úint64)r   Úto_statar   r   rT   rU   rS   rÁ   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Útabulater   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ƒ   r^   Ú	localfiler   Tr…   r   Únonfsspecpath)
r,   r-   rc   rd   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);rÞ   Únumpyr?   r,   Úpandas._configr   Úpandas.compatr   Úpandas.compat.pyarrowr   Úpandasr   r   r   r	   r
   r   r   r   r   r   Úpandas._testingÚ_testingrT   Úpandas.utilr   ÚtdÚmarkÚfilterwarningsÚ
pytestmarkÚfixturer3   rA   rF   rZ   ri   rm   rt   Úparametrizer|   rˆ   rŠ   rŽ   Úxfailr–   rž   r    Ú
single_cpur¯   r´   r¸   Úskip_if_installedr»   rÃ   rÈ   rÍ   rÔ   rÚ   rá   r   r#   r"   ú<module>ró      s  ðÛ 	ã Û å -å %Ý 6÷÷ ÷ õ Ý .à�[‰[×'Ñ'ØCó€
ð
 ‡�ñó ðð* ‡�ñó ðð ‡�ñó ðò)ò/ò)ò
)ð ‡�×Ñ˜¨°¨Ó6ñ)ó 7ð)ò.,ò,ò(ð ‡�×ÑÙÓÒE˜[ÒEÐ1EÐ-EØ+ð ó ñó	ðò0ò&0ð( ‡�×ÑØ‡�×ÑÐ-Ò/BÓCñ/ó Dó ð/ð ‡�×ÑØ‡�×Ñ˜Ò%9Ó:ñ/ó ;ó ð/ð ‡�×ÑÑ%Ó'Ð0PÐÓQØ‡�×Ññ	ó ó Rð	ð €×Ñ�hÓñ+ó  ð+ò#ò#ò#ò"3ò0óDr#   