+
    nDj=                     2   ^ RI HtHtHt ^ RIHtHt  ^ RIHtH	t	H
t
HtHtHtHtHtHt  ^ RIHt ^ RIHt RR ltRRR
R]R3R ltR
]3R ltR t]3R ltRR ltR#   ] d   t]! R]! ]4       R24      RhRtAii ; i  ] d     ! R R	4      t]t L^i ; i)    )TableRecordBatcharray)
Expressionfield)	DeclarationExecNodeOptionsTableSourceNodeOptionsFilterNodeOptionsProjectNodeOptionsAggregateNodeOptionsOrderByNodeOptionsHashJoinNodeOptionsAsofJoinNodeOptionsz@The pyarrow installation is not built with support for 'acero' ()N)ScanNodeOptionsc                   >    ] tR t^2t ! R R4      t ! R R4      tRtR# )DatasetModuleStubc                       ] tR t^3tRtR# )DatasetModuleStub.Dataset N__name__
__module____qualname____firstlineno____static_attributes__r       G/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/acero.pyDatasetr   3       r   r    c                       ] tR t^6tRtR# )!DatasetModuleStub.InMemoryDatasetr   Nr   r   r   r   InMemoryDatasetr#   6   r!   r   r$   r   N)r   r   r   r   r    r$   r   r   r   r   r   r   2   s    	 		 	r   r   TFc           	         \        R \        WVR7      4      pV P                  P                   Uu. uF  p\	        V4      NK  	  pp\         P
                  ! V\        R\        V4      4      .4      pV P                  P                  R4      pVe,   \         P
                  ! V\        R\        V4      4      .4      pV# u upi )scanuse_threadsimplicit_orderingprojectfilter)
r   r   schemanamesr   from_sequencer   _scan_optionsgetr   )datasetr(   r)   declfprojectionsfilter_exprs   &&&    r   _dataset_to_declr6   ;   s    v+ - .D &-^^%9%9:%958%9K:$$	{9&8&EFGD ''++H5K ((;x):;)GHI
 K ;s   B=c                b	   \        V\        \        P                  34      '       g   \	        R\        V4       24      h\        V\        \        P                  34      '       g   \	        R\        V4       24      h/ p\        V\        \        34      '       g   V.p\        V4       F	  w  rWV&   K  	  / p\        V\        \        34      '       g   V.p\        V4       F	  w  rWV&   K  	  VP                  P                  pVP                  P                  pV R8X  g   V R8X  d   . pM[V R8X  g   V R8X  d   . pMJV R8X  g   V R8X  d   V Uu. uF  pVV9  g   K  VNK  	  ppM!V R8X  d   V Uu. uF  pVV9  g   K  VNK  	  pp/ p\        V4       F  w  ppVV9   g   K  VVV&   K  	  / p\        V4       F  w  ppVV9   g   K  VVV&   K  	  \        V\        P                  4      '       d   \        WR	7      pM\        R
\        V4      4      p\        V\        P                  4      '       d   \        W7R	7      pM\        R
\        V4      4      pV'       d'   \        YYOTT;'       g    RT;'       g    RV
R7      pM$\        YTT;'       g    RT;'       g    RV
R7      p\        RVVV.R7      pV'       Ed   V R8X  Ed   \        V4      p\        V4      p\!        V4      p. p. p\        VV,           4       EF"  w  ppV\!        V4      8  d   VV9   d   VP#                  V4       VWKV,          ,          ,          pVP#                  \$        P&                  ! R\$        P(                  ! V4      \$        P(                  ! VV,           4      .4      4       K  VV8  d
   VV9   d   K  V'       d   VV8  d   VV9   d
   VV,          pV'       d   VV8  d   VV9   d
   VV,          pVP#                  V4       VP#                  \$        P(                  ! V4      4       EK%  	  \        R\+        VV4      4      p\        P,                  ! VV.4      pVP/                  VR	7      p V	\        8X  d   V # V	\        P0                  8X  d   \        P0                  ! V 4      # \	        R4      hu upi u upi )aE  
Perform join of two tables or datasets.

The result will be an output table with the result of the join operation

Parameters
----------
join_type : str
    One of supported join types.
left_operand : Table or Dataset
    The left operand for the join operation.
left_keys : str or list[str]
    The left key (or keys) on which the join operation should be performed.
right_operand : Table or Dataset
    The right operand for the join operation.
right_keys : str or list[str]
    The right key (or keys) on which the join operation should be performed.
left_suffix : str, default None
    Which suffix to add to left column names. This prevents confusion
    when the columns in left and right operands have colliding names.
right_suffix : str, default None
    Which suffix to add to the right column names. This prevents confusion
    when the columns in left and right operands have colliding names.
use_threads : bool, default True
    Whether to use multithreading or not.
coalesce_keys : bool, default False
    If the duplicated keys should be omitted from one of the sides
    in the join result.
output_type: Table or InMemoryDataset
    The output type for the exec plan result.
filter_expression : pyarrow.compute.Expression
    Residual filter which is applied to matching row.

Returns
-------
result_table : Table or InMemoryDataset
Expected Table or Dataset, got z	left semiz	left antiz
right semiz
right antiinnerz
left outerzright outerr(   table_source )output_suffix_for_leftoutput_suffix_for_rightfilter_expressionhashjoinoptionsinputsz
full outercoalescer*   Unsupported output type)
isinstancer   dsr    	TypeErrortypetuplelist	enumerater,   r-   r6   r   r
   r   setlenappendr   _call_fieldr   r.   to_tabler$   )!	join_typeleft_operand	left_keysright_operand
