§
    tŠtjcË  ã                   ó¨  — d Z ddlZddlmZ ddlmZ ddlZ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mZmZmZ ddlZddlmZ ddlmZ dd	lmZmZmZmZm Z  	 ddl!Z!d
Z"n# e#$ r dZ"Y nw xY w	 ddl$Z$d
Z% ee$j&        ¦  «         ed¦  «        k     Z' ee$j&        ¦  «         ed¦  «        k     Z(n# e#$ r	 dZ%dZ'dZ(Y nw xY we
j)         *                    d¦  «        e
j)         *                    d¦  «        gZ+ e
j,         e
j-        de
j)         .                    e% d¬¦  «        e
j)         /                     e¦   «         dd¬¦  «        g¬¦  «         e
j-        de
j)         .                    e" d¬¦  «        ¬¦  «        g¬¦  «        d„ ¦   «         Z0e
j,        d„ ¦   «         Z1e
j,        d„ ¦   «         Z2e
j,        d„ ¦   «         Z3e
j,        d„ ¦   «         Z4e
j,        d„ ¦   «         Z5 e
j,        ej         6                    ej7        ¦  «        ej         6                    ej8        j9        ¦  «        ej         6                    ej8        j:        ¦  «        ej         ;                    dd ¦  «        ej         ;                    d!d ¦  «        ej         ;                    d"d ¦  «        ej         ;                    d#d ¦  «        g¬¦  «        d$„ ¦   «         Z<	 	 	 	 	 	 	 	 	 d9d&„Z=d'„ Z>d(„ Z?d)„ Z@d*„ ZAd+„ ZBd,„ ZCd-„ ZDd.„ ZEe
j)         /                     e¦   «         oe"oe' oe(d/¬¦  «        d0„ ¦   «         ZF G d1„ d2¦  «        ZG G d3„ d4eG¦  «        ZH G d5„ d6eG¦  «        ZI G d7„ d8eG¦  «        ZJdS ):ztest parquet compaté    N)ÚDecimal)ÚBytesIO)Úusing_string_dtype)Úis_platform_windows)Úpa_version_under15p0Úpa_version_under17p0Úpa_version_under19p0Úpa_version_under20p0)ÚVersion)ÚFastParquetImplÚPyArrowImplÚ
get_engineÚread_parquetÚ
to_parquetTFz	2025.12.0z2026.5.0z2ignore:DataFrame._data is deprecated:FutureWarningz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚfastparquetúfastparquet is not installed©ÚreasonúTODO(infer_string) fastparquet©r   Ústrict©ÚmarksÚpyarrowúpyarrow is not installed)Úparamsc                 ó   — | j         S ©N©Úparam©Úrequests    úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/io/test_parquet.pyÚenginer$   >   s   € ð2 Œ=Ðó    c                  ó<   — t           st          j        d¦  «         dS )Nr   r   )Ú_HAVE_PYARROWÚpytestÚskip© r%   r#   Úpar+   Z   s    € åð 0ÝŒÐ.Ñ/Ô/Ð/Øˆ9r%   c                 óÀ   — t           st          j        d¦  «         t          ¦   «         r4|                      t          j                             dd¬¦  «        ¦  «         dS )Nr   r   Fr   r   )Ú_HAVE_FASTPARQUETr(   r)   r   ÚapplymarkerÚmarkÚxfailr!   s    r#   Úfpr1   a   sa   € åð 4ÝŒÐ2Ñ3Ô3Ð3ÝÑÔð 
Ø×ÒÝŒK×ÒÐ%EÈeÐÑTÔTñ	
ô 	
ð 	
ð ˆ=r%   c                  ó`   — t          j        g d¢ddœt          j        ddg¦  «        ¬¦  «        S )N©é   é   é   Úfoo©ÚAÚBr9   r:   ©Úcolumns)ÚpdÚ	DataFrameÚIndexr*   r%   r#   Ú	df_compatr@   l   s1   € åŒ<˜i˜i˜i¨eÐ4Ð4½b¼hÈÈSÀzÑ>RÔ>RÐSÑSÔSÐSr%   c            
      óà   — t          j        t          d¦  «        t          t          dd¦  «        ¦  «        t	          j        ddd¬¦  «        g d¢t          j        d	d
¬¦  «        dœ¦  «        } | S )NÚabcr4   é   ç      @ç      @Úfloat64©Údtype©TFTÚ20130101r6   ©Úperiods)ÚaÚbÚdÚeÚf)r=   r>   ÚlistÚrangeÚnpÚarangeÚ
date_range)Údfs    r#   Údf_cross_compatrX   q   so   € å	Œå�e‘”Ý•e˜A˜q‘k”kÑ"Ô"å”˜3 ¨9Ð5Ñ5Ô5Ø$Ð$Ð$Ý”˜z°1Ð5Ñ5Ô5ð
	
ð 
	
ñ
ô 
€Bð €Ir%   c                  óÚ  — t          j        t          d¦  «        dt          j        dgg d¢g d¢g d¢t          t          dd¦  «        ¦  «        t          j        d	d
¦  «                             d¦  «        t          j        ddd¬¦  «        dt          j        dgg d¢t          j        dd	d¬¦  «        t          j	        d¦  «        t           j
        t          j	        d¦  «        gdœ¦  «        S )NrB   rM   Úc©rM   NrZ   )ó   fooó   bars   baz©r7   ÚbarÚbazr4   rC   r6   é   Úu1rD   rE   rF   rG   ç       @ç      @rI   rJ   Úns©rL   ÚunitÚ20130103)ÚstringÚstring_with_nanÚstring_with_noneÚbytesÚunicodeÚintÚuintÚfloatÚfloat_with_nanÚboolÚdatetimeÚdatetime_with_nat)r=   r>   rR   rT   ÚnanrS   rU   ÚastyperV   Ú	TimestampÚNaTr*   r%   r#   Údf_fullry   ƒ   sß   € åŒ<å˜5‘k”kØ #¥R¤V¨SÐ1Ø 0Ð 0Ð 0Ø-Ð-Ð-Ø,Ð,Ð,Ý�˜a ™œÑ$Ô$Ý”I˜a ‘O”O×*Ò*¨4Ñ0Ô0Ý”Y˜s C¨yÐ9Ñ9Ô9Ø"¥B¤F¨CÐ0Ø'Ð'Ð'Ýœ j¸!À$ÐGÑGÔGå”˜ZÑ(Ô(Ý”Ý”˜ZÑ(Ô(ð"ð	
ð 	
ñô ð r%   z2019-01-04T16:41:24+0200z%Y-%m-%dT%H:%M:%S%zz2019-01-04T16:41:24+0215z2019-01-04T16:41:24-0200z2019-01-04T16:41:24-0215c                 ó   — | j         S r   r   r!   s    r#   Útimezone_aware_date_listr{   ›   s   € ð Œ=Ðr%   r5   c                 óì   ‡ ‡‡‡‡‡‡‡	— t          |t          j        ¦  «        st          d¦  «        ‚‰pddiŠ‰pi Š‰€‰ Š|r
|‰d<   |‰d<   ˆ	ˆˆˆ ˆˆˆˆfd„}‰€|Š ||
¦  «         dS  ||
¦  «         dS )a  Verify parquet serializer and deserializer produce the same results.

    Performs a pandas to disk and disk to pandas round trip,
    then compares the 2 resulting DataFrames to verify equality.

    Parameters
    ----------
    df: Dataframe
    engine: str, optional
        'pyarrow' or 'fastparquet'
    path: str, optional
    write_kwargs: dict of str:str, optional
    read_kwargs: dict of str:str, optional
    expected: DataFrame, optional
        Expected deserialization result, otherwise will be equal to `df`
    check_names: list of str, optional
        Closed set of column names to be compared
    check_like: bool, optional
        If True, ignore the order of index & columns.
    repeat: int, optional
        How many times to repeat the test
    z temp_file must be a pathlib.PathÚcompressionNr$   c                 ó°   •— t          | ¦  «        D ]D} ‰j        ‰fi ‰
¤Ž t          ‰fi ‰	¤Ž}d‰v r
d ‰j        d<   t	          j        |‰‰‰‰¬¦  «         ŒEd S )Nrj   ©r4   rj   )Úcheck_namesÚ
check_likeÚcheck_dtype)rS   r   r   ÚlocÚtmÚassert_frame_equal)ÚrepeatÚ_Úactualr‚   r�   r€   rW   ÚexpectedÚpathÚread_kwargsÚwrite_kwargss      €€€€€€€€r#   Úcomparez!check_round_trip.<locals>.compareÙ   s—   ø€ Ý�v‘”ð 	ð 	ˆAØˆBŒM˜$Ð/Ð/ ,Ð/Ð/Ð/Ý! $Ð6Ð6¨+Ð6Ð6ˆFà  HÐ,Ð,Ø59�”Ð1Ñ2ÝÔ!ØØØ'Ø%Ø'ðñ ô ð ð ð	ð 	r%   )Ú
isinstanceÚpathlibÚPathÚ
ValueError)rW   Ú	temp_filer$   rŠ   rŒ   r‹   r‰   r€   r�   r‚   r†   r�   s   `  ```````  r#   Úcheck_round_tripr“   ª   sÚ   øøøøøøøø€ õF �i¥¤Ñ.Ô.ð =ÝÐ;Ñ<Ô<Ð<ØÐ8 M°4Ð#8€LØÐ# €KàÐØˆàð 'Ø!'ˆ�XÑØ &ˆ�HÑðð ð ð ð ð ð ð ð ð ð ð ð €|ØˆØˆ�‰Œˆˆˆàˆ�‰Œˆˆˆr%   c                 ón   — ddl m} |                     | d¬¦  «        }|j        j        j        |k    sJ ‚dS )zÂCheck partitions of a parquet file are as expected.

    Parameters
    ----------
    path: str
        Path of the dataset.
    expected: iterable of str
        Expected partition names.
    r   NÚhive)Úpartitioning)Úpyarrow.datasetÚdatasetr–   ÚschemaÚnames)rŠ   r‰   Údsr˜   s       r#   Úcheck_partition_namesrœ   ï   sK   € ð !Ð Ð Ð Ð Ð à�jŠj˜¨FˆjÑ3Ô3€GØÔÔ&Ô,°Ò8Ð8Ð8Ð8Ð8Ð8r%   c                 ó–   — d}t          j        t          |¬¦  «        5  t          | |dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz.engine must be one of 'pyarrow', 'fastparquet'©Úmatchr7   r_   )r(   Úraisesr‘   r“   )r@   r’   Úmsgs      r#   Útest_invalid_enginer¢   ÿ   s”   € Ø
:€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð =ð =Ý˜ I¨u°eÑ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s   ž>¾AÁAc                 óÒ   — |r&t           s| j                             d¦  «        | _        t          j        dd¦  «        5  t          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚstrúio.parquet.enginer   )r	   r<   rv   r=   Úoption_contextr“   )r@   r+   Úusing_infer_stringr’   s       r#   Útest_options_pyr¨     s³   € àð <Õ"6ð <Ø%Ô-×4Ò4°UÑ;Ô;ˆ	Ôå	Ô	Ð.°	Ñ	:Ô	:ð /ð /Ý˜ IÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ¾AÁA Á#A c                 ó‚   — t          j        dd¦  «        5  t          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¥   r   ©r=   r¦   r“   )r@   r1   r’   s      r#   Útest_options_fpr«     sŒ   € õ 
Ô	Ð.°Ñ	>Ô	>ð /ð /Ý˜ IÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /ó   –4´8»8c                 ó‚   — t          j        dd¦  «        5  t          | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¥   Úautorª   )r@   r1   r+   r’   s       r#   Útest_options_autor¯     sŒ   € õ 
Ô	Ð.°Ñ	7Ô	7ð /ð /Ý˜ IÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /r¬   c                 ó4  — t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚t	          j        dd¦  «        5  t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t	          j        dd¦  «        5  t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t	          j        dd¦  «        5  t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚t          t          d¦  «        t          ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r¥   r®   )rŽ   r   r   r   r=   r¦   )r1   r+   s     r#   Útest_options_get_enginer±     sÙ  € Ý•j Ñ+Ô+­[Ñ9Ô9Ð9Ð9Ð9Ý•j Ñ/Ô/µÑAÔAÐAÐAÐAå	Ô	Ð.°	Ñ	:Ô	:ð Fð FÝ�* VÑ,Ô,­kÑ:Ô:Ð:Ð:Ð:Ý�* YÑ/Ô/µÑ=Ô=Ð=Ð=Ð=Ý�* ]Ñ3Ô3µ_ÑEÔEÐEÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ
 
Ô	Ð.°Ñ	>Ô	>ð Fð FÝ�* VÑ,Ô,­oÑ>Ô>Ð>Ð>Ð>Ý�* YÑ/Ô/µÑ=Ô=Ð=Ð=Ð=Ý�* ]Ñ3Ô3µ_ÑEÔEÐEÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ
 
Ô	Ð.°Ñ	7Ô	7ð Fð FÝ�* VÑ,Ô,­kÑ:Ô:Ð:Ð:Ð:Ý�* YÑ/Ô/µÑ=Ô=Ð=Ð=Ð=Ý�* ]Ñ3Ô3µ_ÑEÔEÐEÐEÐEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs9   ÁA-CÃCÃCÃ8A-E2Å2E6Å9E6ÆA-HÈHÈHc                  ó°  — ddl m}  |                      d¦  «        }|                      d¦  «        }t          sdn)t	          t
          j        ¦  «        t	          |¦  «        k     }t          sdn)t	          t          j        ¦  «        t	          |¦  «        k     }t          o| }t          o| }|�s&|�s%|rId|› d�}t          j
        t          |¬¦  «        5  t          d	¦  «         d d d ¦  «         n# 1 swxY w Y   nDd
}t          j
        t          |¬¦  «        5  t          d	¦  «         d d d ¦  «         n# 1 swxY w Y   |rKd|› d�}t          j
        t          |¬¦  «        5  t          d	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d}t          j
        t          |¬¦  «        5  t          d	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S d S )Nr   )ÚVERSIONSr   r   FzPandas requires version .z. or newer of .pyarrow.rž   r®   z6Unable to find a usable engine; tried using: 'pyarrow'z. or newer of .fastparquet.z3Use pip or conda to install the fastparquet package)Úpandas.compat._optionalr³   Úgetr'   r   r   Ú__version__r-   r   r(   r    ÚImportErrorr   )r³   Ú
pa_min_verÚ
fp_min_verÚhave_pa_bad_versionÚhave_fp_bad_versionÚhave_usable_paÚhave_usable_fprŸ   s           r#   Ú"test_get_engine_auto_error_messager¾   0  s  € ð 1Ð0Ð0Ð0Ð0Ð0ð —’˜iÑ(Ô(€JØ—’˜mÑ,Ô,€Jõ ð	@ˆˆå•WÔ(Ñ)Ô)­G°JÑ,?Ô,?Ò?ð õ !ð	Dˆˆå•[Ô,Ñ-Ô-µ¸
Ñ0CÔ0CÒCð õ #Ð>Ð+>Ð'>€NÝ&ÐBÐ/BÐ+B€Nàñ # .ñ #àð 	#ØS°
ÐSÐSÐSˆEÝ”�{°%Ð8Ñ8Ô8ð #ð #Ý˜6Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #øð MˆEÝ”�{°%Ð8Ñ8Ô8ð #ð #Ý˜6Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð ð 	#ØW°
ÐWÐWÐWˆEÝ”�{°%Ð8Ñ8Ô8ð #ð #Ý˜6Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #ð JˆEÝ”�{°%Ð8Ñ8Ô8ð #ð #Ý˜6Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #ð##ð #ð #ð #sH   ÃC0Ã0C4Ã7C4ÄD5Ä5D9Ä<D9Å#F Æ FÆFÆ*GÇGÇGc                 óè   — | }|                      ||d ¬¦  «         t          ||¬¦  «        }t          j        ||¦  «         t          ||ddg¬¦  «        }t          j        ||ddg         ¦  «         d S ©N)r$   r}   ©r$   rM   rO   )r$   r<   ©r   r   r„   r…   ©rX   r+   r1   r’   rW   Úresults         r#   Útest_cross_engine_pa_fprÅ   [  s   € ð 
€BØ‡M‚M�) B°D€MÑ9Ô9Ð9å˜)¨BÐ/Ñ/Ô/€FÝÔ˜& "Ñ%Ô%Ð%å˜)¨B¸¸c¸
ÐCÑCÔC€FÝÔ˜& " c¨3 Z¤.Ñ1Ô1Ð1Ð1Ð1r%   úAfastparquet >= 2025.12.0, < 2026.5.0 can't write ArrowStringArrayc                 óè   — | }|                      ||d ¬¦  «         t          ||¬¦  «        }t          j        ||¦  «         t          ||ddg¬¦  «        }t          j        ||ddg         ¦  «         d S rÀ   rÂ   rÃ   s         r#   Útest_cross_engine_fp_parÈ   h  s   € ð 
€Bà‡M‚M�) B°D€MÑ9Ô9Ð9å˜)¨BÐ/Ñ/Ô/€FÝÔ˜& "Ñ%Ô%Ð%å˜)¨B¸¸c¸
ÐCÑCÔC€FÝÔ˜& " c¨3 Z¤.Ñ1Ô1Ð1Ð1Ð1r%   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚBasec                 óŠ   — t          j        ||¬¦  «        5  t          |||d ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrž   ©r}   )r(   r    r   )ÚselfrW   r$   ÚexcÚerr_msgÚtemp_file_paths         r#   Úcheck_error_on_writezBase.check_error_on_write}  s¦   € åŒ]˜3 gÐ.Ñ.Ô.ð 	Eð 	EÝ�r˜>¨6¸tÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   —8¸<¿<c                 ó†   — t          j        |¦  «        5  t          |||d ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÌ   )r„   Úexternal_error_raisedr   )rÍ   rW   r$   rÎ   rÐ   s        r#   Úcheck_external_error_on_writez"Base.check_external_error_on_write‚  s¢   € åÔ% cÑ*Ô*ð 	Eð 	EÝ�r˜>¨6¸tÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Es   •6¶:½:N)Ú__name__Ú
__module__Ú__qualname__rÑ   rÔ   r*   r%   r#   rÊ   rÊ   |  s:   € € € € € ðEð Eð Eð
Eð Eð Eð Eð Er%   rÊ   c                   óH  — e Zd Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zej        j        ej        j        d„ ¦   «         ¦   «         ZdS )Ú	TestBasicc                 óÎ   — t          j        g d¢¦  «        ddt          j        d¦  «        t          j        g d¢¦  «        fD ]"}d}|                      ||t          ||¦  «         Œ#d S )Nr3   r4   r7   rJ   z+to_parquet only supports IO with DataFrames)r=   ÚSeriesrw   rT   ÚarrayrÑ   r‘   )rÍ   r$   r’   Úobjr¡   s        r#   Ú
test_errorzTestBasic.test_error‰  s}   € åŒI�i�i�iÑ Ô ØØÝŒL˜Ñ$Ô$ÝŒH�Y�Y�YÑÔð
ð 	Oð 	OˆCð @ˆCØ×%Ò% c¨6µ:¸sÀIÑNÔNÐNÐNð	Oð 	Or%   c           	      ó¸   — t          j        t          d¦  «        t          t          dd¦  «        ¦  «        dœ¦  «        }ddg|_        t          |||¦  «         d S )NrB   r4   rC   ©ri   rn   r7   r_   ©r=   r>   rR   rS   r<   r“   )rÍ   r$   r’   rW   s       r#   Útest_columns_dtypeszTestBasic.test_columns_dtypes”  sT   € ÝŒ\¥T¨%¡[¤[½½eÀAÀq¹k¼kÑ9JÔ9JÐKÐKÑLÔLˆð ˜U�^ˆŒ
Ý˜˜Y¨Ñ/Ô/Ð/Ð/Ð/r%   r}   )NÚgzipÚsnappyÚbrotlic                 ó`   — t          j        dg d¢i¦  «        }t          |||d|i¬¦  «         d S )Nr9   r3   r}   ©rŒ   ©r=   r>   r“   )rÍ   r$   r}   r’   rW   s        r#   Útest_compressionzTestBasic.test_compression›  sI   € åŒ\˜3 	 	 	Ð*Ñ+Ô+ˆÝØ�	˜6°ÀÐ0Lð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c           	      óø   — t          j        t          d¦  «        t          t          dd¦  «        ¦  «        dœ¦  «        }t          j        dt          d¦  «        i¦  «        }t	          ||||ddgi¬¦  «         d S )NrB   r4   rC   rà   ri   r<   ©r‰   r‹   ©r=   r>   rR   rS   r“   )rÍ   r$   r’   rW   r‰   s        r#   Útest_read_columnszTestBasic.test_read_columns¢  s€   € åŒ\¥T¨%¡[¤[½½eÀAÀq¹k¼kÑ9JÔ9JÐKÐKÑLÔLˆå”< ­4°©;¬;Ð 7Ñ8Ô8ˆÝØØØØØ" X JÐ/ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c           
      óî   — t          j        t          t          d¦  «        ¦  «        t          d¦  «        dœ¦  «        }t          j        dddgi¦  «        }t	          ||||ddgid	gdgd
