+
    nDjd                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt	  ^ RI
t^ RIt^ RIHu Ht ^ RIHtHtHtHt  ^ RIHt ^ RIt^ RIt]P8                  ! RR7      R 4       tRIR lt]P8                  ! R^^.R7      R	 4       t]P8                  ! R. RJOR7      R
 4       t Rs!R t"R t#]PH                  P2                  R 4       t%RKR lt&RLR lt'RMR lt(]PH                  P                  R 4       t)]PH                  P2                  R 4       t*]PH                  P2                  R 4       t+]PH                  P2                  R 4       t,]PH                  P2                  R 4       t-]PH                  P2                  R 4       t.]PH                  P2                  R 4       t/]PH                  P2                  R 4       t0]PH                  P2                  R 4       t1]PH                  P2                  R 4       t2R t3]PH                  P                  R 4       t4]PH                  P2                  R 4       t5]PH                  P2                  R 4       t6]PH                  P2                  R 4       t7]PH                  P2                  R  4       t8]PH                  P2                  R! 4       t9]PH                  P2                  R" 4       t:]PH                  P2                  R# 4       t;]PH                  P2                  R$ 4       t<]PH                  P2                  R% 4       t=]PH                  P2                  R& 4       t>]PH                  P2                  ]PH                  P                  R']@R(7      R) 4       4       tA]PH                  P2                  R* 4       tB]PH                  P2                  R+ 4       tC]PH                  P2                  R, 4       tD]PH                  P2                  ]PH                  P                  ]P                  P                  '       * R-R.7      R/ 4       4       tH]PH                  P2                  R0 4       tI]PH                  P                  R1 4       tJ]PH                  P2                  R2 4       tK]PH                  P2                  ]PH                  P                  R34      ]PH                  P                  R44      R5 4       4       4       tM]PH                  P2                  R6 4       tNR7 tO]PH                  P2                  R8 4       tP]PH                  P2                  R9 4       tQ]PH                  P2                  ]PH                  P                  ]PH                  P                  ]PH                  P                  R: 4       4       4       4       tU]PH                  P                  R; 4       tVR< tW]PH                  P                  ]PH                  P2                  R= 4       4       tY]PH                  P                  ]PH                  P2                  R> 4       4       t[R? t\]PH                  P2                  R@ 4       t]RA t^RB t_RC t`RD ta]PH                  P                  ]P                  ! ]P                  ]	P                  ! . RNO4      4      RE 4       4       te]PH                  P                  RF 4       tf]PH                  P2                  RG 4       tg]PH                  P2                  RH 4       thR#   ] d    Rt ELi ; i  ] d     ELi ; i)O    N)read_featherwrite_feather
read_tableFeatherDataset)assert_frame_equalmodule)scopec                     V R ,          # )feather )base_datadirs   &T/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/tests/test_feather.pydatadirr   ,   s    )##    c                 0    \         P                  ! V R 7      # )prefix)tempfilemktempr   s   &r   random_pathr   1   s    ??&))r   )r	   paramsc              #   *   "   V P                   x  R # 5iN)paramrequests   &r   versionr   5   s     
--s   c              #      "   V P                   R9   dS   \        P                  P                  V P                   4      '       g$   \        P
                  ! V P                    R24       V P                   x  R# 5i)lz4z is not availableN)r   zstd)r   paCodecis_availablepytestskipr   s   &r   compressionr&   :   sP     }}'0E0EMM1 1w}}o%678
--s   A A63A6c                 
    . s R # r   )
TEST_FILES)r   s   &r   setup_moduler)   E   s    Jr   c                     \          F  p \        P                  ! V4       K  	  R #   \        P                   d     K8  i ; ir   )r(   osremoveerror)r   paths   & r   teardown_moduler/   J   s4    	IIdO  xx 		s   'A A c                      \         P                  ! \        P                  4      ;_uu_ 4        \	        R 4       RRR4       R#   + '       g   i     R# ; i)test_invalid_fileN)r$   raisesr!   ArrowIOErrorr   r   r   r   test_file_not_existr4   R   s-    	r	'	'() 
(	'	'	's   AA	c                    Vf   \        4       pVf   ^p\        P                  V4       \        WVWuR7       \        P
                  P                  V4      '       g   \        R4      h\        W#VR7      pVf   T p\        W4       R # )N)r&   compression_levelr   file not writtenuse_threads)
r   r(   appendr   r+   r.   exists	Exceptionr   r   )	dfexpectedr.   columnsr9   r   r&   r6   results	   &&&&&&&& r   _check_pandas_roundtriprA   X   sx     |}d"$5H 77>>$*++$[AFv(r   c                    Vf   \        4       p\        P                  V4       \        WVR7       \        P
                  P                  V4      '       g   \        R4      h\        V4      pVP                  V 4      '       g   Q hR # )Nr&   r7   )