right_keysleft_suffixright_suffixr(   coalesce_keysoutput_typer?   left_keys_orderidxkeyright_keys_orderleft_columnsright_columnscolleft_column_keys_indicescolnameright_column_keys_indicesleft_sourceright_source	join_optsr2   left_columns_setright_columns_setright_operand_indexprojected_col_namesr4   right_key_index
projectionresult_tables!   &&&&&&&&&&&                      r   _perform_joinrp   R   s   T lUBJJ$7889$|:L9MNOOmeRZZ%8999$}:M9NOPP Oi%//K	i(" ) j4-00 \
j) # *  &&,,L!((..M K9#;	l	"i<&?	g	l!:(
(CC7G,GCC= 	 
 
m	#'
'C3o+ECC< 	 
  "!,/Wi03$W- 0 !#!-0Wj 14%g. 1
 ,

++&|M!.2H2VW-,,'O"2=A
 '*M#.#4#4"$0$6$6B/	
	 (*#.#4#4"$0$6$6B/	
	 I{L.ID }l2 |,.!,/ !,">?HCS&&32J+J#**3/
 #<s34#6""$$Z"))#.
0A0A/?1A2  ++7P0P  C*=$=00;&C S,?%?//<'C#**3/""%%c*E @J !)+7JK

 (($
);<==[=9Le	**	*!!,//122Y

s   	R'R'/	R,=R,c	                b   \        V \        \        P                  34      '       g   \	        R\        V 4       24      h\        V\        \        P                  34      '       g   \	        R\        V4       24      h\        V\        \        34      '       g   V.p\        V\        \        34      '       g   V.pVP                  P                   U	u. uF  p	W.V,           9  g   K  V	NK  	  p
p	\        V P                  P                  4      \        V
4      ,          pV'       d   \        RV R24      h\        V \        P                  4      '       d   \        V VRR7      pM\        R\        V 4      4      p\        V\        P                  4      '       d   \        W7RR7      pM\        R\        V4      4      p\        WWEV4      p\        RWV.R7      pVP!                  VR	7      pV\        8X  d   V# V\        P"                  8X  d   \        P"                  ! V4      # \	        R
4      hu up	i )a  
Perform asof join of two tables or datasets.

The result will be an output table with the result of the join operation

Parameters
----------
left_operand : Table or Dataset
    The left operand for the join operation.
left_on : str
    The left key (or keys) on which the join operation should be performed.
left_by: str or list[str]
    The left key (or keys) on which the join operation should be performed.
right_operand : Table or Dataset
    The right operand for the join operation.
right_on : str or list[str]
    The right key (or keys) on which the join operation should be performed.
right_by: str or list[str]
    The right key (or keys) on which the join operation should be performed.
tolerance : int
    The tolerance to use for the asof join. The tolerance is interpreted in
    the same units as the "on" key.
output_type: Table or InMemoryDataset
    The output type for the exec plan result.

Returns
-------
result_table : Table or InMemoryDataset
r8   zColumns zE present in both tables. AsofJoin does not support column collisions.Tr'   r;   asofjoinrA   r:   rE   )rF   r   rG   r    rH   rI   rJ   rK   r,   r-   rM   
ValueErrorr6   r   r
   r   rR   r$   )rT   left_onleft_byrV   right_onright_by	tolerancer(   r[   rb   ra   columns_collisionsrf   rg   rh   r2   ro   s   &&&&&&&&&        r   _perform_join_asofrz     s   B lUBJJ$7889$|:L9MNOOmeRZZ%8999$}:M9NOPPgt}--)h..: %++111j8++ 	1   \00667#m:LL)* +; ;
 	
 ,

++&#"$
 "2<@
 -,,'"$ #2=A
 $(iI IL.ID ==[=9Le	**	*!!,//122Ys   H,&H,c           	     8   Rp\        V \        4      '       d   \        P                  ! V .4      p Rp\        P
                  ! \	        R\        V 4      R7      \	        R\        V4      R7      .4      pVP                  RR7      pV'       d   VP                  ^ 8  d(   VP                  4       P                  4       ^ ,          pV# VP                   Uu. uF  p\        . VP                  R7      NK  	  pp\        P                  ! WdP                  R7      pV# u upi )	a\  Filter rows of a table based on the provided expression.

The result will be an output table with only the rows matching
the provided expression.

Parameters
----------
table : Table or RecordBatch
    Table that should be filtered.
expression : Expression
    The expression on which rows should be filtered.

Returns
-------
Table or RecordBatch
FTr;   )rB   r+   r:   )rI   )r,   )rF   r   r   from_batchesr   r.   r
   r   rR   num_rowscombine_chunks