œd¬¦  «         d S )NrC   Úaabb)rn   Úpartrn   r   r4   Úpartition_colsrð   )rð   ú==rM   )Úfiltersr<   )r‰   rŒ   r‹   r†   rì   )rÍ   r$   Útmp_pathrW   r‰   s        r#   Útest_read_filterszTestBasic.test_read_filters¯  s˜   € ÝŒ\å�E !™HœH‘~”~Ý˜V™œðð ñ
ô 
ˆõ ”< ¨¨A¨ Ñ0Ô0ˆÝØØØØØ*¨V¨HÐ5Ø%8Ð$9ÀuÀgÐNÐNØð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 óÐ  — t          j        d¦  «         t          j        dg d¢i¦  «        }t	          ||d¦  «         g d¢t          j        ddd¬¦  «        t          d	¦  «        g d
¢g}|D ]S}||_        t          |t          j	        ¦  «        r|j         
                    d ¦  «        |_        t	          ||d¦  «         ŒTg d¢|_        d|j        _        t	          ||d¦  «         d S )Nr   r9   r3   )r5   r6   rC   rJ   r6   re   rf   rB   )r4   r6   rC   )r   r4   r5   r7   )r(   Úimportorskipr=   r>   r“   rV   rR   ÚindexrŽ   ÚDatetimeIndexÚ
_with_freqÚname)rÍ   r’   rW   Úindexesrø   s        r#   Útest_write_indexzTestBasic.test_write_indexÂ  sø   € ÝÔ˜IÑ&Ô&Ð&ÝŒ\˜3 	 	 	Ð*Ñ+Ô+ˆÝ˜˜Y¨	Ñ2Ô2Ð2ð ˆIˆIÝŒM˜*¨a°dÐ;Ñ;Ô;Ý�‰KŒKØˆIˆIð	
ˆð ð 	7ð 	7ˆEØˆBŒHÝ˜%¥Ô!1Ñ2Ô2ð 5Øœ8×.Ò.¨tÑ4Ô4�”Ý˜R ¨IÑ6Ô6Ð6Ð6ð �9�9ˆŒØˆŒŒÝ˜˜Y¨	Ñ2Ô2Ð2Ð2Ð2r%   c                 ó¬   — |}t          j        dg d¢i¦  «        }t           j                             g d¢¦  «        }||_        t          |||¦  «         d S )Nr9   r3   ©)rM   r4   )rM   r5   )rN   r4   )r=   r>   Ú
MultiIndexÚfrom_tuplesrø   r“   )rÍ   r+   r’   r$   rW   rø   s         r#   Útest_write_multiindexzTestBasic.test_write_multiindexÙ  sZ   € àˆåŒ\˜3 	 	 	Ð*Ñ+Ô+ˆÝ”×)Ò)Ð*HÐ*HÐ*HÑIÔIˆØˆŒÝ˜˜Y¨Ñ/Ô/Ð/Ð/Ð/r%   c           
      óü  — |}t          j        dddd¬¦  «        }t          j        t          j                             d¦  «                             dt          |¦  «        z  df¦  «        t          d¦  «        ¬	¦  «        }t           j	         
                    d