r   r(   r:   r   r+   r.   r;   r<   r   equals)tabler.   r&   r@   s   &&& r   _check_arrow_roundtriprF   q   sd    |}d%;777>>$*++F==r   c                    a aa Sf   \        4       o\        P                  S4       V VV3R lp\        P                  ! W4       R # )Nc                  $   < \        S SSR 7       R# )r   N)r   )r=   r.   r   s   r   f!_assert_error_on_write.<locals>.f   s    b$0r   )r   r(   r:   r$   r2   )r=   excr.   r   rJ   s   f&ff r   _assert_error_on_writerM   ~   s2     |}d1 MM#r   c                    Rp^p\        V4       Uu. uF  p\        4       NK  	  pp\        V^,          4       Uu/ uF:  pR\        V4      ,           \        P                  P                  V^ ,          4      bK<  	  pp\        P                  ! V4      p\        P                  V4       \        V4       FV  w  rxWq^ ,          V,          ,          V^,           V^ ,          V,          ,          3p	\        Wi^ ,          V	^,           WR7       KX  	  \        V4      P                  4       pVP                  V4      '       g   Q hR# u upi u upi )d   col_rI   NrO   rO   )ranger   strnprandomrandnr!   rE   r(   extend	enumerater   r   r   rD   )
r   
num_values	num_filesipathsdatarE   indexr.   rowss
   &         r   test_datasetr`      s   JI$))$45$4q[]$4E5 z!}%%A 	QA77% 	  HHTNEe ']i/0QY:a=I56

 	eGT!W-tE ( % ++-D;;u# 6s   EA Ec                     / pR R.p^dpV F5  p\         P                  P                  V4      pVP                  V4      W&   K7  	  \        P
                  ! V4      p\        W`R7       R# )f4f8rI   N)rT   rU   rV   astypepd	DataFramerA   r   r]   numpy_dtypesrY   dtypevaluesr=   s   &      r   test_float_no_nullsrk      sY    D$<LJ,mmE*  
