
    <>i[                        S SK r S SKr S SKrS SKrS SKrS SKJ	r	J
r
  S SKJr  S SKJr   S SKJr  S SKJrJrJr   S SKrS SKJr  S SKJrJr  \R:                  R                   r\R:                  R,                  S 5       r\R:                  R,                  S 5       r \R:                  R,                  S	 5       r!\R:                  R,                  S
 5       r"\R:                  R,                  S 5       r#\R:                  R,                  S 5       r$\R:                  R,                  S 5       r%\R:                  R,                  S 5       r&\R:                  R,                  S 5       r'\R:                  R,                  S 5       r(\R:                  R,                  S 5       r)\R:                  R,                  S 5       r*\R:                  R,                  S 5       r+\R:                  R,                  S 5       r,\R:                  R,                  S 5       r-\R:                  R,                  S 5       r.\R:                  R,                  S 5       r/\R:                  R,                  S 5       r0\R:                  R,                  S 5       r1\R:                  R,                  S 5       r2\R:                  R,                  S 5       r3\R:                  R,                  S 5       r4\R:                  R,                  S 5       r5\R:                  R,                  S 5       r6\R:                  R,                  S 5       r7\R:                  R,                  \R:                  Rq                  S / S!Q5      \R:                  Rq                  S"S#S$/5      S% 5       5       5       r9\R:                  R,                  S& 5       r:\R:                  R,                  S' 5       r;g! \ a    Sr GNf = f! \ a    Sr GNf = f! \ a    S=rr GNf = f)(    N)LocalFileSystemSubTreeFileSystem)guid)Version)_read_table_test_dataframe_write_table)_roundtrip_pandas_dataframealltypes_samplec                 p   [        SS9nU S-  n[        R                  R                  U5      nSUR                  R
                  ;   d   e[        X25        [        R                  " U5      R
                  nSU;   d   e[        R                  " US   R                  S5      5      nUS   SS SSS	S
./:X  d   eg )N'  sizepandas_roundtrip.parquet   pandasutf8index_columnsranger      )kindnamestartstopstep)r   paTablefrom_pandasschemametadatar	   pqread_metadatajsonloadsdecode)tempdirdffilenamearrow_tabler   jss         `/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pyarrow/tests/parquet/test_pandas.py#test_pandas_parquet_custom_metadatar+   7   s    	e	$B33H((&&r*K**33333')22H   	HY'..v6	7BoG,0-.,-$/ #0 0 0 0    c           	         [         R                  " [         R                  " S[         R                  " 5       5      [         R                  " S[         R                  " 5       5      [         R                  " S[         R
                  " 5       5      /5      n[        R                  " [        R                  " S[        R                  S9[        R                  " S[        R                  S9/ SQS.5      n[        R                  " SS	/S
S /S S /S.5      n[         R                  R                  X!SS9n[         R                  R                  X1SS9nUR                  R                  UR                  SS9(       a   eUR                  R                  UR                  5      (       d   e[        R                  " U S-  US9nUR!                  U5        UR!                  U5        g )Nintfloatstring   dtype)ABBAEDDAACDC)r.   r/   r0         g?F)r   preserve_indexT)check_metadatazmerged.parquet)r   )r   r   fieldint16float32r0   pd	DataFramenparangeuint8r   r   equalsr    ParquetWriterwrite_table)r%   r   df1df2table1table2writers          r*   :test_merging_parquet_tables_with_different_pandas_metadatarK   K   sa    YY

#
"**,'
299;' F
 ,,yy"((+1BJJ/* C
 ,,1vt, C
 XX!!#U!KFXX!!#U!KF}}##FMM$#GGG==....g(88HF
v
vr,   c                    U S-  n[        SS9nSSSSS.Ul        [        R                  R	                  U5      nS	UR
                  R                  S
   ;   d   e[        X15        [        R                  " U5      R                  n[        R                  " US
   R                  S5      5      nSU;   d   eUS   UR                  :X  d   eg )Nzmetadata_persistence.parquetr   r   zhalf-precisionzsingle precisionzdouble precisionz%Attributes Persistence Test DataFrame)float16r=   float64
desciptions
   attributesr   r   
attributes)r   attrsr   r   r   r   r   r	   r    r!   r"   r#   r$   )r%   r'   r&   tabler   r)   s         r*   $test_attributes_metadata_persistencerS   h   s     77H	e	$B#%%=	BH HH  $EELL11)<<<<!)22H	HY'..v6	7B2lrxx'''r,   c                    [        SS9n[        R                  R                  [	        [        UR                  UR                  S S S2   5      5      SS/S9Ul        U S-  n[        R                  R                  U5      nUR                  R                  c   e[        X25        [        R                  " U5      nUR                  5       n[         R"                  " X5        g )N
   r   level_1level_2namesr   )r   r>   
MultiIndexfrom_tupleslistzipcolumnsr   r   r   r   pandas_metadatar	   r    read_pandas	to_pandastmassert_frame_equal)r%   r&   r'   r(   
table_readdf_reads         r*   %test_pandas_parquet_column_multiindexrg      s    	b	!B**SRZZ"-./)$ + BJ
 33H((&&r*K--999')J""$G"&r,   c                    [        SS9nU S-  n[        R                  R                  USS9nUR                  R
                  nUS   (       a   eUS   (       d   e[        X25        [        R                  " U5      nUR                  R
                  nUS   (       a   eUR                  R                  nUR                  R                  U:X  d   eUR                  5       n[        R                  " X5        g )Nr   r   r   Fr9   r   r_   )r   r   r   r   r   r`   r	   r    ra   r   rb   rc   rd   )r%   r&   r'   r(   r)   re   r!   rf   s           r*   <test_pandas_parquet_2_roundtrip_read_pandas_no_index_writtenrj      s    	e	$B33H((&&r%&@K				+	+B/""" i==')J				*	*B/"""%%..M&&-777""$G"&r,   c                  @   [        S5      n [        R                  R                  U 5      n[        R                  " 5       n[        XSS9  UR                  5       n[        R                  " U5      n[        U5      R                  5       n[        R                  " X5        g )Nr   2.6versionr   r   r   r   BufferOutputStreamr	   getvalueBufferReaderr   rb   rc   rd   r&   r(   imosbufreaderrf   s         r*   )test_pandas_parquet_native_file_roundtriprw      sr    		B((&&r*K  "DE2
--/C__S!F&!++-G"&r,   c                  d   [        S5      n [        R                  R                  U 5      n[        R                  " 5       n[        XSS9  UR                  5       n[        R                  " U5      n[        R                  " USS/S9R                  5       n[        R                  " U SS/   U5        g )Nr   rl   rm   stringsrB   r_   )r   r   r   r   rp   r	   rq   rr   r    ra   rb   rc   rd   rs   s         r*   test_read_pandas_column_subsetr{      s    		B((&&r*K  "DE2
--/C__S!FnnG,ik  "i12G<r,   c                  @   [        S5      n [        R                  R                  U 5      n[        R                  " 5       n[        XSS9  UR                  5       n[        R                  " U5      n[        U5      R                  5       n[        R                  " X5        g )Nr   rl   rm   ro   rs   s         r*   #test_pandas_parquet_empty_roundtripr}      sr    		B((&&r*K  "DE2
--/C__S!F&!++-G"&r,   c                      SS0SS0SS0/SS.n [         R                  " U S9n[        R                  R	                  U5      n[        R
                  " 5       n[        X#5        g )	N	page_typer   record_typenon_consecutive_homer   1001)agg_col	uid_first)data)r>   r?   r   r   r   rp   r	   )r   r&   r(   rt   s       r*   !test_pandas_can_write_nested_datar      sg     !A#Q'

 D 
4	 B((&&r*K  "D#r,   c           	         U S-  nSn[         R                  " [        R                  " U[        R                  S9[        R                  " U[        R
                  S9[        R                  " U[        R                  S9[        R                  R                  U5      S:  / SQS.5      n[        R                  R                  U5      nUR                  S5       n[        XESS	9  S S S 5        [        R                  " UR!                  5       5      n[#        U5      nUR%                  5       n[&        R(                  " X85        g ! , (       d  f       Nd= f)
Nzpandas_pyfile_roundtrip.parquetr8   r2   r   )foobarNbazqux)int64r=   rN   boolry   wbrl   rm   )r>   r?   r@   rA   r   r=   rN   randomrandnr   r   r   openr	   ioBytesIO
read_bytesr   rb   rc   rd   )	r%   r'   r   r&   r(   fr   re   rf   s	            r*   $test_pandas_parquet_pyfile_roundtripr      s    ::HD	4rxx099T499T4		%)5 
B ((&&r*K	t	[U3 
 ::h))+,DT"J""$G"& 
	s   E
Ec                    Sn[         R                  R                  S5        [        R                  " [         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R
                  " U[         R                  S9[         R                  R                  U5      S:  S.5      nU S-  n[         R"                  R%                  U5      nS H?  n['        XCSUS9  [)        U5      nUR+                  5       n[,        R.                  " X'5        MA     S H?  n['        XCSUS	9  [)        U5      nUR+                  5       n[,        R.                  " X'5        MA     S
 Hu  n	U	S:w  a0  [         R0                  R2                  R5                  U	5      (       d  M9  ['        XCSU	S9  [)        U5      nUR+                  5       n[,        R.                  " X'5        Mw     g )Nr   r   r2   )rB   uint16uint32uint64int8r<   int32r   r=   rN   r   r   )TFrl   )rn   use_dictionary)rn   write_statistics)NONESNAPPYGZIPLZ4ZSTDr   )rn   compression)r@   r   seedr>   r?   rA   rB   r   r   r   r<   r   r   r=   rN   r   r   r   r   r	   r   rb   rc   rd   libCodecis_available)
r%   r   r&   r'   r(   r   re   rf   r   r   s
             r*   )test_pandas_parquet_configuration_optionsr      s   DIINN1	4rxx0))D		2))D		2))D		2		$bhh/4rxx04rxx04rxx099T499T4		%) 
B 33H((&&r*K'[E$2	4 *
&&(
b* ( *[E&6	8 *
&&(
b* * A6!FFLL--k::[E!,	. *
&&(
b* Ar,   c                      [        SS9n [        R                  " SS[        U 5      -  S5      U l        SU R                  l        [        U SS05      n[        R                  " X5        g )Nd   r   r   rU   r   flavorspark)	r   r@   rA   lenindexr   r
   rc   rd   )r&   results     r*   +test_spark_flavor_preserves_pandas_metadatar   )  sR    	c	"ByyBRL"-BHBHHM(h-@AF&%r,   c                 &   [         R                  " S5      S[         R                  " S5      S0[         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " S5      0S.n[        U S-  5      n[         R                  " USS9R	                  SS	S
9n[
        R                  R                  U5      n[        XB5        [        U5      nUR                  5       n[        R                  " Xc5        g )Nz2017-06-30 01:31:00g*_c@z2017-06-30 01:32:00)closetimedata.parquetzdatetime64[us]r2   r   Fdrop)r>   	Timestampstrr?   	set_indexr   r   r   r	   r   rb   rc   rd   )r%   r   pathdfxtdfxr(   	result_dfs          r*    test_index_column_name_duplicater   3  s     LL./1CLL./1C

 LL./%2 LL./%2	
D w'(D
 ,,t#3
4
>
>vE
>
RC88$Dd#K%%'I))r,   c                    Sn[        [        U5      5      n[        R                  R	                  / SQU/SS/S9n[        R
                  " SU0US9n[        R                  R                  U5      nU S-  n[        XV5        [        U5      nUR                  U5      (       d   eUR                  5       n[        R                  " X5        g )	Nr1   )r   r   r   foobarsome_numbersrY   numbers)r   zdup_multi_index_levels.parquet)r]   r   r>   r[   from_arraysr?   r   r   r   r	   r   rC   rb   rc   rd   )	r%   num_rowsr   r   r&   rR   r'   result_tabler   s	            r*    test_multiindex_duplicate_valuesr   Q  s    H5?#GMM%%	(( & E
 
y'*%	8BHH  $E99H!x(L<<%%%%&&(I)(r,   c                     Sn[         R                  " [        R                  " U5      SS SSS9n[	        U S-  5      nUR                  5       n[        R                  " XB5        g )N  carat        cut  color  clarity  depth  table  price     x     y     z
 0.23      Ideal      E      SI2   61.5   55.0    326  3.95  3.98  2.43
 0.21    Premium      E      SI1   59.8   61.0    326  3.89  3.84  2.31
 0.23       Good      E      VS1   56.9   65.0    327  4.05  4.07  2.31
 0.29    Premium      I      VS2   62.4   58.0    334  4.20  4.23  2.63
 0.31       Good      J      SI2   63.3   58.0    335  4.34  4.35  2.75
 0.24  Very Good      J     VVS2   62.8   57.0    336  3.94  3.96  2.48
 0.24  Very Good      I     VVS1   62.3   57.0    336  3.95  3.98  2.47
 0.26  Very Good      H      SI1   61.9   55.0    337  4.07  4.11  2.53
 0.22       Fair      E      VS2   65.1   61.0    337  3.87  3.78  2.49
 0.23  Very Good      H      VS1   59.4   61.0    338  4.00  4.05  2.39\s{2,}r   pythonsep	index_colheaderenginezv0.7.1.parquet)r>   read_csvr   r   r   rb   rc   rd   datadirexpected_stringexpectedrR   r   s        r*   &test_backwards_compatible_index_namingr   g  sY    KO {{2::o6I%)!HFH"223E__F&+r,   c                     Sn[         R                  " [        R                  " U5      S/ SQSSS9R	                  5       n[        U S-  5      nUR                  5       n[        R                  " XB5        g )Nr   r   cutcolorclarityr   r   r   zv0.7.1.all-named-index.parquet)	r>   r   r   r   
sort_indexr   rb   rc   rd   r   s        r*   1test_backwards_compatible_index_multi_level_namedr   |  sh    KO {{


?#- jl	  "BBCE__F&+r,   c                 ,   Sn[         R                  " [        R                  " U5      S/ SQSSS9R	                  5       nUR
                  R                  / SQ5      Ul        [        U S-  5      nUR                  5       n[        R                  " XB5        g )	Nr   r   r   r   r   r   )r   Nr   zv0.7.1.some-named-index.parquet)r>   r   r   r   r   r   	set_namesr   rb   rc   rd   r   s        r*   6test_backwards_compatible_index_multi_level_some_namedr     s    KO {{


?#!< jl	 
 ^^--.FGHN"CCDE__F&+r,   c           
      J   [        S5      [        [        R                  5      ::  a  [        R                  " S5        [        R
                  " / SQ/ SQ[        R                  " SSSS9S	.5      n[        R                  R                  / S	Q[        R                  " SSSS9/S
S /S9Ul	        U S-  n[        U5      nUR                  5       n[        R                  " XA5        [        US/S9nUR                  5       n[        R                  " XAS/   R                  SS95        g )Nz2.2.0zRegression in pandas 2.2.0r      r1   )g?g?g333333?z
2017-01-01r1   zEurope/Brussels)periodstzabcr   rY   z'v0.7.1.column-metadata-handling.parquetr   rz   Tr   )r   r>   __version__pytestskipr?   
date_ranger[   r   r   r   rb   rc   rd   reset_index)r   r   r   rR   r   s        r*   2test_backwards_compatible_column_metadata_handlingr     s    w72>>22 	01||lmmL!8IJ	LMH ]]..		|Q3D	E	Go / HN
 >>DE__F&+seE__F&C5/"="=4"="HIr,   c                  6   [         R                  " SS/SS//SS/S9n U S   R                  S5      U S'   U R                  S/5      n [        R
                  R                  U 5      n[        R                  " 5       n[        R                  " X5        [        R                  " UR                  5       5      R                  5       n[        UR                  [         R                  5      (       d   eUR                  R!                  U R                  5      (       d   eg )	Nr   r   r   dc1c2rz   category)r>   r?   astyper   r   r   r   rp   r    rE   ra   rq   rb   
isinstancer   CategoricalIndexrC   )r&   rR   bosref_dfs       r*   )test_categorical_index_survives_roundtripr     s     
SzC:.t	EB$xz*BtH	tf	BHH  $E



!CNN5^^CLLN+557FfllB$7$78888<<rxx((((r,   c            	         [         R                  " S[         R                  " / SQ/ SQSS905      n [        R                  R                  U 5      n[        R                  " 5       n[        R                  " X5        UR                  5       n[        R                  " U5      R                  5       n[        R                  " X@5        g )Nr   )r   r   r   r   )r   r   r   T)
categoriesordered)r>   r?   Categoricalr   r   r   rp   r    rE   rq   ra   rb   rc   rd   )r&   rR   r   contentsr   s        r*   )test_categorical_order_survives_roundtripr     s     
sBNN$H I 
JB HH  $E



!CNN5||~H^^H%//1F&%r,   c                      [         R                  " S /S-  S/S-  S.5      n U R                  SSS.5      n[        R                  R                  U 5      n[        R                  R                  U5      n[        R                  " 5       n[        R                  " X4SSS9  [        R                  " UR                  5       5      nUS   R                  US   5      (       d   eUS	   R                  US	   5      (       d   eg )
Nr   g      ?)colr.   r   rl   rU   )rn   
chunk_sizer   r   )r>   r?   r   r   r   r   rp   r    rE   
read_tablerq   rC   )r&   df_categoryrR   	table_catru   r   s         r*   *test_pandas_categorical_na_type_row_groupsr    s     
tfslC53;?	@B))JzBCKHH  $E$$[1I



!C NN95R@]]3<<>*F !9E!H%%%%!9E!H%%%%r,   c                  X   [         R                  " / SQSS9n / SQn[        R                  " S[        R                  R                  XS905      n[        R                  " 5       n[        R                  " [        R                  " U5      U5        [        R                  " UR                  5       5      R                  5       nUR                  R                  S:X  d   eUR                  R                   R"                  U:H  R%                  5       (       d   e[&        R(                  " XB5        g )N)r   r   r   r   r   rV   r   r   r2   )r   r   r   x)r   r   )r@   arrayr>   r?   r   
from_codesr   rp   r    rE   rR   r  rq   rb   r	  r3   catr   allrc   rd   )codesr   r&   ru   r   s        r*   !test_pandas_categorical_roundtripr    s    
 HH+7;E&J	sBNN55 6 & ' 
(B 


!CNN288B<%]]3<<>*446F88>>Z'''HHLL##z1668888&%r,   c                    [        [        R                  5      [        S5      :  a  [        R                  " S5        [        R
                  " S/ SQ0SS9nUR                  S5      n[        R
                  " S/ SQ05      nUR                  S5      n[        R                  " US   5      R                  5       [        R                  " US   5      R                  5       :X  d   e[        R                  " US   R                  R                  R                  5      R                  5       [        R                  " US   R                  R                  R                  5      R                  5       :X  d   e[        U S-  5      n[        R                  " [        R                   " U5      U5        [        R"                  " U5      R%                  5       n[&        R(                  " XB5        g )	Nz1.3.0z:PyArrow backed string data type introduced in pandas 1.3.0r	  )r   r   r   zstring[pyarrow]r2   r   zcat.parquet)r   r>   r   r   r   r?   r   r   r
  	to_pylistr  r   valuesr   r    rE   rR   r  rb   rc   rd   )r%   rF   rG   r   r   s        r*   )test_categories_with_string_pyarrow_dtyper    sX    r~~!11PQ
,,23;L
MC
**Z
 C
,,23
4C
**Z
 C 88CH'')RXXc#h-?-I-I-KKKK88CHLL++223==?288C&&D((1	4 4 4 w&'DNN288C=$']]4 **,F&&r,   c                 @   [         R                  " S/ SQS.5      nUS   R                  S5      US'   [        R                  " U5      n[
        R                  " U[        U S-  5      S/S9  [
        R                  " [        U S-  5      5      R                  5       n[        R                  " US/   US/   5        [
        R                  " U[        U S	-  5      5        [
        R                  " [        U S	-  5      5      R                  5       n[        R                  " US/   US/   5        [
        R                  " U[        U S
-  5      5        [
        R                  " [        U S
-  5      5      R                  5       n[        R                  " US/   US/   5        g )Nr   r   partr  r  Int64case1r  partition_colscase2r   )r>   r?   r   r   rR   r    write_to_datasetr   r  rb   rc   rd   rE   )r%   r&   rR   r   s       r*   5test_write_to_dataset_pandas_preserve_extensiondtypesr  $  sF   	s95	6B5	  )BuIHHRLEs7W$%vh ]]3w012<<>F&%/2ug;7s7W#456]]3w012<<>F&%/2ug;7NN5#g678]]3w789CCEF&%/2ug;7r,   c                 p   [         R                  " / SQ/ SQS.5      n[         R                  " / SQSS9Ul        [        R
                  " U5      nUSS/   R                  5       nUS   R                  S	5      US'   [        R                  " U[        U S
-  5      S/S9  [        R                  " [        U S
-  5      5      R                  5       n[        R                  " XC5        [        R                  " U[        U S-  5      5        [        R                  " [        U S-  5      5      R                  5       n[        R                  " XA5        [        R                  " U[        U S-  5      5        [        R                  " [        U S-  5      5      R                  5       n[        R                  " XA5        g )N)r   r   r   r   r  r   idxr   r  r  r   r  r  r  r   )r>   r?   Indexr   r   rR   copyr   r    r  r   r  rb   rc   rd   rE   )r%   r&   rR   df_catr   s        r*   +test_write_to_dataset_pandas_preserve_indexr$  9  sG    
yA	BBxxe4BHHHRLE %%'FF^**:6F6Ns7W$%vh ]]3w012<<>F&)s7W#456]]3w012<<>F&%NN5#g678]]3w789CCEF&%r,   r9   )TFNmetadata_fname	_metadata_common_metadatac           	         SnSnU [        5       -  nUR                  5         / n/ n/ n[        U5       H  n	[        XIS9n
[        R
                  " [        R                  " X-  U	S-   U-  SS9SS9U
l        XY S3-  n[        R                  R                  XS	9nUR                  S 5      nUR                  R                  b   e[        X5        UR!                  U5        UR!                  U
5        UR!                  U5        M     [        R                  R                  W
US	9n["        R$                  " UR                  XR-  5        ["        R&                  " U5      nS
S/nUR)                  US9R+                  5       n[        R,                  " U Vs/ s H  nUU   PM
     sn5      nUSLa  U
R                  R.                  OS UR                  l        [0        R2                  " UU5        g s  snf )Nr8   )r   r   r   r2   r   r   z.parquetri   rB   ry   rz   F)r   mkdirr   r   r>   r!  r@   rA   r   r   r   r   replace_schema_metadatar   r   r	   appendr    write_metadataParquetDatasetra   rb   concatr   rc   rd   )r%   r9   r%  nfilesr   dirpath	test_dataframespathsir&   r   rR   table_for_metadatadatasetr_   r   r	  r   s                      r*   (test_dataset_read_pandas_common_metadatar7  R  s    FDGMMOIFE6]T*88IIahQ$g>W
 3h'$$R$G --d3||$$,,,U!bT# ( --
> .  (//1IJ(G	"G   1;;=Fyyf5f!G*f56H'u4$ NN&(+ 6s   G+c                    [         R                  " S/ SQ05      nU S-  n[        X5        [        R                  " S[        [        U 5      [        5       5      S9nUR                  [        R                  " U5      5      (       d   eg )Nr   r   r   )
filesystem)r>   r?   r	   r    ra   r   r   r   rC   r   rR   )r%   r&   r'   r   s       r*   %test_read_pandas_passthrough_keywordsr:    sj     
sI&	'B'H^^$S\?3DEF =="&&&&r,   c                    [         R                  " [         R                  " SS/SS//5      [         R                  " SS/5      S.5      nU S-  n[        R                  " [        R
                  " 5       [        R
                  " 5       5      n[        R                  " [        R                  " S	U5      [        R                  " S
[        R
                  " 5       5      /5      n[        R                  R                  X5      n[        XR5        [        R                  " U5      R                  5       n[        R                  " Xa5        g )N)id	something)value2else)r<  
something2)valueelse2r   r   )col1col2r   rC  rD  )r>   r?   Seriesr   map_r0   r   r;   r   r   r	   r    ra   rb   rc   rd   )r%   r&   r'   udtr   r(   r   s          r*   test_read_pandas_map_fieldsrH    s     
		 "45!#56
  		5%.) 
B 'H
''"))+ryy{
+CYY-rxx		/LMNF((&&r2K'^^H%//1F&%r,   )<r   r"   numpyr@   ImportErrorr   pyarrowr   
pyarrow.fsr   r   pyarrow.utilr   pyarrow.vendored.versionr   pyarrow.parquetparquetr    pyarrow.tests.parquet.commonr   r   r	   pandasr>   pandas.testingtestingrc   r
   r   mark
pytestmarkr+   rK   rS   rg   rj   rw   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r$  parametrizer7  r:  rH   r,   r*   <module>rY     s'  $ 
    9  , < <? [[  
 0 0&  8 ( (0 ' '$ ' '0 ' ' 
= 
= ' ' $ $  ' '. )+ )+X & & * *: ) )* , ,( , ,0 , ,2 J J0 ) ) & & & &" & &$ ' '. 8 8( & &0 )+>?)K9K+LM,, N @ ,,^ ' ' & &}  	B  	B  NBs3   N7 O O 7OOOO
O#"O#