dg|gddg¬¦  «        }|                     d ¬¦  «        }||fD ]:}||_        t          |||¦  «         t          |||dddgi|ddg         ¬¦  «         Œ;d S )Nz01-Jan-2018z01-Dec-2018ÚMSre   )Úfreqrg   r5   r6   ÚABCr;   ÚLevel1ÚLevel2ÚlevelÚdate©rš   r<   r9   r:   ©r‹   r‰   )r=   rV   r>   rT   ÚrandomÚdefault_rngÚstandard_normalÚlenrR   r   Úfrom_productÚcopyrø   r“   )	rÍ   r+   r’   r$   ÚdatesrW   Úindex1Úindex2rø   s	            r#   Útest_multiindex_with_columnsz&TestBasic.test_multiindex_with_columnsâ  s(  € ØˆÝ”˜m¨]ÀÈDÐQÑQÔQˆÝŒ\ÝŒI×!Ò! !Ñ$Ô$×4Ò4°a½#¸e¹*¼*±nÀaÐ5HÑIÔIÝ˜‘K”Kð
ñ 
ô 
ˆõ ”×+Ò+Ø˜Ð! 5Ð)°'¸6Ð1Bð ,ñ 
ô 
ˆð —’ 4�Ñ(Ô(ˆØ˜fÐ%ð 
	ð 
	ˆEØˆBŒHå˜R ¨FÑ3Ô3Ð3ÝØØØØ&¨¨c¨
Ð3Ø˜S #˜Jœðñ ô ð ð ð	
	ð 
	r%   c                 óø  — t          j        g d¢g d¢dœ¦  «        }d ddœ}|                     d¬¦  «        }t          |||||¬¦  «         t          j        g d¢g d¢dœg d	¢¬
¦  «        }t          |||||¬¦  «         g d¢g d¢g}t          j        t	          t          d¦  «        ¦  «        d„ t          d¦  «        D ¦   «         dœ|¬
¦  «        }|                     d¬¦  «        }t          |||||¬¦  «         d S )Nr3   )ÚqÚrÚs)rM   rN   F)r}   rø   T)Údrop©rŒ   r‰   )ÚzyxÚwvuÚtsr©rø   ©r_   r_   r`   r`   r7   r7   Úquxr"  ©ÚoneÚtwor$  r%  r$  r%  r$  r%  é   c                 ó   — g | ]}| ‘ŒS r*   r*   )Ú.0Úis     r#   ú
<listcomp>z7TestBasic.test_write_ignoring_index.<locals>.<listcomp>  s   € Ð+AÐ+AÐ+A°1¨Q¨BÐ+AÐ+AÐ+Ar%   )r$  r%  )r=   r>   Úreset_indexr“   rR   rS   )rÍ   r$   r’   rW   rŒ   r‰   Úarrayss          r#   Útest_write_ignoring_indexz#TestBasic.test_write_ignoring_indexù  sb  € õ Œ\ 	 	 	°°°Ð@Ð@ÑAÔAˆà'+°eÐ<Ð<ˆð —>’> t�>Ñ,Ô,ˆåØ�	˜6°Àxð	
ñ 	
ô 	
ð 	
õ
 Œ\Ø�)�) / / /Ð2Ð2Ð:OÐ:OÐ:Oð
ñ 
ô 
ˆõ 	Ø�	˜6°Àxð	
ñ 	
ô 	
ð 	
ð EÐDÐDØDÐDÐDð
ˆõ Œ\Ý�˜q™œ‘N”NÐ+AÐ+A½¸a¹¼Ð+AÑ+AÔ+AÐBÐBÈ&ð
ñ 
ô 
ˆð —>’> t�>Ñ,Ô,ˆÝØ�	˜6°Àxð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 óR  — t           j                             g d¢¦  «        }t          j        t          j                             d¦  «                             d¦  «        |¬¦  «        }|dk    r |                      ||t          d|¦  «         d S |dk    rt          |||¦  «         d S d S )Nrÿ   r5   )rC   r6   r;   r   úColumn name must be a stringr   )r=   r   r  r>   rT   r  r  r  rÑ   Ú	TypeErrorr“   )rÍ   r$   r’   Ú
mi_columnsrW   s        r#   Útest_write_column_multiindexz&TestBasic.test_write_column_multiindex  s¿   € å”]×.Ò.Ð/MÐ/MÐ/MÑNÔNˆ
ÝŒ\ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<Àjð
ñ 
ô 
ˆð �]Ò"Ð"Ø×%Ò%Ø�F�IÐ'EÀyñô ð ð ð ð �yÒ Ð Ý˜R ¨FÑ3Ô3Ð3Ð3Ð3ð !Ð r%   c                 ó<  — g d¢g d¢g}t          j        t          j                             d¦  «                             d¦  «        |¬¦  «        }ddg|j        _        |dk    r |                      ||t          d	|¦  «         d S |d
k    rt          |||¦  «         d S d S )Nr!  )r4   r5   r4   r5   r4   r5   r4   r5   r5   ©r&  r&  r;   r  r  r   zColumn namer   )r=   r>   rT   r  r  r  r<   rš   rÑ   r‘   r“   ©rÍ   r$   r’   r,  rW   s        r#   Ú&test_write_column_multiindex_nonstringz0TestBasic.test_write_column_multiindex_nonstring-  sÂ   € ð
 EÐDÐDØ$Ð$Ð$ð