d	BB0r   c                 $   Rp\        4       p\        P                  V4       \        P                  P                  ^ ^dVR7      p\        ^d4       Uu. uF  pR\        V4      ,           NK  	  pp\        P                  P                  W54      p\        WbV R7       \        V4      pVP                  V4      '       g   Q h\        VRR7      pVP                  V4      '       g   Q h\        VRR7      p\        VP!                  4       V4       R# u upi )rO   sizerP   rI   F)
memory_mapNrQ   )r   r(   r:   rT   rU   randintrR   rS   r!   Tablefrom_arraysr   r   rD   r   r   	to_pandasr   rY   r.   rj   r[   r?   rE   r@   s   &       r   test_read_tableru      s    J=DdYYq#J7F(-c
3
1vA
G3HH  1E%w/F== /F==$51Fu(&1 4s   Dc                 &   Rp\        4       p\        P                  V4       \        P                  P                  ^ ^
VR7      p\        ^
4       Uu. uF  pR\        V4      ,           NK  	  pp\        P                  P                  W54      p\        WbV R7       \        V4      p\        VP                  4       V4       \        VRR7      p\        VP                  4       V4       \        VRR7      pVP!                  V4      '       g   Q hR# u upi )
   rm   rP   rI   Fr8   N)rw   rw   )r   r(   r:   rT   rU   rp   rR   rS   r!   rq   rr   r   r   r   rs   r   rD   rt   s   &       r   test_use_threadsrx      s     J=DdYYq":6F(-b	2	1vA	G2HH  1E%w/$Fu(&1 $E2Fu(&1 %0F== 3s   Dc                    ^dp\        4       p\        P                  V4       \        P                  P                  ^ ^
VR7      ^8  pRR.p. p. pV Fz  p\        P                  P                  V4      P                  V4      pVP                  \        P                  ! WR7      4       \        P                  W&   VP                  V4       K|  	  \        P                  ! WdR7      p	\        V	4       V	P                  4       p
\        WR7       R# )rO   rm   rb   rc   masknamesrI   N)r   r(   r:   rT   rU   rp   rV   rd   r!   arraynanrE   rF   rs   rA   )r   rY   r.   	null_maskdtypesexpected_colsarraysnamerj   rE   r=   s   &          r   test_float_nullsr      s    J=Dd		!!!Rj!9A=ID\FMF,33D9bhhv67FFV$  HHV*E5!		BB0r   c                 \   / . r!. ROp^dpV FX  p\         P                  P                  ^ ^dVR7      pVP                  V4      W&   VP	                  VP                  V4      4       KZ  	  \
        P                  ! V4      p\        WpR7       \        P                  ! W#R7      p\        V4       R# )i1rm   rI   r|   Nr   i2i4i8u1u2u4u8)rT   rU   rp   rd   r:   re   rf   rA   r!   rE   rF   )	r   r]   arrrh   rY   ri   rj   r=   rE   s	   &        r   test_integer_no_nullsr      s    B#,LJ""1c
";mmE*

6=='( 
 
d	BB0HHS-E5!r   c                     / pR .p^dpV F8  p\         P                  P                  ^ ^dVR7      pVP                  V4      W&   K:  	  \        P
                  ! V4      p\        W`R7       R# )longlongrm   rI   N)rT   rU   rp   rd   re   rf   rA   rg   s   &      r   test_platform_numpy_integersr     s`    D<LJ""1c
";mmE*  
d	BB0r   c                 (   \        4       p\        P                  V4       . ROp^dp. p\        P                  P                  ^ ^
VR7      ^8  p. pV F  p\        P                  P                  ^ ^dVR7      pVP                  \        P                  ! WR7      4       VP                  R4      p	\        P                  W&   VP                  V	4       K  	  \        P                  ! WBR7      p
\        V
4       V
P                  4       p\        WR7       R# )r   rm   rz   rc   r|   rI   Nr   )r   r(   r:   rT   rU   rp   r!   r~   rd   r   rE   rF   rs   rA   )r   r.   
int_dtypesrY   r   r   r   r   rj   r>   rE   r=   s   &           r   test_integer_with_nullsr   #  s     =DdAJJF		!!!Rj!9A=IM""1c
";bhhv67==& ffX&  HHV.E5!		BB0r   c                     ^dp\         P                  P                  ^ 4       \        P                  ! R\         P                  P                  V4      ^ 8  /4      p\        W R7       R# )rO   boolsrI   N)rT   rU   seedre   rf   rV   rA   )r   rY   r=   s   &  r   test_boolean_no_nullsr   ?  sD    JIINN1	w		
 ;a ?@	ABB0r   c                    \        4       p\        P                  V4       ^dp\        P                  P                  ^ 4       \        P                  P                  ^ ^
VR7      ^8  p\        P                  P                  ^ ^
VR7      ^8  p\        P                  ! \        P                  ! WCR7      .R.R7      p\        V4       VP                  4       p\        W`R7       R# )rO   rm   rz   r   r|   rI   N)r   r(   r:   rT   rU   r   rp   r!   rE   r~   rF   rs   rA   )r   r.   rY   r{   rj   rE   r=   s   &      r   test_boolean_nullsr   I  s     =DdJIINN199Q4q8DYYq":6:FHHbhhv127)DE5!		BB0r   c                 L   \        4       p\        P                  V4       \        ^R4       Ft  p\        P
                  P                  \        P                  ! R.\        \        V4      4      ,           \        P                  ! 4       R7      .R.R7      p\        V4       Kv  	  R# )      N)typer   r|   )r   r(   r:   rR   r!   rq   rr   r~   listfloat64rF   )r   r.   r[   rE   s   &   r   test_buffer_bounds_errorr   \  su    =Dd2s^$$XXtftE!H~-BJJLAB' % 
 	u% r   c                     ^dp\         P                  P                  \        P                  ! . ROV,          \
        R7      .R.R7      p\        V4       R# )rO   N)ri   r   r|   )FNT)r!   rq   rr   rT   r~   objectrF   )r   repeatsrE   s   &  r   test_boolean_object_nullsr   i  sF    GHH  	%/v	>?g ! E 5!r   c           
         \         P                  R 8X  d   \        P                  ! R4        ! R R4      p\        P
                  ! R\        ^4      RRRRV! 4       \        P                  ./RR.R	7      p\        4       p \        W#V R
7       \        P                  P                  V4      '       d   Q hR#   \         d     L6i ; i)win32z/Windows hangs on to file handle for some reasonc                       ] tR tRtRtR# )6test_delete_partial_file_on_error.<locals>.CustomClassix  r   N__name__
__module____qualname____firstlineno____static_attributes__r   r   r   CustomClassr   x      r   r   numbersstrings   fooNbarr?   rI   )sysplatformr$   r%   re   rf   rR   rT   r   r   r   r<   r+   r.   r;   )r   r   r=   r.   s   &   r   !test_delete_partial_file_on_errorr   s  s    
||wEF  
uQxe[]BFFC	E I&	
(B =Db0 ww~~d#####  s    B6 6CCc                 ,   R pRRRR\         P                  .p\        P                  ! RW!,          /4      p. ROp\        P                  ! RWA,          /4      p\	        W5V R7       . R	Op\        P                  ! RW!,          /4      p\        P                  ! RW!,          /4      p\	        W5V R7       RRRR\         P                  .p\        P                  ! RW!,          /4      p. R	Op\        P                  ! RWA,          /4      p\	        W5V R7       R# )
  r   Nr   quxr   rI   foo)r   Ns   bars   quxNr   Nr   r   N)rT   r   re   rf   rA   )r   r   rj   r=   	ex_valuesr>   s   &     r   test_stringsr     s    G dE5"&&1F	y&"23	4B4I||Y	(;<=HB': /F	y&"23	4B||Y(89:HB':T5%0F	y&"23	4B1I||Y	(;<=HB':r   c                 ^    \         P                  ! R R.^
,          /4      p\        WR7       R# )r    rI   Nre   rf   rA   r   r=   s   & r   test_empty_stringsr     s#    	y2$),	-BB0r   c                     \         P                  ! R R.^
,          /4      pV ^8X  dA   \        P                  P                  P                  4       '       d   VP                  R4      pMTp\        WVR7       R# )all_noneNrS   )r   r>   )re   rf   r!   pandas_compat_pandas_apiuses_string_dtyperd   rA   r   r=   r>   s   &  r   test_all_noner     sY    	zD6B;/	0B!|((44FFHH99U#B(Cr   c                     \         P                  ! R RRR/4      pVP                  VP                  P	                  R4      R7      p\        WR7       R# )ABNcategory)r   rI            )NNN)re   rf   assignr   rd   rA   r   s   & r   test_all_null_categoryr     sA     
sIs,>?	@B	RTT[[,	-BB0r   c                     \        ^d4       Uu/ uF  pRV 2R.^
,          bK  	  pp\        P                  ! V4      p\        VRV R7       R# u upi )rO   cr   T)r9   r   N)rR   re   rf   rA   )r   r[   r]   r=   s   &   r   test_multithreaded_readr     sX     3Z! sGbTBY 	 !	d	BBD'B!s   Ac                     \         P                  ! R \         P                  \         P                  ^,          R.^
,          4      p\        P                  ! RV/4      p\        W R7       R# )r   r   r   rI   N)rT   r~   r   re   rf   rA   )r   rj   r=   s   &  r   test_nan_as_nullr     sG     XXubffbffqj%82=>F	y&)	*BB0r   c                 ,   R pRRRR\         P                  .p\        P                  ! RW!,          /4      pVR,          P	                  R4      VR&   . ROp\        P                  ! R\        P
                  ! W!,          4      /4      p\        W4V R7       R# )	r   r   Nr   r   r   r   rI   r   )rT   r   re   rf   rd   CategoricalrA   )r   r   rj   r=   r>   s   &    r   test_categoryr     sw    GT5%0F	y&"23	4ByM((4ByM.F||Yv7G(HIJHB':r   c                     \         P                  ! R \         P                  ! R^
R7      /4      pVP                  P                  P                  R4      P                  P                  R4      VR&   \        WR7       R# )naivez
2016-03-28)periodsutczAmerica/Los_Angeleswith_tzrI   N)re   rf   
date_ranger   dttz_localize
tz_convertrA   r   s   & r   test_timestampr     sX    	wlB GH	IBXX[[,,U3b$9: yM B0r   c           
          \         P                  ! R \         P                  ! R^^4      R\         P                  ! R^^4      ./4      pVP                  P                  P                  R4      VR&   \        WR7       R# )testi  Nr   r   rI   )re   rf   	Timestampr   r   r   rA   r   s   & r   test_timestamp_with_nullsr     sd    	vT1a 8 $ "T1a 8 : ; 
<B GGJJ**51ByMB0r   znot supported)reasonr2   c                      \         P                  ! R \         P                  ! R4      R\         P                  ! R4      ./4      p \        V ^R7       R# r   z1 dayNz3 dayrI   re   rf   	TimedeltarA   r=   s    r   test_timedelta_with_nulls_v1r     sD     
vW 5 $ "W 5 7 8 
9B B*r   c                      \         P                  ! R \         P                  ! R4      R\         P                  ! R4      ./4      p \        V ^R7       R# r   r   r   s    r   test_timedelta_with_nullsr     sB    	vW 5 $ "W 5 7 8 
9B B*r   c                     \         P                  ! R \         P                  ! . RO4      /4      pVP                  P                  P                  R4      VR&   \        WR7       R# )r   Nr   r   rI   )l    ^cQ)! Nl   6"I)re   rf   DatetimeIndexr   r   r   rA   r   s   & r   (test_out_of_float64_timestamp_with_nullsr     sP    		!! #< = 	>
?B GGJJ**51ByMB0r   c                     \         P                  ! ^ . RO^. RO/4      pTpV ^8X  d   VP                  \        R7      p\	        WV R7       R# )r   r   rI   Nr   r   r      )TFTF)re   rf   renamerS   rA   r   s   &  r   test_non_string_columnsr     sE    	q,46 
7BH!|99S9)B':r   zunicode filenames not supported)r   c                     R P                  R4      p\        P                  ! R. RO/4      p\        V\	        VR7      V R7       R# )s   Besa_Kavajë.featherzutf-8r   r   )r.   r   Nr   )decodere   rf   rA   r   )r   r   r=   s   &  r   test_unicode_filenamer    s;    
 *11':D	ul+	,BB[%=$+-r   c           	          \         P                  ! R . ROR. ROR. RO/4      pVRR.,          p\        WV RR.R7       R# )r   boowoo)r   r?   Nr   )            )r   r   r  r	  r   r   s   &  r   test_read_columnsr    sG    	||| 
B
 5%.!HB'%*EN4r   c                 l   \        4       p\        P                  V4       ^dp\        P                  P                  ^ 4       \        P                  P                  ^ ^
VR7      p\        P                  ! RV/4      p\        WA4       \        P                  ! RV^ V^,           /4      p\        WAR7       R# )rO   rm   ints	more_ints)r.   N)r   r(   r:   rT   rU   r   rp   r!   rE   r   rF   )r   r.   rY   rj   rE   s   &    r   test_overwritten_filer  (  s    =DdJIINN1YYq":6FHHff%&E%HHk6!JM#:;<E5,r   c                 0   \         P                  ! 4       p\        P                  ! \        P
                  ! ^4      P                  ^^4      . ROR7      P                  4       p\        W!V R7       VP                  ^ 4       \        V4      p\        W24       R# )   r   rI   Nabr   )ioBytesIOre   rf   rT   arangereshapecopyr   seekr   r   )r   bufr=   r@   s   &   r   test_filelike_objectsr  9  sh    
**,C 
biim++Aq1-
//3tv "7+HHQK#Fv"r   zignore:Sparse:FutureWarningz(ignore:DataFrame.to_sparse:FutureWarningc                     \         P                  P                  P                  '       g   \        P
                  ! R 4       R. ROR. RO/p\        P                  ! V4      P                  ^R7      pVP                  4       p\        W#V R7       R# )z2version of pandas does not support SparseDataFramer   r   )
fill_valuerI   Nr   r   r   )r   r   r   )r!   r   r   
has_sparser$   r%   re   rf   	to_sparseto_denserA   )r   r]   r=   r>   s   &   r   test_sparse_dataframer#  H  sk     ''222HID	d		%	%	%	3B{{}HB':r   c                      \         P                  ! \        P                  ! ^4      P	                  ^^4      \        R4      R7      P                  4       p \        V \        4       R# )r  aaar   N)	re   rf   rT   r  r  r   r  rM   
ValueErrorr   s    r   test_duplicate_columns_pandasr'  V  sD    
 
biim++Aq1"5k
++/46 2z*r   c                      \         P                  ! . RO. RO. RO.. ROR7      p \        V 4       \        V \        ^R7       R# )r   r|   rI   Nr   r   r  r  r	  r
  	   )r  r  r  )r!   rE   rF   rM   r&  )rE   s    r   test_duplicate_columnsr,  `  s-    HHiI6oNE5!5*a8r   c                       ! R  R4      p \         P                  ! RV ! 4       V ! 4       ./4      p\        V\        4       \         P                  ! R. RO/4      p\        V\        4       R# )c                       ] tR tRtRtR# )test_unsupported.<locals>.Aim  r   Nr   r   r   r   r   r/  m  r   r   r   r  N)r  r   g       @)re   rf   rM   r&  	TypeError)r   r=   s     r   test_unsupportedr1  g  sR      
sQS!#J'	(B2z* 
sM*	+B2y)r   c                     \         P                  ! R \        P                  ! R4      /4      p \        P
                  ! V 4      p\        P                  ! 4       p\        W^^R7       VP                  4       p\        P                  P                  \        P                  ! V4      4      pVP                  ^8X  g   Q h\        VP                  ^ 4      4      ^8X  g   Q hR# )r   r   	chunksizer   N)re   rf   rT   r  r!   rE   r  r  r   getvalueipc	open_fileBufferReadernum_record_batcheslen	get_batch)r=   rE   r  r@   ipc_files        r   test_v2_set_chunksizer=  x  s    	sBIIdO,	-BHHRLE
**,C%Q7\\^Fvv 78H&&!+++x!!!$%,,,r   c            	         \         P                  ! R \        P                  ! R4      /4      p . ROpV F  w  r#\	        WVR7       K  	  \
        P                  ! 4       p\        P                  ! \        RR7      ;_uu_ 4        \        WR^R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        WR	^R
7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        WRR7       RRR4       R#   + '       g   i     L; i  + '       g   i     L_; i  + '       g   i     R# ; i)r   r   Nr   )r&   r6   z2Feather V1 files do not support compression optionmatch)r&   r   z0Feather V1 files do not support chunksize optioni   r3  z"compression="snappy" not supportedsnappyrC   ))uncompressedN)r   N)r   r   )r   r  )r    r   )r    rw   )re   rf   rT   r  rA   r  r  r$   r2   r&  r   )r=   casesr&   r6   r  s        r   test_v2_compression_optionsrD    s   
 
sBIIdO,	-BE +0&2C	E +0 **,C 
F
H 
H 	b5!<
H 
D
F 
F 	bq9
F 
zA
C 
Cb84
C 
C
H 
H
F 
F
C 
C 
Cs$   D=D#8D6D 	#D3	6E	c                     \         P                  P                  R 4      '       g   \        P                  ! R4       \         P
                  ! \        P                  ! ^ R4      .R.R7      p \        P                  ! 4       p\        W4       VP                  4       p\        P                  ! 4       p\        WRR7       VP                  4       p\        V4      \        V4      8  g   Q hR# )	lz4_framez+LZ4 compression support is not built in C++i f0r|   rB  rC   N)r!   r"   r#   r$   r%   rE   rT   repeatr  r  r   r5  r:  )tr  default_resultuncompressed_results       r   test_v2_lz4_default_compressionrL    s     88  --AB 	"))Av&'v6A
**,C!\\^N
**,C!n5,,.~%8!9999r   c                  2   \         P                  ! \         P                  ! . RO. R.4      .R.R7      p \        P                  ! 4       p\
        P                  ! \        RR7      ;_uu_ 4        \        W^R7       RRR4       R#   + '       g   i     R# ; i)r   NrG  r|   z[Unsupported Feather V1 type: list<item: int64>. Use V2 format to serialize all Arrow types.r?  rI   r   )	r!   rE   r~   r  r  r$   r2   r0  r   )rE   r  s     r   test_v1_unsupported_typesrN    sr    HHbhh	2t456tfEE
**,C	yL
N 
N 	e!,	
N 
N 
N 
Ns   -BB	c                 v    \         P                  ! R \        P                  ! R4      /4      p\	        WR7       R# )r   i rI   N)re   rf   rT   r  rA   r   s   & r   test_large_dataframerP    s(     
sBIIi01	2BB0r   c                     R .R R,          .^,          R,          ,           p \         P                  ! RV /4      p\        P                  ! 4       p\	        W^R7       \        \        P                  ! VP                  4       4      4      p\        W14       \        P                  ! \        RR7      ;_uu_ 4        \	        V\        P                  ! 4       ^R7       RRR4       R#   + '       g   i     R# ; i)   xbyte_colrI   zp'byte_col' exceeds 2GB maximum capacity of a Feather binary column. This restriction may be lifted in the futurer?  Ni   i   )re   rf   r  r  r   r   r!   r8  r5  r   r$   r2   r&  )rj   r=   r  r@   s       r   !test_chunked_binary_error_messagerT    s     V	
 F 
z6*	+B **,C"1%"//#,,.9:Fv"	z *5 
6 
6 	b"**,2
6 
6 
6 
6s   7"C##C4	c                     \         P                  ! \         P                  ! . RO4      .R.R7      p\        V R,          4      p\	        W#4       R# )r   rG  r|   data.featherNr   )r!   rE   r~   rS   rF   )tempdirr   rE   r.   s   &&  r   test_feather_without_pandasrX    s7    HHbhhy)*4&9Ew'(D5'r   c                 R   \         P                  ! \        P                  ! ^4      P	                  ^^4      . ROR7      p\        VRR.VRR.,          V R7       \        V^ ^.VRR.,          V R7       \        VRR.VRR.,          V R7       \        V^^ .VRR.,          V R7       R# )r  r  r  r   r   )r?   r>   r   Nr  )re   rf   rT   r  r  rA   r   s   & r   test_read_column_selectionrZ    s     
biim++Aq1?	KB 
S#JS#JJ
QFRc
^WF 
S#JS#JJ
QFRc
^WFr   c                 8   \         P                  ! . RO. RO. RO.. R	OR7      p\        V R,          4      p\        W#VR7       \         P                  ! . RO. RO. RO.. R
OR7      p. R
O. RO3 F(  p\	        W5R7      pVP                  V4      '       d   K(  Q h	  R# )r   r|   rV  rI   r   Nr   r)  r*  r  r  r  r  )r   r   r   )r!   rE   rS   r   r   rD   )rW  r   rE   r.   r>   col_selectionr@   s   &&     r   %test_read_column_duplicated_selectionr^    sz    HHiI6oNEw'(D%w/xxIy9-/H)95D8}}X&&&& 6r   c                    \         P                  ! . RO. R	O. R
O.. ROR7      p\        V R,          4      p\        W^R7       \	        V4      pVP                  V4      '       g   Q h\	        V^ ^.R7      pVP                  RR.8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \	        VRR.R7       RRR4       R#   + '       g   i     R# ; i)r   r  r  r|   rV  rI   r   Nr   r)  r*  r\  )
r!   rE   rS   r   r   rD   column_namesr$   r2   r&  )rW  rE   r.   r@   s   &   r   #test_read_column_duplicated_in_filera    s    HHiI6oNEw'(D%q) F== q!f-F3*,,, 
z	"	"4#s, 
#	"	"	"s   -CC	c                 6   \         P                  ! . R	O. R
O. RO.. ROR7      p\        V R,          4      p\        W#VR7       R R 4       p\        P
                  ! \        RR7      ;_uu_ 4        \        W4R7       RRR4       R#   + '       g   i     R# ; i)r   r|   rV  rI   c              3   $   "   T F  qx  K  	  R # 5ir   r   ).0xs   & r   	<genexpr>2test_read_column_with_generator.<locals>.<genexpr>,  s     .o1os   zColumns must be a sequencer?  r   Nr   r)  r*  r  )r!   rE   rS   r   r$   r2   r0  r   )rW  r   rE   r.   columns_gens   &&   r   test_read_column_with_generatorri  (  sf    HHiI6oNEw'(D%w/.o.K	y(D	E	E4- 
