+
    xȇi.                        ^ RI Ht ^ RIHt ^ RIt^ RIHt ^ RIHt ^ RI	H
t
HtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ]'       d   ^ RIt^ RIHt ^ RIHt  ! R R]4      tR# )    )annotations)TYPE_CHECKINGN)lib)import_optional_dependency)Pandas4WarningParserErrorParserWarning)find_stack_level)pandas_dtype)
is_integer)arrow_table_to_pandas)
ParserBase)
ReadBuffer)	DataFramec                     a  ] tR t^!tRtR V 3R lltR R ltR R ltR tR	 R
 lt	R R lt
R R ltR R ltR R ltR R ltRtV ;t# )ArrowParserWrapperz/
Wrapper for the pyarrow engine for read_csv()
c                    V ^8  d   QhRRRR/# )   srczReadBuffer[bytes]returnNone )formats   "v/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/io/parsers/arrow_parser_wrapper.py__annotate__ArrowParserWrapper.__annotate__&   s      - $     c                	^   < \         SV `  V4       W n        Wn        V P	                  4        R # N)super__init__kwdsr   _parse_kwds)selfr   r"   	__class__s   &&,r   r!   ArrowParserWrapper.__init__&   s&    	r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   -   s     6 6T 6r   c                    V P                   P                  R4      pVf   RMTV n        V P                   R,          p\        V\        4      '       d   \        R4      h\        V P                   R,          4      V n        R# )z/
Validates keywords before passing to pyarrow.
encodingNzutf-8	na_valuesz?The pyarrow engine doesn't support passing a dict for na_values)r"   getr*   
isinstancedict
ValueErrorlistr+   )r$   r*   r+   s   &  r   r#   ArrowParserWrapper._parse_kwds-   sf      $yy}}Z8#+#3IIk*	i&&Q  dii45r   c                   V ^8  d   QhRR/# r(   r   )r   s   "r   r   r   ;   s     Y
 Y
d Y
r   c                   RRRRRRRRR	R
RR/pVP                  4        F^  w  r#W P                  9   g   K  V P                  P                  V4      f   K6  V P                  P                  V4      V P                  V&   K`  	  V P                  p\        V\        4      '       d   V.pMRpW@P                  R&   V P                  P                  4        UUu/ uF  w  rVVf   K  VR9   g   K  WVbK  	  uppV n        V P                  P                  R4      pVe   \        V4      '       d   WpP                  R&   MV\        P                  P                  8X  d   RV P                  R&   McV\        P                  P                  8X  d   R R lpWP                  R&   M/V\        P                  P                  8X  d   R V P                  R&   V P                  P                  4        UUu/ uF  w  rVVf   K  VR9   g   K  WVbK  	  uppV n        RV P                  R,          9   V P                  R&   V P                  fE   RV P                  9   d4   V P                  R,           U	u. uF  p	RV	 2NK
  	  up	V P                  R&   RV P                  RJ RV P                  e   V P                  MV P                  R,          RV P                   /V n        R# u uppi u uppi u up	i )z*
Rename some arguments to pass to pyarrow
usecolsinclude_columnsr+   null_values
escapecharescape_charskip_blank_linesignore_empty_linesdecimaldecimal_point	quotechar
quote_charNtimestamp_parserson_bad_linesinvalid_row_handlerc                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r   =ArrowParserWrapper._get_pyarrow_options.<locals>.__annotate__l   s     " "3 "r   c                    \         P                  ! R V P                   RV P                   RV P                   2\
        \        4       R7       R# )z	Expected z columns, but found z: )
stacklevelskip)warningswarnexpected_columnsactual_columnstextr	   r
   )invalid_rows   &r   handle_warning?ArrowParserWrapper._get_pyarrow_options.<locals>.handle_warningl   sL    MM#K$@$@#AAU&556b9I9I8JL%#3#5	 "r   c                    R # )rG   r   )_s   &r   <lambda>9ArrowParserWrapper._get_pyarrow_options.<locals>.<lambda>w   s    fr    strings_can_be_nullfautogenerate_column_names	skip_rowsskiprowsr*   )	delimiterr>   r8   r:   )r5   r6   true_valuesfalse_valuesr<   r?   )itemsr"   r,   popdate_formatr-   rC   parse_optionscallabler   BadLineHandleMethodERRORWARNSKIPconvert_optionsheaderr*   read_options)