ˆõ Œ\ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<Àfð
ñ 
ô 
ˆð % hÐ/ˆŒ
ÔØ�]Ò"Ð"Ø×%Ò% b¨&µ*¸mÈYÑWÔWÐWÐWÐWØ�yÒ Ð Ý˜R ¨FÑ3Ô3Ð3Ð3Ð3ð !Ð r%   c                 óä   — |}g d¢g d¢g}t          j        t          j                             d¦  «                             d¦  «        |¬¦  «        }ddg|j        _        t          |||¦  «         d S )Nr!  r#  r5   r4  r;   Ú	ColLevel1Ú	ColLevel2)	r=   r>   rT   r  r  r  r<   rš   r“   ©rÍ   r+   r’   r$   r,  rW   s         r#   Ú#test_write_column_multiindex_stringz-TestBasic.test_write_column_multiindex_string>  s‰   € ð ˆð EÐDÐDØDÐDÐDð
ˆõ Œ\ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<Àfð
ñ 
ô 
ˆð (¨Ð5ˆŒ
Ôå˜˜Y¨Ñ/Ô/Ð/Ð/Ð/r%   c                 óØ   — |}g d¢}t          j        t          j                             d¦  «                             d¦  «        |¬¦  «        }d|j        _        t          |||¦  «         d S )N)r_   r`   r7   r"  r5   ©r&  rC   r;   Ú	StringCol)	r=   r>   rT   r  r  r  r<   rû   r“   r:  s         r#   Útest_write_column_index_stringz(TestBasic.test_write_column_index_stringO  sr   € ð ˆð .Ð-Ð-ˆÝŒ\ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<Àfð
ñ 
ô 
ˆð &ˆŒ
Œå˜˜Y¨Ñ/Ô/Ð/Ð/Ð/r%   c                 ó   — g d¢}t          j        t          j                             d¦  «                             d¦  «        |¬¦  «        }d|j        _        |dk    r |                      ||t          d|¦  «         d S t          |||¦  «         d S )N©r4   r5   r6   rC   r5   r=  r;   ÚNonStringColr   r/  )r=   r>   rT   r  r  r  r<   rû   rÑ   r0  r“   r5  s        r#   Ú!test_write_column_index_nonstringz+TestBasic.test_write_column_index_nonstring]  s¤   € ð ��ˆÝŒ\ÝŒI×!Ò! !Ñ$Ô$×4Ò4°VÑ<Ô<Àfð
ñ 
ô 
ˆð )ˆŒ
ŒØ�]Ò"Ð"Ø×%Ò%Ø�F�IÐ'EÀyñô ð ð ð õ ˜R ¨FÑ3Ô3Ð3Ð3Ð3r%   c                 ó¸  — t          j        d¦  «        }|dk    r5t           j                             d¬¦  «        }|                     |¦  «         t          j        t          j        g d¢d¦  «        t          j        g d¢d¦  «        t          j        g d¢¦  «        t          j        g d	¢¦  «        t          j        g d
¢d¦  «        t          j        g d¢d¦  «        t          j        g d¢d¦  «        dœ¦  «        }|                     ||¦  «         t          ||¬¦  «        }t          ||d¬¦  «        }|d         j
        t          j
        d¦  «        k    sJ ‚t          j        t          j        g d¢d¬¦  «        t          j        g d¢d¬¦  «        t          j        g d¢d¬¦  «        t          j        g d	¢d¬¦  «        t          j        g d
¢d¬¦  «        t          j        g d¢d¬¦  «        t          j        g d¢d¬¦  «        dœ¦  «        }	|dk    r.|                     dd¬¦  «        }|	                     dd¬¦  «        }	t          j        ||	¦  «         d S )Núpyarrow.parquetr   z.Fastparquet nullable dtype support is disabledr   ©r4   r5   r6   NÚint64Úuint8)rM   rN   rZ   N)TFTNrA  )ç      ð?rc   rd   NÚfloat32rF   )rM   rN   rZ   rO   rP   rQ   ÚgrÁ   Únumpy_nullable)r$   Údtype_backendrM   ÚInt64rG   ÚUInt8ri   ÚbooleanÚFloat32ÚFloat64rZ   r4   )Úaxis)r(   r÷   r/   r0   r.   r   ÚtablerÜ   Úwrite_tabler   rH   rT   r=   r>   r  r„   r…   )
rÍ   r$   r"   r’   Úpqr/   rT  Úresult1Úresult2r‰   s
             r#   Útest_dtype_backendzTestBasic.test_dtype_backendm  so  € ÝÔ Ð!2Ñ3Ô3ˆà�]Ò"Ð"õ ”;×$Ò$ØGð %ñ ô ˆDð ×Ò Ñ%Ô%Ð%å”å”] ? ? ?°GÑ<Ô<Ý”] ? ? ?°GÑ<Ô<Ý”]Ð#8Ð#8Ð#8Ñ9Ô9Ý”]Ð#<Ð#<Ð#<Ñ=Ô=å”] < < <°Ñ9Ô9å”]Ð#8Ð#8Ð#8¸)ÑDÔDÝ”]Ð#8Ð#8Ð#8¸)ÑDÔDð
ð 
ñ
ô 
ˆð 	�Š�u˜iÑ(Ô(Ð(Ý˜y°Ð8Ñ8Ô8ˆÝ˜y°ÐGWÐXÑXÔXˆà�sŒ|Ô!¥R¤X¨iÑ%8Ô%8Ò8Ð8Ð8Ð8Ý”<å”X˜o˜o˜o°WÐ=Ñ=Ô=Ý”X˜o˜o˜o°WÐ=Ñ=Ô=Ý”XÐ3Ð3Ð3¸8ÐDÑDÔDÝ”XÐ7Ð7Ð7¸yÐIÑIÔIÝ”X˜l˜l˜l°'Ð:Ñ:Ô:Ý”XÐ3Ð3Ð3¸9ÐEÑEÔEÝ”XÐ3Ð3Ð3¸9ÐEÑEÔEðð ñ

ô 

ˆð �]Ò"Ð"ð —l’l 3¨Q�lÑ/Ô/ˆGØ—}’} S¨q�}Ñ1Ô1ˆHÝ
Ô˜g xÑ0Ô0Ð0Ð0Ð0r%   rH   )	rN  rO  rP  Úobjectzdatetime64[ns, UTC]rp   z	period[D]rR  ri   c                 ó  — t          j        dt          j        g |¬¦  «        i¦  «        }t          j        dd¦  «         d }|dk    r*t          j        dt          j        g d¬¦  «        i¦  «        }t          |||ddi|¬	¦  «         d S )
NÚvaluerG   r   ú11.0.0rp   rR  rM  rL  r  )r=   r>   rÜ   r(   r÷   r“   )rÍ   r+   rH   r’   rW   r‰   s         r#   Útest_read_empty_arrayzTestBasic.test_read_empty_array�  sµ   € õ  Œ\à�œ "¨EÐ2Ñ2Ô2ðñ
ô 
ˆõ
 	Ô˜I xÑ0Ô0Ð0àˆØ�GÒÐÝ”|à�RœX b°	Ð:Ñ:Ô:ðñô ˆHõ
 	ØØØØ(Ð*:Ð;Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 ó¤  — |dk    rt          j        |¦  «         t           |dddd¦  «        d¬¦  «        5 }|                     |                     ¦   «         ¬¦  «         t          |j        |¬	¦  «        }d d d ¦  «         n# 1 swxY w Y   |}t          r$|j         	                    t          ¦  «        |_        t          j        ||¦  «         d S )
Nr®   ÚioÚdataÚparquetzsimple.parquetÚrb)Úmode)ÚcontentrÁ   )r(   r÷   ÚopenÚserve_contentÚreadr   Úurlr	   r<   rv   rZ  r„   r…   )rÍ   Ú
httpserverÚdatapathr@   r$   rQ   rW   r‰   s           r#   Útest_parquet_read_from_urlz$TestBasic.test_parquet_read_from_urlÃ  s  € ð �VÒÐÝÔ Ñ'Ô'Ð'Ý�(�(˜4 ¨Ð4DÑEÔEÈDÐQÑQÔQð 	=ÐUVØ×$Ò$¨Q¯VªV©X¬XÐ$Ñ6Ô6Ð6Ý˜jœn°VÐ<Ñ<Ô<ˆBð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð ˆÝð 	?Ø'Ô/×6Ò6µvÑ>Ô>ˆHÔÝ
Ô˜b (Ñ+Ô+Ð+Ð+Ð+s   ¸?BÂBÂ
BN)rÕ   rÖ   r×   rÞ   râ   r(   r/   Úparametrizeré   rí   rõ   rý   r  r  r-  r2  r6  r;  r?  rC  rY  r^  ÚnetworkÚ
single_cpurl  r*   r%   r#   rÙ   rÙ   ˆ  s”  € € € € € ð	Oð 	Oð 	Oð0ð 0ð 0ð „[×Ò˜]Ð,NÐ,NÐ,NÑOÔOð
ð 
ñ PÔOð
ð
ð 
ð 
ð
ð 
ð 
ð&3ð 3ð 3ð.0ð 0ð 0ðð ð ð.$
ð $
ð $
ðL4ð 4ð 4ð4ð 4ð 4ð"0ð 0ð 0ð"0ð 0ð 0ð4ð 4ð 4ð .1ð .1ð .1ð` „[×ÒØð
	
ð 
	
ð 
	
ñô ð
ð 
ñô ð
ð0 „[ÔØ„[Ôð
,ð 
,ñ Ôñ Ôð
,ð 
,ð 
,r%   rÙ   c                   óT  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                              e¦   «         d¬	¦  «        e
j                             e d
¬	¦  «        e
j                             deej        g¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Ze
j        j        d„ ¦   «         Ze
j        j        d„ ¦   «         Ze
j        j        e
j                             ddgg g¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Ze
j                             ded„ gddg¬¦  «        d„ ¦   «         Zd„ Zd„ Z d„ Z!d„ Z"d „ Z#d!„ Z$d"„ Z%d#„ Z&e
j         '                    d$¦  «        d%„ ¦   «         Z(d&„ Z)e
j                             d'd(d)g e
j*        d*d+ge
j                             e+e,d,¬-¦  «        ¬.¦  «         e
j*         e-j-        d/d)d)d(d(¦  «         e-j-        d/d)d)d)d)¦  «        ge
j                             e.d0¬	¦  «        ¬.¦  «        g¦  «        d1„ ¦   «         Z/d2„ Z0d3„ Z1d4„ Z2d5„ Z3d6„ Z4d7„ Z5d8„ Z6d9S ):ÚTestParquetPyArrowc                 óÆ   — |}t          j        dd¦  «         t          j        ddd¬¦  «        }|                     d ¦  «        }||d<   g d¢|d	<   t          |||¦  «         d S )
Nr   r]  rJ   r6   úEurope/Brussels©rL   ÚtzÚdatetime_tz©TNTÚbool_with_none)r(   r÷   r=   rV   rú   r“   )rÍ   r+   ry   r’   rW   Údtis         r#   Ú
test_basiczTestParquetPyArrow.test_basicÓ  sw   € ØˆÝÔ˜I xÑ0Ô0Ð0õ Œm˜J°Ð6GÐHÑHÔHˆØ�nŠn˜TÑ"Ô"ˆØˆˆ=ÑØ1Ð1Ð1ˆÐÑå˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c           	      ó~   — |}t          j        ddd¬¦  «        |d<   t          ||||ddg         dddgi¬	¦  «         d S )
NrJ   r6   rs  rt  rv  ri   rn   r<   rë   )r=   rV   r“   )rÍ   r+   ry   r’   rW   s        r#   Útest_basic_subset_columnsz,TestParquetPyArrow.test_basic_subset_columnsß  si   € ð ˆåœM¨*¸aÐDUÐVÑVÔVˆˆ=ÑåØØØØ˜ 5Ð)Ô*Ø" X¨uÐ$5Ð6ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 ó>  — |                      |¬¦  «        }t          |t          ¦  «        sJ ‚t          |¦  «        }t	          |¦  «        }|                     ¦   «         }d |j        d<   |d                              d¦  «        |d<   t          j	        ||¦  «         d S )NrÁ   r   rt   zM8[us])
r   rŽ   rl   r   r   r  rƒ   rv   r„   r…   )rÍ   r+   ry   Ú	buf_bytesÚ
buf_streamÚresr‰   s          r#   Ú*test_to_bytes_without_path_or_buf_providedz=TestParquetPyArrow.test_to_bytes_without_path_or_buf_providedî  sš   € à×&Ò&¨bÐ&Ñ1Ô1ˆ	Ý˜)¥UÑ+Ô+Ð+Ð+Ð+å˜YÑ'Ô'ˆ
Ý˜:Ñ&Ô&ˆà—<’<‘>”>ˆØ-1ˆŒÐ)Ñ*Ø(0Ð1DÔ(E×(LÒ(LÈXÑ(VÔ(VˆÐ$Ñ%Ý
Ô˜c 8Ñ,Ô,Ð,Ð,Ð,r%   c                 óø   — t          j        t          j        d¦  «                             dd¦  «        t          d¦  «        ¬¦  «                             ¦   «         }|                      ||t          d|¦  «         d S )Né   rC   r6   Úaaar;   zDuplicate column names found©	r=   r>   rT   rU   ÚreshaperR   r  rÑ   r‘   ©rÍ   r+   r’   rW   s       r#   Útest_duplicate_columnsz)TestParquetPyArrow.test_duplicate_columnsû  sn   € åŒ\�"œ) B™-œ-×/Ò/°°1Ñ5Ô5½tÀE¹{¼{ÐKÑKÔK×PÒPÑRÔRˆØ×!Ò!Ø�•JÐ >À	ñ	
ô 	
ð 	
ð 	
ð 	
r%   c                 ó|   — t          j        dt          j        dd¬¦  «        i¦  «        }t          |||¦  «         d S )NrM   ú1 dayr6   rK   )r=   r>   Útimedelta_ranger“   r‡  s       r#   Útest_timedeltaz!TestParquetPyArrow.test_timedelta  s>   € ÝŒ\˜3¥Ô 2°7ÀAÐ FÑ FÔ FÐGÑHÔHˆÝ˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 óz   — t          j        dg d¢i¦  «        }|                      ||t          j        |¦  «         d S )NrM   ©rM   r4   rc   )r=   r>   rÔ   r   ÚArrowExceptionr‡  s       r#   Útest_unsupportedz#TestParquetPyArrow.test_unsupported  s?   € åŒ\˜3   Ð.Ñ/Ô/ˆð 	×*Ò*¨2¨rµ7Ô3IÈ9ÑUÔUÐUÐUÐUr%   c                 óî   — t          j        ddt           j        ¬¦  «        }t          j        |dg¬¦  «        }t
          r$|                      ||t          j        |¦  «         d S t          |||¦  «         d S )Nr5   é
   rG   Úfp16©ra  r<   )
rT   rU   Úfloat16r=   r>   r   rÔ   r   r�  r“   )rÍ   r+   r’   ra  rW   s        r#   Útest_unsupported_float16z+TestParquetPyArrow.test_unsupported_float16  s‚   € õ Œy˜˜B¥b¤jÐ1Ñ1Ô1ˆÝŒ\˜t¨f¨XÐ6Ñ6Ô6ˆÝð 	0Ø×.Ò.Ø�B�Ô.°	ñô ð ð ð õ ˜R ¨BÑ/Ô/Ð/Ð/Ð/r%   zqPyArrow does not cleanup of partial files dumps when unsupported dtypes are passed to_parquet function in windowsr   zfloat16 works on 15Ú	path_typec                 óh  — t          j        ddt           j        ¬¦  «        }t          j        |dg¬¦  «        } ||¦  «        }t          j        t          j        ¦  «        5  | 	                    ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j                             |¦  «        rJ ‚d S )Nr5   r’  rG   r“  r”  )rŠ   r$   )rT   rU   r•  r=   r>   r„   rÓ   r   r�  r   ÚosrŠ   Úisfile)rÍ   r+   r—  r’   ra  rW   rŠ   s          r#   Ú test_unsupported_float16_cleanupz3TestParquetPyArrow.test_unsupported_float16_cleanup  sà   € õ Œy˜˜B¥b¤jÐ1Ñ1Ô1ˆÝŒ\˜t¨f¨XÐ6Ñ6Ô6ˆàˆy˜Ñ#Ô#ˆÝÔ%¥gÔ&<Ñ=Ô=ð 	0ð 	0Ø�MŠM˜t¨BˆMÑ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0å”7—>’> $Ñ'Ô'Ð'Ð'Ð'Ð'Ð's   Á"BÂB
ÂB
c           
      ó  — t          j        t          j        t          d¦  «        ¦  «        t          j        g d¢t          j        g d¢¦  «        ¬¦  «        t          j        g d¢g d¢d¬¦  «        d	œ¦  «        }t          |||¦  «         d S )
NÚabcdef)r_   r7   r7   r_   Nr_   r^   rG   )NrN   rZ   NrZ   rN   )rN   rZ   rO   T)Ú
categoriesÚordered©rM   rN   rZ   )r=   r>   ÚCategoricalrR   ÚCategoricalDtyper“   r‡  s       r#   Útest_categoricalz#TestParquetPyArrow.test_categorical.  s¥   € åŒ\å”^¥D¨¡N¤NÑ3Ô3å”^Ø=Ð=Ð=ÝÔ-Ð.CÐ.CÐ.CÑDÔDðñ ô õ
 ”^Ø4Ð4Ð4Ø.˜˜Ø ðñ ô ðð ñ