F	E	E	Es   0BB	c                    \         P                  ! R \         P                  P                  . RO. RO.RR.R7      /4      p\	        WR7       \         P                  ! R \         P
                  ! ^^.^^..4      /4      p\	        WR7       \         P                  ! R \         P
                  ! ^^.^^..^^.R..4      /4      p\	        WR7       R# )colf1f2r|   rC   Nr  r   )r!   rE   StructArrayrr   rF   r~   )r&   rE   s   & r   test_nested_typesro  1  s    HHeR^^77	ItTl 8 4 5 6E5:HHeRXX1v1v&6789E5:HHeRXXAA'71a&$&HIJKE5:r   c                     \        WR 7       R# )rC   N)rF   )rE   r&   s   &&r   test_roundtriprq  >  s     5:r   c                     \         P                  ! R \        ^4      /4      p\        V R,          4      pVP	                  V4      '       g   Q hR# )r  z)v0.17.0.version.2-compression.lz4.featherN)r!   rE   rR   r   rD   )r   r>   r@   s   &  r   Atest_feather_v017_experimental_compression_backward_compatibilityrs  D  s?     xxeAh(H"MMNF==""""r   c                     \         P                  ! R . RO/. ROR7      pV ^8X  d(   VP                  RR7      P                  \        R7      pMTp\        WV R7       R# )	r  )r^   T)dropr   rI   Nr   r  )re   rf   reset_indexr   rS   rA   r   s   &  r   test_preserve_index_pandasrw  U  sK    	sI&o	>B!|>>t>,33C3@B':r   c                 j   ^ RI H p \        P                  ! RVP                  R4      VP                  R4      ./4      p\	        W R,          4       VP                  R4      pVP                  R4      p\        V R,          RR7      pW5R,          ^ ,          8X  g   Q hWER,          ^,          8X  g   Q hR# )	r   )datetimedatez