r$   mappingpandas_namepyarrow_namer_   option_nameoption_valuer@   rN   ns
   &         r   _get_pyarrow_options'ArrowParserWrapper._get_pyarrow_options;   s   
 (- 4
 *1%Kii'DIIMM+,F,R*.))--*D		,' *9 &&k3''&-K K)4		%& .2YY__->
->) & OP &K%->
 yy}}^4#%%<H""#89!?!?!E!EE ""#89 !?!?!D!DD" =K""#89!?!?!D!DD<L""#89 .2YY__-> 
->) &  &K%-> 
 79DIIm<T6T23;;#48L8L#L!%!5!56G!H7!HA!A3!H7D  !23
 ()<{{& :&
i
> 
"7s*   K!K*K'K4K=K#Kc                	   \        R 4      p VP                  ! R/ V P                  B pV#   \         d   pT P                  P	                  RR4      pTe   T P                  T4       T P                  P	                  R\        4       4      p\        P                  ! T4      '       d;   \        ;QJ d    R T 4       F  '       d   K   RM	  RM! R T 4       4      '       g   \        R4      Thh Rp?ii ; i)	pyarrow.csvr5   Nr6   c              3  B   "   T F  p\        V\        4      x  K  	  R # 5ir   r-   rC   .0xs   & r   	<genexpr>:ArrowParserWrapper._get_convert_options.<locals>.<genexpr>   s      6,1q
1c""E   FTz9The 'pyarrow' engine requires all na_values to be stringsr   )
r   ConvertOptionsrf   	TypeErrorr,   _validate_usecolssetr   is_list_likeall)r$   pyarrow_csvrf   errincludenullss   &     r   _get_convert_options'ArrowParserWrapper._get_convert_options   s    0?	)88P4;O;OPO    	**../@$GG"&&w/((,,]CEBE##E**## 6,16### 6,16 3 3  O 	s'   + C3A;C.2C.C.!C..C3c                    V ^8  d   QhRRRR/# )r   tablezpa.Tabler   boolr   )r   s   "r   r   r      s     ! !( !t !r   c                	v   \        VP                  4      pR pV P                  f   V P                  f   \	        V4      V n        \        V P                  4      V8w  dW   \	        V\        V P                  4      ,
          4       Uu. uF  p\        V4      NK  	  ppWPP                  ,           V n        RpV# u upi )TF)lencolumnsrg   namesrangerC   )r$   r   num_colsmulti_index_namedrw   columns_prefixs   &&    r   _adjust_column_names'ArrowParserWrapper._adjust_column_names   s    u}}% ;;zz!"8_
4::(*
 383tzz?8R2S!T2SQ#a&2S!T+jj8
$)!   "Us   B6c               $    V ^8  d   QhRRRRRR/# r   framer   r   r   r   r   )r   s   "r   r   r      s!      Y 4 I r   c                	P   V P                   Ee   V P                   P                  4       p\        V P                   4       EF  w  rE\        V4      '       d   VP                  V,          W4&   MWQP                  9  d   \        RV R24      hV P                  f   K\  V P                  P                  V4      e   WPP                  P                  V4      3M>VP                  V,          V P                  P                  VP                  V,          4      3w  rgVf   K  W,          P                  V4      W&   V P                  V EK  	  VP                  VRRR7       V P                  f?   V'       g7   R .\        VP                  P                  4      ,          VP                  n        V# )NzIndex z invalidT)dropinplace)	index_colcopy	enumerater   r   r/   dtyper,   astype	set_indexrg   r   indexr   )r$   r   r   index_to_setiitemkey	new_dtypes   &&&     r   _finalize_index"ArrowParserWrapper._finalize_index   s@   >>%>>..0L$T^^4d##&+mmD&9LO.$vdV8%<== ::)  ::>>$/; zz~~d34#mmD14::>>%--PTBU3VW #C
 !,%*Z%6%6y%A
 JJsO! 5$ OOLtTOB{{"+<%)FS1B1B-C$C!r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   r      s      Y 9 r   c                	   V P                   e   \        V P                   \        4      '       dQ   V P                   P                  4        UUu/ uF#  w  r#W!P                  9   g   K  V\        V4      bK%  	  uppV n         M\        V P                   4      V n          VP                  V P                   4      pV# V# u uppi   \         d   p\        \        T4      4      ThR p?ii ; ir   )
r   r-   r.   r]   r   r   r   r|   r/   rC   )r$   r   kvr   s   &&   r   _finalize_dtype"ArrowParserWrapper._finalize_dtype   s    ::! $**d++ !%

 0 0 2 2MM) 'A|A& 2
 *$**5