ô 
ˆõ" 	˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 óŠ   — t          j        d¦  «        } |j        di |¤Ž}d|i}t          ||||j        › d�||¬¦  «         d S )NÚs3fsÚ
filesystemú/pyarrow.parquet©rŠ   r‹   rŒ   r*   )r(   r÷   ÚS3FileSystemr“   rû   )	rÍ   r@   Ús3_bucket_publicÚs3sor+   r’   r¥  Ús3Úkws	            r#   Útest_s3_roundtrip_explicit_fsz0TestParquetPyArrow.test_s3_roundtrip_explicit_fsC  su   € õ Ô" 6Ñ*Ô*ˆØˆTÔÐ&Ð& Ð&Ð&ˆØ˜BÐˆÝØØØØ$Ô)Ð;Ð;Ð;ØØð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 óJ   — d|i}t          |||d|j        › d�||¬¦  «         d S )NÚstorage_optionsús3://r§  r¨  ©r“   rû   )rÍ   r@   rª  r«  r+   r’   s         r#   Útest_s3_roundtripz$TestParquetPyArrow.test_s3_roundtripS  sP   € ð " 4Ð(ˆÝØØØØ@Ð)Ô.Ð@Ð@Ð@ØØð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   Úpartition_colr9   c                 óX  — t          j        d¦  «         |                     ¦   «         }|rX|                     t                               |t          j        ¦  «        ¦  «        }d}||                              |¦  «        ||<   t          ||||d|j	        › d�d|i|d |dœdd¬	¦	  «	         d S )
Nr¥  Úcategoryr±  z/parquet_dirr°  )rñ   r}   r°  Tr4   )r‰   rŠ   r‹   rŒ   r�   r†   )
r(   r÷   r  rv   ÚdictÚfromkeysrT   Úint32r“   rû   )	rÍ   r@   rª  r+   r´  r«  r’   Úexpected_dfÚpartition_col_types	            r#   Útest_s3_roundtrip_for_dirz,TestParquetPyArrow.test_s3_roundtrip_for_dir`  sÝ   € õ
 	Ô˜FÑ#Ô#Ð#à—n’nÑ&Ô&ˆð ð 	Ø%×,Ò,­T¯]ª]¸=Í"Ì(Ñ-SÔ-SÑTÔTˆKØ!+Ðà)4°]Ô)C×)JÒ)JØ"ñ*ô *ˆK˜Ñ&õ 	ØØØØ Ø<Ð)Ô.Ð<Ð<Ð<Ø*¨DÐ1à"/Ø#Ø#'ðð ð
 Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 ó  — t          j        d¦  «         t          ¦   «         }|                     |¦  «         t	          |¦  «        }|r&t
          s|j                             d¦  «        |_        t          j	        ||¦  «         d S )Nr   r¤   )
r(   r÷   r   r   r   r	   r<   rv   r„   r…   )rÍ   r@   r§   ÚbufferÚdf_from_bufs        r#   Útest_read_file_like_obj_supportz2TestParquetPyArrow.test_read_file_like_obj_support‚  s�   € ÝÔ˜IÑ&Ô&Ð&Ý‘”ˆØ×Ò˜VÑ$Ô$Ð$Ý" 6Ñ*Ô*ˆØð 	@Õ&:ð 	@Ø )Ô 1× 8Ò 8¸Ñ ?Ô ?ˆIÔÝ
Ô˜i¨Ñ5Ô5Ð5Ð5Ð5r%   c                 óœ  — t          j        d¦  «         |                     dd¦  «         |                     dd¦  «         t          j        t          d¬¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ÚHOMEÚTestingUserÚUSERPROFILEz.*TestingUser.*rž   z~/file.parquet)r(   r÷   Úsetenvr    ÚOSErrorr   r   )rÍ   r@   Úmonkeypatchs      r#   Útest_expand_userz#TestParquetPyArrow.test_expand_user‹  sH  € ÝÔ˜IÑ&Ô&Ð&Ø×Ò˜6 =Ñ1Ô1Ð1Ø×Ò˜=¨-Ñ8Ô8Ð8ÝŒ]�7Ð*<Ð=Ñ=Ô=ð 	+ð 	+ÝÐ)Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+åŒ]�7Ð*<Ð=Ñ=Ô=ð 	3ð 	3Ø× Ò Ð!1Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3s$   ÁA8Á8A<Á?A<ÂCÃCÃCc                 ó    — ddg}|}|                      ||d ¬¦  «         t          ||¦  «         t          |¦  «        j        |j        k    sJ ‚d S )Nrr   rn   ©rñ   r}   ©r   rœ   r   Úshape)rÍ   rô   r+   ry   rñ   rW   s         r#   Útest_partition_cols_supportedz0TestParquetPyArrow.test_partition_cols_supported”  s\   € à  %˜ˆØˆØ
�Š�h¨~È4ˆÑPÔPÐPÝ˜h¨Ñ7Ô7Ð7Ý˜HÑ%Ô%Ô+¨r¬xÒ7Ð7Ð7Ð7Ð7Ð7r%   c                 ó¢   — d}|g}|}|                      ||d ¬¦  «         t          ||¦  «         t          |¦  «        j        |j        k    sJ ‚d S )Nrr   rÊ  rË  )rÍ   rô   r+   ry   rñ   Úpartition_cols_listrW   s          r#   Útest_partition_cols_stringz-TestParquetPyArrow.test_partition_cols_stringœ  sb   € àˆØ-Ð.ÐØˆØ
�Š�h¨~È4ˆÑPÔPÐPÝ˜hÐ(;Ñ<Ô<Ð<Ý˜HÑ%Ô%Ô+¨r¬xÒ7Ð7Ð7Ð7Ð7Ð7r%   c                 ó   — | S r   r*   )Úxs    r#   ú<lambda>zTestParquetPyArrow.<lambda>¦  s   €  Q€ r%   ri   zpathlib.Path)Úidsc                 ó–   — d}|g}|} ||¦  «        }|                      ||¬¦  «         t          |¦  «        j        |j        k    sJ ‚d S )Nr:   )rñ   )r   r   rÌ  )	rÍ   rô   r+   r@   r—  rñ   rÏ  rW   rŠ   s	            r#   Útest_partition_cols_pathlibz.TestParquetPyArrow.test_partition_cols_pathlib¥  sa   € ð ˆØ-Ð.ÐØˆàˆy˜Ñ"Ô"ˆØ
�Š�dÐ+>ˆÑ?Ô?Ð?Ý˜DÑ!Ô!Ô'¨2¬8Ò3Ð3Ð3Ð3Ð3Ð3r%   c                 óT   — t          j        g g ¬¦  «        }t          |||¦  «         d S )N)rø   r<   rè   r‡  s       r#   Útest_empty_dataframez'TestParquetPyArrow.test_empty_dataframe³  s.   € åŒ\ ¨BÐ/Ñ/Ô/ˆÝ˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 óú   — dd l }t          j        dddgi¦  «        } |j         |j        d |j        ¦   «         ¬¦  «        g¦  «        }|                     t          ¦  «        }t          |||d|i|¬¦  «         d S )Nr   rÒ  r4   ©Útyper™   r  )	r   r=   r>   r™   ÚfieldÚbool_rv   rr   r“   )rÍ   r+   r’   r   rW   r™   Úout_dfs          r#   Útest_write_with_schemaz)TestParquetPyArrow.test_write_with_schema¸  s�   € ØˆˆˆåŒ\˜3  A ˜-Ñ(Ô(ˆØ�”  ¤¨s¸¸¼¹¼Ð!IÑ!IÔ!IÐ JÑKÔKˆØ—’�4‘”ˆÝØ�	˜2¨X°vÐ,>Èð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c           	      óâ  — t          j        d¦  «         t          j        t          j        g d¢d¬¦  «        t          j        g d¢d¬¦  «        t          j        g d¢d¬¦  «        dœ¦  «        }|r0t
          r)t          ||||                     d	d