1654-01-01z
1920-01-01ztest_resolution.featherT)timestamp_as_objectN)ry  re   rf   fromisoformatr   r   )rW  ry  r=   
expected_0
expected_1r@   s   &     r   0test_feather_datetime_resolution_arrow_to_pandasr  a  s    
 "	v|,|, 0  
B " 99:''5J''5J'$==.24F ********r   )feather_)NrB  r   r    )NNNFNNN)NN)Nr   )rB  r   r    )ir  r+   r   r   r$   
hypothesishhypothesis.strategies
strategiesstnumpyrT   ImportErrorpyarrowr!   pyarrow.tests.strategiestestspastpyarrow.featherr   r   r   r   pandas.testingr   pandasre   pyarrow.pandas_compatfixturer   r   r   r&   r(   r)   r/   markr4   rA   rF   rM   r`   rk   ru   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   xfailr0  r   r   r   r   skipifr.   supports_unicode_filenamesr  r  r  r  filterwarningsr#  r'  r,  r1  r=  r   rA  r    rD  rL  rN  slowrP  large_memoryrT  rX  rZ  r^  ra  ri  ro  given
all_tablessampled_fromrq  rs  rw  r  r   r   r   <module>r     s#  $ 
 	 
    "  ' '- -	1 
 h$  $* h1v. / h'LM N 

 * *
)2
   . 
1 
1 2 2.    2 1 14 " "& 1 1 1 16 1 1 1 1$
& " " $ $. ; ;0 1 1
 D D 1 1 C C 1 1 ; ; 1 1 1 1 /)<+ = + + + 1 1 ; ; :::<  >-> - 	4 	4 - -  # # 9:FG; H ; ; + +9 * *  - - "5    "5J : :(- 1  1
 3  3,( F F"
'-&.
; "//*IJK; L ; # #  ; ; + +M  	B  		s"   [ [ 	[[[&%[&