to_batchesr,   r   rI   from_arrays)table
expressionis_batchr2   resultr   arrayss   &&     r   _filter_tabler   b  s    " H%%%""E7+$$N,B5,IJH&7
&CD& D ]]t],F??Q**,779!<F M ?EmmLmUeBUZZ0mFL ,,VMMJFM Ms    Dc                    \        V \        P                  4      '       d   \        V R R7      pM\	        R\        V 4      4      p\	        R\        V3/ VB 4      p\        P                  ! WE.4      pVP                  R R7      pV\        8X  d   V# V\        P                  8X  d   \        P                  ! V4      # \        R4      h)Tr:   r;   order_byrE   )rF   rG   r    r6   r   r
   r   r.   rR   r   r$   rH   )table_or_dataset	sort_keysr[   kwargsdata_sourcer   r2   ro   s   &&&,    r   _sort_sourcer     s    "BJJ//&'7TJ!23CD
 :'9)'Nv'NOH$$k%<=D==T=2Le	**	*!!,//122r   c                     \         P                  ! \        R \        V 4      4      \        R\        WR7      4      .4      pVP	                  VR7      # )r;   	aggregate)keysr:   )r   r.   r
   r   rR   )r   
aggregatesr   r(   r2   s   &&&& r   	_group_byr     sJ    $$N$:5$ABK!5j!LM& D ==[=11r   )TF)T) pyarrow.libr   r   r   pyarrow.computer   r   pyarrow._aceror   r	   r
   r   r   r   r   r   r   ImportErrorexcstrpyarrow.datasetr1   rG   pyarrow._datasetr   r   r6   rp   rz   r   r   r   r   r   r   <module>r      s   2 2 1 -
 
 
"
 02 #"%#t	r3n /3#(X3v!H ;@ 3,2i  

J3s8*TUV    
Bs(   A B  A=%A88A= BB