i¦  «        ¬¦  «         nt          |||¦  «         t          j        dt          j        g d¢d¬¦  «        i¦  «        }t          |||¦  «         d S )Nr   r3   rN  rG   ÚUInt32r[   ri   r   rZ   r¤   ©r‰   rM   rF  )r(   r÷   r=   r>   rÛ   r	   r“   rv   )rÍ   r+   r§   r’   rW   s        r#   Ú test_additional_extension_arraysz3TestParquetPyArrow.test_additional_extension_arraysÂ  s  € õ 	Ô˜IÑ&Ô&Ð&ÝŒ\å”Y˜y˜y˜y°Ð8Ñ8Ô8Ý”Y˜y˜y˜y°Ð9Ñ9Ô9Ý”YÐ/Ð/Ð/°xÐ@Ñ@Ô@ðð ñ
ô 
ˆð ð 	0Õ"6ð 	0Ý˜R ¨B¸¿ºÀCÈÀ<Ñ9PÔ9PÐQÑQÔQÐQÐQå˜R ¨BÑ/Ô/Ð/åŒ\˜3¥¤	¨/¨/¨/ÀÐ IÑ IÔ IÐJÑKÔKˆÝ˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 óê  — t          j        d¦  «         t          j        dt          j        g d¢d¬¦  «        i¦  «        }t          j        d|¦  «        5  |rVt          r|                     d¦  «        }n|                     d|› d	�¦  «        }|j                             d¦  «        |_        n|                     d|› d	�¦  «        }t          ||||¬
¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rM   r[   ústring[pyarrow]rG   Ústring_storager¤   zstring[ú]râ  )
r(   r÷   r=   r>   rÛ   r¦   r	   rv   r<   r“   )rÍ   r+   ræ  r§   r’   rW   r‰   s          r#   Ú test_pyarrow_backed_string_arrayz3TestParquetPyArrow.test_pyarrow_backed_string_arrayÕ  s^  € õ 	Ô˜IÑ&Ô&Ð&ÝŒ\˜3¥¤	Ð*:Ð*:Ð*:ÐBSÐ TÑ TÔ TÐUÑVÔVˆÝÔÐ/°Ñ@Ô@ð 		Cð 		CØ!ð BÝ'ð FØ!Ÿyšy¨Ñ/Ô/�H�Hà!ŸyšyÐ)D°>Ð)DÐ)DÐ)DÑEÔE�HØ#+Ô#3×#:Ò#:¸5Ñ#AÔ#A�Ô Ð àŸ9š9Ð%@¨~Ð%@Ð%@Ð%@ÑAÔA�Ý˜R ¨B¸ÐBÑBÔBÐBð		Cð 		Cð 		Cñ 		Cô 		Cð 		Cð 		Cð 		Cð 		Cð 		Cð 		Cð 		Cøøøð 		Cð 		Cð 		Cð 		Cð 		Cð 		Cs   ÁBC(Ã(C,Ã/C,c                 óL  — t          j        d¦  «         t          j        t          j                             g d¢¦  «        t          j        ddd¬¦  «        t          j                             t          j        ddd¬¦  «        ¦  «        dœ¦  «        }t          |||¦  «         d S )	Nr   ))r   r4   )r4   r5   )r6   rC   z
2012-01-01r6   ÚD)rL   r  rC   )rZ   rO   rP   )
r(   r÷   r=   r>   ÚIntervalIndexr  Úperiod_rangeÚfrom_breaksrV   r“   r‡  s       r#   Útest_additional_extension_typesz2TestParquetPyArrow.test_additional_extension_typesæ  s£   € õ 	Ô˜IÑ&Ô&Ð&ÝŒ\åÔ%×1Ò1Ð2JÐ2JÐ2JÑKÔKÝ”_ \¸1À3ÐGÑGÔGåÔ%×1Ò1Ý”M ,¸ÀÐDÑDÔDñô ð	ð ñ	
ô 	
ˆõ 	˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 óŠ   — d}t          j        dt          j        ddd¬¦  «        i¦  «        }t          |||d|i¬¦  «         d S )	Nz2.6rM   z
2017-01-01Ú1nsr’  ©r  rL   Úversionrç   )r=   r>   rV   r“   )rÍ   r+   r’   ÚverrW   s        r#   Útest_timestamp_nanosecondsz-TestParquetPyArrow.test_timestamp_nanosecondsö  sQ   € ð ˆÝŒ\˜3¥¤¨lÀÐPRÐ SÑ SÔ SÐTÑUÔUˆÝ˜˜Y¨¸)ÀSÐ9IÐJÑJÔJÐJÐJÐJr%   c                 óh   — d|gz  }t          j        |d|i¬¦  «        }t          |||d¬¦  «         d S )Né   Úindex_as_col©rø   ra  F)r‚   rè   )rÍ   r+   r{   r’   ÚidxrW   s         r#   Útest_timezone_aware_indexz,TestParquetPyArrow.test_timezone_aware_indexý  sF   € ØÐ+Ð,Ñ,ˆÝŒ\ ¨>¸3Ð*?Ð@Ñ@Ô@ˆÝ˜˜Y¨¸Ð>Ñ>Ô>Ð>Ð>Ð>r%   c                 ó  — t          j        d¦  «         t          j        dt	          t          d¦  «        ¦  «        i¦  «        }|                     ||¬¦  «         t          ||dg¬¦  «        }t          |¦  «        dk    sJ ‚d S )Nr   rM   r6   rÁ   ©rM   rò   r   ©ró   r4   )	r(   r÷   r=   r>   rR   rS   r   r   r  )rÍ   r+   r’   rW   rÄ   s        r#   Útest_filter_row_groupsz)TestParquetPyArrow.test_filter_row_groups  s}   € åÔ˜IÑ&Ô&Ð&ÝŒ\˜3¥¥U¨1¡X¤X¡¤Ð/Ñ0Ô0ˆØ
�Š�i¨ˆÑ+Ô+Ð+Ý˜i¨°nÐ5EÐFÑFÔFˆÝ�6‰{Œ{˜aÒÐÐÐÐÐr%   z2ignore:make_block is deprecated:DeprecationWarningc                 ó`  — dd l }|}t          j        dddd¬¦  «        }|                     d ¦  «        }||d<   g d¢|d	<   |j                             |¦  «        }|                     t          j        ¬
¦  «        }|d                              d¦  «        |d<   t          |||ddi|¬¦  «         d S )Nr   rJ   r6   rs  re   )rL   ru  rg   rv  rw  rx  )Útypes_mapperrt   ztimestamp[us][pyarrow]rM  r   ©r$   r‹   r‰   )
r   r=   rV   rú   ÚTableÚfrom_pandasÚ	to_pandasÚ
ArrowDtyperv   r“   )	rÍ   r+   ry   r’   r   rW   ry  Úpa_tabler‰   s	            r#   Ú&test_read_dtype_backend_pyarrow_configz9TestParquetPyArrow.test_read_dtype_backend_pyarrow_config
  sß   € àˆˆˆàˆõ Œm˜J°Ð6GÈdÐSÑSÔSˆØ�nŠn˜TÑ"Ô"ˆØˆˆ=ÑØ1Ð1Ð1ˆÐÑà”=×,Ò,¨RÑ0Ô0ˆØ×%Ò%µ2´=Ð%ÑAÔAˆØ(0Ð1DÔ(E×(LÒ(LØ$ñ)
ô )
ˆÐ$Ñ%õ 	ØØØØ(¨)Ð4Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 óú   — t          j        dddgit          j        ddgd¬¦  «        d¬	¦  «        }|                     ¦   «         }|j                             d¦  «        |_        t          |||d
di|¬¦  «         d S )NrM   r4   r5   r6   rC   Útest©rû   zint64[pyarrow])rø   rH   rM  r   r  )r=   r>   r?   r  rø   rv   r“   )rÍ   r+   r’   rW   r‰   s        r#   Ú,test_read_dtype_backend_pyarrow_config_indexz?TestParquetPyArrow.test_read_dtype_backend_pyarrow_config_index$  s—   € ÝŒ\Ø�1�a�&ˆM¥¤¨1¨a¨&°vÐ!>Ñ!>Ô!>ÐFVð
ñ 
ô 
ˆð —7’7‘9”9ˆà!œ×.Ò.Ð/?Ñ@Ô@ˆŒÝØØØØ(¨)Ð4Øð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   r<   r   r4   r\   r]   z*https://github.com/apache/arrow/pull/44171)r    r   r   éÛ  z/pa.pandas_compat passes 'datetime64' to .astypec           	      ó´   — t          j        t          d¦  «        t          t          dd¦  «        ¦  «        dœ¦  «        }||_        t          |||¦  «         d S )NrB   r4   rC   rà   rá   )rÍ   r+   r<   r’   rW   s        r#   Útest_columns_dtypes_not_invalidz2TestParquetPyArrow.test_columns_dtypes_not_invalid3  sP   € õ2 Œ\¥T¨%¡[¤[½½eÀAÀq¹k¼kÑ9JÔ9JÐKÐKÑLÔLˆàˆŒ
Ý˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 ó~   — t          j        t          j        g d¢d¬¦  «        ¬¦  «        }t          |||¦  «         d S )Nr   zcustom namer
  r   )r=   r>   r?   r“   r‡  s       r#   Útest_empty_columnsz%TestParquetPyArrow.test_empty_columnsQ  s?   € åŒ\¥¤¨¨¨¸}Ð MÑ MÔ MÐNÑNÔNˆÝ˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 ó¼   — t          j        ddgi¬¦  «        }ddi|_        |                     ||¬¦  «         t	          ||¬¦  «        }|j        |j        k    sJ ‚d S )Nr4   ©ra  Útest_attributerÁ   )r=   r>   Úattrsr   r   )rÍ   r’   r+   rW   Únew_dfs        r#   Útest_df_attrs_persistencez,TestParquetPyArrow.test_df_attrs_persistenceV  si   € ÝŒ\  A 3˜xÐ(Ñ(Ô(ˆØ$ aÐ(ˆŒØ
�Š�i¨ˆÑ+Ô+Ð+Ý˜i°Ð3Ñ3Ô3ˆØŒ|˜rœxÒ'Ð'Ð'Ð'Ð'Ð'r%   c           	      óþ  — t          j        dddgiddg¬¦  «        }|                     ||¬¦  «         t          j        dd¦  «        5  t	          ||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        t          j        ¬	¦  «        }t          j        dddgi|t          j        ddg|¬
¦  «        t          j        dgt          r	|st          n|¬
¦  «        ¬¦  «        }t          j        ||¦  «         d S )NrM   rÒ  ÚyrN   )ra  rø   rÁ   úfuture.infer_stringT©Úna_valuerG   )ra  rH   rø   r<   )r=   r>   r   r¦   r   ÚStringDtyperT   ru   r?   r	   rZ  r„   r…   )rÍ   r’   r+   r§   rW   rÄ   rH   r‰   s           r#   Útest_string_inferencez(TestParquetPyArrow.test_string_inference]  sJ  € åŒ\  c¨3 ZÐ0¸¸c¸
ÐCÑCÔCˆØ
�Š�i¨ˆÑ+Ô+Ð+ÝÔÐ4°dÑ;Ô;ð 	8ð 	8Ý! )°BÐ7Ñ7Ô7ˆFð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8å”­¬Ð/Ñ/Ô/ˆÝ”<Ø˜˜S�zÐ"ØÝ”(˜C ˜:¨UÐ3Ñ3Ô3Ý”HØ�å2ÐXÐ;MÐX•F�FÐSXðñ ô ð	

ñ 

ô 

ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/s   Á	A'Á'A+Á.A+c           	      ó°  — dd l }t          j        dt          d¦  «        gid¬¦  «        }|                     ||                     d|                     d¦  «        fg¦  «        ¬¦  «         t          |¦  «        }t          rt          j        ddgid	¬¦  «        }n&t          j        dt          d¦  «        gid
¬¦  «        }t          j
        ||¦  «         d S )Nr   rM   z123.00rå  rG   rö  )r™   Ú123ri   rZ  )r   r=   r>   r   r   r™   Ú
decimal128r   r	   r„   r…   )rÍ   r’   r+   rW   rÄ   r‰   s         r#   Útest_roundtrip_decimalz)TestParquetPyArrow.test_roundtrip_decimalq  sØ   € àÐÐÐåŒ\˜3¥¨Ñ!2Ô!2Ð 3Ð4Ð<MÐNÑNÔNˆØ
�Š�i¨¯	ª	°C¸¿ºÀqÑ9IÔ9IÐ3JÐ2KÑ(LÔ(LˆÑMÔMÐMÝ˜iÑ(Ô(ˆÝð 	PÝ”| S¨5¨' N¸(ÐCÑCÔCˆHˆHå”| S­7°8Ñ+<Ô+<Ð*=Ð$>ÀhÐOÑOÔOˆHÝ
Ô˜f hÑ/Ô/Ð/Ð/Ð/r%   c           
      ó:  — dd l }dd lm} |                     d|                     g d¢|                     ¦   «         ¦  «        i¦  «        }|                     ||¦  «         t          j        dd¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j
        dg d¢it          j        t          j        ¬¦  «        t          j        dgt          j        t          j        ¬¦  «        ¬¦  «        ¬¦  «        }t          j        ||¦  «         d S )	Nr   rM   )NrN   rZ   r  Tr  rG   )ra  rH   r<   )r   Úpyarrow.parquetrb  rT  rÜ   Úlarge_stringrU  r=   r¦   r   r>   r  rT   ru   r?   r„   r…   )rÍ   r’   r+   rV  rT  rÄ   r‰   s          r#   Ú#test_infer_string_large_string_typez6TestParquetPyArrow.test_infer_string_large_string_type~  sT  € àÐÐÐØ$Ð$Ð$Ð$Ð$Ð$à—’˜#˜rŸxšxÐ(8Ð(8Ð(8¸"¿/º/Ñ:KÔ:KÑLÔLÐMÑNÔNˆØ
�Š�u˜iÑ(Ô(Ð(åÔÐ4°dÑ;Ô;ð 	-ð 	-Ý! )Ñ,Ô,ˆFð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-å”<ØÐ'Ð'Ð'Ð(Ý”.­"¬&Ð1Ñ1Ô1Ý”H˜c˜U­"¬.Å"Ä&Ð*IÑ*IÔ*IÐJÑJÔJð
ñ 
ô 
ˆõ
 	Ô˜f hÑ/Ô/Ð/Ð/Ð/s   Á5BÂBÂBc                 óÖ  — t          j        dd¦  «        }t          j        d¦  «        }|                     t          j        ddd¦  «        g|                     d¦  «        ¬¦  «        }|                     |gdg¬	¦  «        }|                     ||¦  «         t          |¦  «        }t          j	        dt          j        ddd¦  «        gid
¬¦  «        }t          j        ||¦  «         d S )Nr   ú13.0.0rE  i@  r4   ÚusrÚ  Ú	timestampr  zdatetime64[us])ra  rH   )r(   r÷   rÜ   rs   r)  rT  rU  r   r=   r>   r„   r…   )rÍ   r’   r+   rV  ÚarrrT  rÄ   r‰   s           r#   Útest_non_nanosecond_timestampsz1TestParquetPyArrow.test_non_nanosecond_timestampsœ  sà   € åÔ  ¨HÑ5Ô5ˆÝÔ Ð!2Ñ3Ô3ˆà�hŠh�Ô)¨$°°1Ñ5Ô5Ð6¸R¿\º\È$Ñ=OÔ=OˆhÑPÔPˆØ—’˜#˜ { m�Ñ4Ô4ˆØ
�Š�u˜iÑ(Ô(Ð(Ý˜iÑ(Ô(ˆÝ”<Ø¥Ô 1°$¸¸1Ñ =Ô =Ð>Ð?Ø"ð
ñ 
ô 
ˆõ 	Ô˜f hÑ/Ô/Ð/Ð/Ð/r%   c           	      ó  — t          j        dd¦  «        } |j        d |j         |j        ¦   «          |j        ¦   «         ¦  «        fg¦  «        }t          j        dddiidddiig¦  «        }t          |||d|id	d
dii¬¦  «         d S )Nr   r'  r7   r9   r4   r:   r5   r™   Úto_pandas_kwargsÚmaps_as_pydictsr   )rŒ   r‹   )	r(   r÷   r™   Úmap_ri   rG  r=   r>   r“   )rÍ   r+   r’   r   r™   rW   s         r#   Útest_maps_as_pydictsz'TestParquetPyArrow.test_maps_as_pydicts«  sº   € ÝÔ% i°Ñ:Ô:ˆà�”Ø�\�W”\ . '¤.Ñ"2Ô"2°M°G´M±O´OÑDÔDÐEÐFñ
ô 
ˆõ Œ\˜E C¨ 8Ð,¨u°s¸A°hÐ.?Ð@ÑAÔAˆÝØØØØ" FÐ+Ø+Ð.?ÀÐ-JÐKð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   N)7rÕ   rÖ   r×   rz  r|  r�  rˆ  rŒ  r�  r–  r(   r/   r0   r   Úskipifr   rm  r¤   r�   r�   r›  r£  ro  r®  r³  r¼  rÀ  rÈ  rÍ  rÐ  rÖ  rØ  rß  rã  rè  rî  rô  rú  rþ  Úfilterwarningsr  r  r    r
   ÚNotImplementedErrorrs   r   r  r  r  r  r!  r%  r+  r0  r*   r%   r#   rq  rq  Ò  s?  € € € € € ð
,ð 
,ð 
,ð
ð 
ð 
ð-ð -ð -ð
ð 
ð 
ð,ð ,ð ,ðVð Vð Vð
0ð 
0ð 
0ð „[×ÒØÐÑÔð?ð ñ ô ð „[×ÒÐ0Ð0Ð9NÐÑOÔOØ„[×Ò˜[¨3°´Ð*=Ñ>Ô>ð
(ð 
(ñ ?Ô>ñ PÔOñô ð
(ð,ð ,ð ,ð* „[Ôð
ð 
ñ Ôð
ð „[Ôð

ð 

ñ Ôð

ð „[ÔØ„[×Ò˜_°¨u°b¨kÑ:Ô:ð
ð 
ñ ;Ô:ñ Ôð
ð@6ð 6ð 6ð3ð 3ð 3ð8ð 8ð 8ð8ð 8ð 8ð „[×ÒØ�c˜;˜;Ð'¨h¸Ð-Gð ñ ô ð	4ð 	4ñô ð	4ð,ð ,ð ,ð

ð 
ð 
ð,ð ,ð ,ð&Cð Cð Cð",ð ,ð ,ð Kð Kð Kð?ð ?ð ?ð
 ð  ð  ð „[×ÒÐ TÑUÔUð
ð 
ñ VÔUð
ð2
ð 
ð 
ð „[×ÒØà�ˆFØˆFŒLØ˜Ð Ø”k×'Ò'Ø(Ø.ØGð (ñ ô ðñ ô ð ˆFŒLà%�HÔ% d¨A¨q°!°QÑ7Ô7Ø%�HÔ% d¨A¨q°!°QÑ7Ô7ðð ”k×'Ò'Ø(ØLð (ñ ô ð	ñ 	ô 	ð	
ñô ð0,ð ,ñ1ô ð0,ð,ð ,ð ,ð
(ð (ð (ð0ð 0ð 0ð(0ð 0ð 0ð0ð 0ð 0ð<0ð 0ð 0ð
ð 
ð 
ð 
ð 
r%   rq  c                   ó2  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej	         
                     e¦   «         oeoe oed¬¦  «        d„ ¦   «         Zd	„ Zej	        j        d
„ ¦   «         Zej	         
                     e¦   «         oeoe oed¬¦  «        d„ ¦   «         Zej	         
                     e¦   «         oeoe oed¬¦  «        d„ ¦   «         Zej	         
                     e¦   «         oeoe oed¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestParquetFastParquetc                 ó  — t          j        d¦  «        }|                     d¦  «        }|}t          j        dd|¬¦  «        }|                     d ¦  «        }||d<   t          j        dd¬¦  «        |d	<   t          |||¦  «         d S )
NÚpytzz
US/EasternrJ   r6   rt  rv  rŠ  rK   Ú	timedelta)r(   r÷   Útimezoner=   rV   rú   r‹  r“   )	rÍ   r1   ry   r"   r’   r7  ru  rW   ry  s	            r#   rz  z!TestParquetFastParquet.test_basic¼  sŠ   € ÝÔ" 6Ñ*Ô*ˆà�]Š]˜<Ñ(Ô(ˆØˆåŒm˜J°°bÐ9Ñ9Ô9ˆØ�nŠn˜TÑ"Ô"ˆØˆˆ=ÑÝÔ,¨W¸aÐ@Ñ@Ô@ˆˆ;‰Ý˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c           	      óº  — t          j        t          d¦  «        t          t          dd¦  «        ¦  «        dœ¦  «        }t          }d}ddg|_        |                      |||||¦  «         ddg|_        |                      |||||¦  «         t          j        d	dddd¦  «        t          j        d	dddd¦  «        g|_        |                      |||||¦  «         d S )
NrB   r4   rC   rà   r/  r   r\   r]   r  )r=   r>   rR   rS   r0  r<   rÑ   rs   )rÍ   r1   r’   rW   Úerrr¡   s         r#   Útest_columns_dtypes_invalidz2TestParquetFastParquet.test_columns_dtypes_invalidÈ  sç   € ÝŒ\¥T¨%¡[¤[½½eÀAÀq¹k¼kÑ9JÔ9JÐKÐKÑLÔLˆåˆØ,ˆð ˜�VˆŒ
Ø×!Ò! " b¨#¨s°IÑ>Ô>Ð>ð ˜fÐ%ˆŒ
Ø×!Ò! " b¨#¨s°IÑ>Ô>Ð>õ Ô˜d A q¨!¨QÑ/Ô/ÝÔ˜d A q¨!¨QÑ/Ô/ð
ˆŒ
ð 	×!Ò! " b¨#¨s°IÑ>Ô>Ð>Ð>Ð>r%   c                 óü   — t          j        t          j        d¦  «                             dd¦  «        t          d¦  «        ¬¦  «                             ¦   «         }d}|                      ||t          ||¦  «         d S )Nrƒ  rC   r6   r„  r;   z9Cannot create parquet dataset with duplicate column namesr…  ©rÍ   r1   r’   rW   r¡   s        r#   rˆ  z-TestParquetFastParquet.test_duplicate_columnsÝ  sg   € åŒ\�"œ) B™-œ-×/Ò/°°1Ñ5Ô5½tÀE¹{¼{ÐKÑKÔK×PÒPÑRÔRˆØIˆØ×!Ò! " b­*°c¸9ÑEÔEÐEÐEÐEr%   c                 ó¨   — t          j        dg d¢i¦  «        }t          j        ddt          j        dgid¬¦  «        }t	          ||||d¬¦  «         d S )	NrM   )TNFrI  g        r•  rG   F)r‰   r‚   )r=   r>   rT   ru   r“   )rÍ   r1   r"   r’   rW   r‰   s         r#   Útest_bool_with_nonez*TestParquetFastParquet.test_bool_with_noneã  s`   € ÝŒ\˜3Ð 3Ð 3Ð 3Ð4Ñ5Ô5ˆÝ”<  s­B¬F°CÐ&8Ð 9ÀÐKÑKÔKˆõ 	˜˜Y¨°XÈ5ÐQÑQÔQÐQÐQÐQr%   c                 ó  — t          j        dt          j        ddd¬¦  «        i¦  «        }|                      ||t          d |¦  «         t          j        dg d¢i¦  «        }d}|                      ||t          ||¦  «         d S )NrM   Ú2013ÚMr6   rñ  rŽ  z"Can't infer object conversion type)r=   r>   rì  rÑ   r‘   r>  s        r#   r�  z'TestParquetFastParquet.test_unsupportedê  s„   € åŒ\˜3¥¤°¸SÈ!Ð LÑ LÔ LÐMÑNÔNˆà×!Ò! " b­*°d¸IÑFÔFÐFõ Œ\˜3   Ð.Ñ/Ô/ˆØ2ˆØ×!Ò! " b­*°c¸9ÑEÔEÐEÐEÐEr%   rÆ   r   c                 ó’   — t          j        dt          j        t          d¦  «        ¦  «        i¦  «        }t	          |||¦  «         d S )NrM   rB   )r=   r>   r¡  rR   r“   )rÍ   r1   r’   rW   s       r#   r£  z'TestParquetFastParquet.test_categoricalõ  s@   € õ Œ\˜3¥¤­t°E©{¬{Ñ ;Ô ;Ð<Ñ=Ô=ˆÝ˜˜Y¨Ñ+Ô+Ð+Ð+Ð+r%   c                 óì   — dt          t          d¦  «        ¦  «        i}t          j        |¦  «        }|                     ||d d¬¦  «         t          ||dg¬¦  «        }t          |¦  «        dk    sJ ‚d S )NrM   r6   r4   )r$   r}   Úrow_group_offsetsrü  rý  )rR   rS   r=   r>   r   r   r  )rÍ   r1   r’   rO   rW   rÄ   s         r#   rþ  z-TestParquetFastParquet.test_filter_row_groups   st   € Ø•$•u˜Q‘x”x‘.”.Ð!ˆÝŒ\˜!‰_Œ_ˆØ
�Š�i¨¸ÐPQˆÑRÔRÐRÝ˜i¨°nÐ5EÐFÑFÔFˆÝ�6‰{Œ{˜aÒÐÐÐÐÐr%   c           
      óL   — t          |||d|j        › d�d|id |dœ¬¦  «         d S )Nr±  z/fastparquet.parquetr°  )r}   r°  r¨  r²  )rÍ   r@   rª  r«  r1   r’   s         r#   r³  z(TestParquetFastParquet.test_s3_roundtrip  sS   € õ 	ØØØØDÐ)Ô.ÐDÐDÐDØ*¨DÐ1Ø)-À$ÐGÐGð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 óþ   — ddg}|}|                      |d|d ¬¦  «         t          j                             |¦  «        sJ ‚dd l} |j        t          |¦  «        d¦  «        j        }t          |¦  «        dk    sJ ‚d S )Nrr   rn   r   ©r$   rñ   r}   r   Fr5   ©	r   r™  rŠ   Úexistsr   ÚParquetFiler¤   Úcatsr  ©rÍ   rô   r1   ry   rñ   rW   r   Úactual_partition_colss           r#   rÍ  z4TestParquetFastParquet.test_partition_cols_supported  sŸ   € ð ! %˜ˆØˆØ