4TZZ0 u  4 S*34s$   B9%B9B? ?C$
CC$c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r      s$      37	r   c                    V P                  VP                  V4      pV P                  W4      pV P                  V4      pV# )z
Processes data read in based on kwargs.

Parameters
----------
frame : DataFrame
    The DataFrame to process.
multi_index_named : bool

Returns
-------
DataFrame
    The processed DataFrame.
)_do_date_conversionsr   r   r   )r$   r   r   s   &&&r   _finalize_pandas_output*ArrowParserWrapper._finalize_pandas_output   s?    " ))%--?$$U>$$U+r   c                   V ^8  d   QhRR/# r(   r   )r   s   "r   r   r     s     	 	D 	r   c                	    \         P                  ! V4      '       dF   \        ;QJ d    R  V 4       F  '       d   K   RM	  RM! R  V 4       4      '       g   \        R4      h\	        V4      '       d   \        R4      hR# )c              3  B   "   T F  p\        V\        4      x  K  	  R # 5ir   rt   ru   s   & r   rx   7ArrowParserWrapper._validate_usecols.<locals>.<genexpr>  s     0UWAs1C1CWrz   FTzwThe pyarrow engine does not allow 'usecols' to be integer column positions. Pass a list of string column names instead.z=The pyarrow engine does not allow 'usecols' to be a callable.N)r   r   r   r/   ra   )r$   r4   s   &&r   r}   $ArrowParserWrapper._validate_usecols  sh    G$$SS0UW0USSS0UW0U-U-UP  gO  r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r     s     <F <Fi <Fr   c           
     t   \        R4      p\        R4      pV P                  4        V P                  4       p VP                  V P                  VP
                  ! R
/ V P                  B VP                  ! R
/ V P                  B VR7      pT P                  R,          pT\        P                  J d   TP                  pTP                  ! 4       p\!        TP                  P"                  4       FW  w  rTP"                  P%                  T
4      '       g   K(  TP'                  YP)                  T	4      P+                  T4      4      pKY  	  TP-                  T4      pT P/                  T4      p\0        P2                  ! 4       ;_uu_ 4        \0        P4                  ! RR\6        4       \9        TTRT P:                  T P<                  R	7      pRRR4       T P>                  f   T P<                  Xn         T PC                  XT4      #   TP                   d   p\        T4      ThRp?ii ; i  + '       g   i     Lf; i)z
Reads the contents of a CSV file into a DataFrame and
processes it according to the kwargs passed in the
constructor.

Returns
-------
DataFrame
    The DataFrame created from the CSV file.
pyarrowrr   )rh   r`   rf   Ndtype_backendignorezmake_block is deprecatedT)r   null_to_int64r   r   r   )"r   ro   r   read_csvr   ReadOptionsrh   ParseOptionsr`   ArrowInvalidr   r"   r   
no_defaultschemafloat64r   typesis_nullr~   field	with_typecastr   rH   catch_warningsfilterwarningsr   r   r   r   rg   r   r   )r$   par   rf   r   er   
new_schemanew_typer   
arrow_typer   r   s   &            r   readArrowParserWrapper.read  s    (	20?!!#335	((((44It7H7HI)66L9K9KL /	 ) E 		/2 CNN*Jzz|H!*5<<+=+=!>88##J//!+++A.88B"J "? JJz*E 55e<$$&&##*
 *+"jjjjE ' ;; JJEM++E3DEEK  	(a.a'	(( '&s%   AH AH'H$HH$'H7	)	rf   r   r*   r"   r+   r   r`   rh   r   )__name__
__module____qualname____firstlineno____doc__r!   r#   ro   r   r   r   r   r   r}   r   __static_attributes____classcell__)r%   s   @r   r   r   !   sH     6Y
v,! 8&,	<F <Fr   r   )
__future__r   typingr   rH   pandas._libsr   pandas.compat._optionalr   pandas.errorsr   r   r	   pandas.util._exceptionsr
   pandas.core.dtypes.commonr   pandas.core.dtypes.inferencer   pandas.io._utilr   pandas.io.parsers.base_parserr   r   r   pandas._typingr   pandasr   r   r   r   r   <module>r      sO    "     > 
 4 1 4) gF gFr   