�ŠØØ Ø)Øð	 	ñ 	
ô 	
ð 	
õ Œw�~Š~˜hÑ'Ô'Ð'Ð'Ð'ØÐÐÐà 7 Ô 7½¸H¹¼ÀuÑ MÔ MÔ RÐÝÐ(Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ð.Ð.r%   c                 óú   — d}|}|                      |d|d ¬¦  «         t          j                             |¦  «        sJ ‚dd l} |j        t          |¦  «        d¦  «        j        }t          |¦  «        dk    sJ ‚d S )Nrr   r   rI  r   Fr4   rJ  rN  s           r#   rÐ  z1TestParquetFastParquet.test_partition_cols_string*  s›   € ð  ˆØˆØ
�ŠØØ Ø)Øð	 	ñ 	
ô 	
ð 	
õ Œw�~Š~˜hÑ'Ô'Ð'Ð'Ð'ØÐÐÐà 7 Ô 7½¸H¹¼ÀuÑ MÔ MÔ RÐÝÐ(Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ð.Ð.r%   c                 óþ   — ddg}|}|                      |dd |¬¦  «         t          j                             |¦  «        sJ ‚dd l} |j        t          |¦  «        d¦  «        j        }t          |¦  «        dk    sJ ‚d S )Nrr   rn   r   )r$   r}   Úpartition_onr   Fr5   rJ  rN  s           r#   Útest_partition_on_supportedz2TestParquetFastParquet.test_partition_on_supportedA  sŸ   € ð ! %˜ˆØˆØ
�ŠØØ ØØ'ð	 	ñ 	
ô 	
ð 	
õ Œw�~Š~˜hÑ'Ô'Ð'Ð'Ð'ØÐÐÐà 7 Ô 7½¸H¹¼ÀuÑ MÔ MÔ RÐÝÐ(Ñ)Ô)¨QÒ.Ð.Ð.Ð.Ð.Ð.r%   c                 ó²   — ddg}|}d}t          j        t          |¬¦  «        5  |                     |dd ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrr   rn   zYCannot use both partition_on and partition_cols. Use partition_cols for partitioning datarž   r   )r$   r}   rR  rñ   )r(   r    r‘   r   )rÍ   rô   r1   ry   rñ   rW   r¡   s          r#   Ú3test_error_on_using_partition_cols_and_partition_onzJTestParquetFastParquet.test_error_on_using_partition_cols_and_partition_onX  sÁ   € ð ! %˜ˆØˆð ð 	õ Œ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�MŠMØØ$Ø Ø+Ø-ð ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¤AÁAÁAc                 óz   — t          j        ¦   «         }|                     ¦   «         }t          ||||¬¦  «         d S )Nrâ  )r=   r>   r  r“   )rÍ   r1   r’   rW   r‰   s        r#   rØ  z+TestParquetFastParquet.test_empty_dataframek  s7   € åŒ\‰^Œ^ˆØ—7’7‘9”9ˆÝ˜˜Y¨°XÐ>Ñ>Ô>Ð>Ð>Ð>r%   c                 ó¨   — d|gz  }t          j        |d|i¬¦  «        }|                     ¦   «         }d|j        _        t          ||||¬¦  «         d S )Nrö  r÷  rø  rø   râ  )r=   r>   r  rø   rû   r“   )rÍ   r1   r{   r"   r’   rù  rW   r‰   s           r#   rú  z0TestParquetFastParquet.test_timezone_aware_indexq  s_   € ð Ð+Ð,Ñ,ˆåŒ\ ¨>¸3Ð*?Ð@Ñ@Ô@ˆà—7’7‘9”9ˆØ%ˆŒÔÝ˜˜Y¨°XÐ>Ñ>Ô>Ð>Ð>Ð>r%   c                 ó(  — t          j        |¦  «                             d¦  «         t          j        t
          ¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «                             d¬¦  «         d S )Ns   breakitr   rÁ   F)Ú
missing_ok)r�   r�   Úwrite_bytesr„   rÓ   Ú	Exceptionr   Úunlink)rÍ   r’   s     r#   Ú$test_close_file_handle_on_read_errorz;TestParquetFastParquet.test_close_file_handle_on_read_error|  sÂ   € ÝŒ�YÑÔ×+Ò+¨JÑ7Ô7Ð7ÝÔ%¥iÑ0Ô0ð 	:ð 	:Ý˜¨=Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ 	Œ�YÑÔ×&Ò&°%Ð&Ñ8Ô8Ð8Ð8Ð8s   ÁAÁA#Á&A#c                 ó  — t          j        ddgddgdœ¬¦  «        }t          |d¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t	          ||¬¦  «        }t          j        ||¦  «         d S )Nr   r4   r8   r  ÚwbrÁ   )r=   r>   rf  r   r   r„   r…   )rÍ   r$   r’   rW   rQ   rÄ   s         r#   Útest_bytes_file_namez+TestParquetFastParquet.test_bytes_file_nameƒ  sÅ   € åŒ\ a¨ V°1°a°&Ð9Ð9Ð:Ñ:Ô:ˆÝ�)˜TÑ"Ô"ð 	 aØ�MŠM˜!ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ˜i°Ð7Ñ7Ô7ˆÝ
Ô˜f bÑ)Ô)Ð)Ð)Ð)s   ­AÁAÁAc                 óÖ  — t          j        d¦  «         t          j        ddgddgdœ¬¦  «        }t          j        t
          d¬¦  «        5  |                     |dd¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         	                    d
¦  «         t          j        t
          d¬¦  «        5  t          |dd¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r4   r8   r  zfilesystem is not implementedrž   r7   ©r$   r¦  r\   )r(   r÷   r=   r>   r    r3  r   r�   r�   rZ  r   ©rÍ   r’   rW   s      r#   Útest_filesystem_notimplementedz5TestParquetFastParquet.test_filesystem_notimplementedŒ  sŽ  € ÝÔ˜MÑ*Ô*Ð*ÝŒ\ a¨ V°1°a°&Ð9Ð9Ð:Ñ:Ô:ˆÝŒ]Õ.Ð6UÐVÑVÔVð 	Mð 	MØ�MŠM˜)¨MÀeˆMÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mõ 	Œ�YÑÔ×+Ò+¨FÑ3Ô3Ð3ÝŒ]Õ.Ð6UÐVÑVÔVð 	Lð 	LÝ˜¨=ÀUÐKÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ló$   ÁA1Á1A5Á8A5Â>CÃC"Ã%C"c                 óÖ  — t          j        d¦  «         t          j        ddgddgdœ¬¦  «        }t          j        t
          d¬¦  «        5  |                     |dd¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         	                    d
¦  «         t          j        t
          d¬¦  «        5  t          |dd¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r4   r8   r  z1filesystem must be a pyarrow or fsspec FileSystemrž   r7   rb  r\   )r(   r÷   r=   r>   r    r‘   r   r�   r�   rZ  r   rc  s      r#   Útest_invalid_filesystemz.TestParquetFastParquet.test_invalid_filesystem–  sž  € ÝÔ˜IÑ&Ô&Ð&ÝŒ\ a¨ V°1°a°&Ð9Ð9Ð:Ñ:Ô:ˆåŒ]ÝÐQð
ñ 
ô 
ð 	Ið 	Ið �MŠM˜)¨IÀ%ˆMÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Iõ
 	Œ�YÑÔ×+Ò+¨FÑ3Ô3Ð3ÝŒ]ÝÐQð
ñ 
ô 
ð 	Hð 	Hõ ˜¨9ÀÐGÑGÔGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hre  c                 ó*  — t          j        d¦  «        }t          j        ddgddgdœ¬¦  «        }t          j        t
          d¬¦  «        5  |                     |d|                     ¦   «         d	d
i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        |¦  «         
                    d¦  «         t          j        t
          d¬¦  «        5  t          |d|                     ¦   «         d	d
i¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
pyarrow.fsr   r4   r8   r  z8storage_options not supported with a pyarrow FileSystem.rž   r   r7   r_   )r$   r¦  r°  r\   )r(   r÷   r=   r>   r    r3  r   ÚLocalFileSystemr�   r�   rZ  r   )rÍ   r’   Úpa_fsrW   s       r#   Ú.test_unsupported_pa_filesystem_storage_optionszETestParquetFastParquet.test_unsupported_pa_filesystem_storage_options¥  sµ  € ÝÔ# LÑ1Ô1ˆÝŒ\ a¨ V°1°a°&Ð9Ð9Ð:Ñ:Ô:ˆåŒ]ÝØLð
ñ 
ô 
ð 		ð 		ð �MŠMØØ Ø ×0Ò0Ñ2Ô2Ø!&¨ ð	 ñ ô ð ð			ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		õ 	Œ�YÑÔ×+Ò+¨FÑ3Ô3Ð3ÝŒ]ÝØLð
ñ 
ô 
ð 		ð 		õ ØØ Ø ×0Ò0Ñ2Ô2Ø!&¨ ð	ñ ô ð ð			ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð 		ð 		s$   Á.BÂB
ÂB
Ã(DÄDÄDc           	      ó   — d}t          j        dt          t          dd¦  «        ¦  «        i¦  «        }|                     |¦  «         t          j        t          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rn   r4   rC   rž   Únumpy)rM  )	r=   r>   rR   rS   r   r(   r    r‘   r   )rÍ   r$   r’   r¡   rW   s        r#   Útest_invalid_dtype_backendz1TestParquetFastParquet.test_invalid_dtype_backendÀ  sÐ   € ð%ð 	õ Œ\˜5¥$¥u¨Q°¡{¤{Ñ"3Ô"3Ð4Ñ5Ô5ˆØ
�Š�iÑ Ô Ð ÝŒ]�:¨SÐ1Ñ1Ô1ð 	;ð 	;Ý˜°'Ð:Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   Á$BÂBÂ
BN)rÕ   rÖ   r×   rz  r<  rˆ  r@  r�  r(   r/   r0   r   r'   Ú_fp_version_lt_2025Ú_fp_version_lt_2026_5r£  rþ  ro  r³  rÍ  rÐ  rS  rU  rØ  rú  r]  r`  rd  rg  rk  rn  r*   r%   r#   r5  r5  »  s©  € € € € € ð
,ð 
,ð 
,ð?ð ?ð ?ð*Fð Fð FðRð Rð Rð	Fð 	Fð 	Fð „[×ÒØÐÑÔð 	"Øð	"à#Ð#ð	"ð "ØRð ñ ô ð,ð ,ñô ð,ð ð  ð  ð „[Ôð	
ð 	
ñ Ôð	
ð „[×ÒØÐÑÔð 	"Øð	"à#Ð#ð	"ð "ØRð ñ ô ð/ð /ñô ð/ð  „[×ÒØÐÑÔð 	"Øð	"à#Ð#ð	"ð "ØRð ñ ô ð/ð /ñô ð/ð  „[×ÒØÐÑÔð 	"Øð	"à#Ð#ð	"ð "ØRð ñ ô ð/ð /ñô ð/ð ð ð ð&?ð ?ð ?ð	?ð 	?ð 	?ð9ð 9ð 9ð*ð *ð *ðLð Lð LðHð Hð Hðð ð ð6;ð ;ð ;ð ;ð ;r%   r5  )	NNNNNTFTr5   )KÚ__doc__rs   Údecimalr   r`  r   r™  r�   rm  rT   r(   Úpandas._configr   Úpandas.compatr   Úpandas.compat.pyarrowr   r   r	   r
   Úpandasr=   Úpandas._testingÚ_testingr„   Úpandas.util.versionr   Úpandas.io.parquetr   r   r   r   r   r   r'   r·   r   r-   r¶   ro  rp  r/   r2  Ú
pytestmarkÚfixturer    r1  r0   r$   r+   r1   r@   rX   ry   ÚnowÚUTCr9  ÚminÚmaxÚstrptimer{   r“   rœ   r¢   r¨   r«   r¯   r±   r¾   rÅ   rÈ   rÊ   rÙ   rq  r5  r*   r%   r#   ú<module>r‚     st  ðØ Ð à €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø €€€à Ð Ð Ð Ø €€€à -Ð -Ð -Ð -Ð -Ð -à -Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ðØ€N€N€Nà€M€MøØð ð ð Ø€M€M€Mðøøøð	"ØÐÐÐàÐØ!˜' +Ô"9Ñ:Ô:¸W¸WÀ[Ñ=QÔ=QÒQÐØ#˜G KÔ$;Ñ<Ô<¸w¸wÀzÑ?RÔ?RÒRÐÐøØð "ð "ð "ØÐØÐØ!ÐÐÐð"øøøð „K×ÒÐSÑTÔTØ
„K×ÒØGñô ð€
ð €„àˆŒØà”×"Ò"Ø)Ð)Ø9ð #ñ ô ð ”×!Ò!Ø&Ð&Ñ(Ô(Ø;Ø ð "ñ ô ð
ð	
ñ 	
ô 	
ð 	ˆŒØØ”+×$Ò$Ø!Ð!Ð*Dð %ñ ô ð	
ñ 	
ô 	
ððñ ô ð0ð ñ1ô ð0ð „ðð ñ „ðð „ðð ñ „ðð „ðTð Tñ „ðTð „ðð ñ „ðð" „ðð ñ „ðð. €„àÔ×Ò˜hœlÑ+Ô+ØÔ×Ò˜hÔ/Ô3Ñ4Ô4ØÔ×Ò˜hÔ/Ô3Ñ4Ô4ØÔ×"Ò"Ð#=Ð?TÑUÔUØÔ×"Ò"Ð#=Ð?TÑUÔUØÔ×"Ò"Ð#=Ð?TÑUÔUØÔ×"Ò"Ð#=Ð?TÑUÔUðð
ñ 
ô 
ðð ñ
ô 
ðð Ø	ØØØØØØØðBð Bð Bð BðJ9ð 9ð 9ð =ð =ð =ð/ð /ð /ð/ð /ð /ð/ð /ð /ðFð Fð Fð((#ð (#ð (#ðV
2ð 
2ð 
2ð „×ÒØÐÑÔð ØðàÐðð 	ØNð ñ ô ð
2ð 
2ñô ð
2ð	Eð 	Eð 	Eð 	Eð 	Eñ 	Eô 	Eð 	EðG,ð G,ð G,ð G,ð G,�ñ G,ô G,ð G,ðT
f
ð f
ð f
ð f
ð f
˜ñ f
ô f
ð f
ðRM;ð M;ð M;ð M;ð M;˜Tñ M;ô M;ð M;ð M;ð M;s%   ÁA! Á!A+Á*A+Á/A B0 Â0B>Â=B>