+
    Ŝi                        ^ RI 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HtHt ^ RIH	t	Ht  ! R	 R
]
4      tR# )    )annotations)abc)TYPE_CHECKING)PandasColumn)	DataFrame)maybe_rechunk)IterableSequence)r   Indexc                      ] tR t^tRtRR R lltRR R llt]R R l4       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 R ltR R ltR R ltR R R lltRtR# )!PandasDataFrameXchgz
A data frame class, with only the methods required by the interchange
protocol defined.
Instances of this (private) class are returned from
``pd.DataFrame.__dataframe__`` as objects with the methods and
attributes defined on this class.
c               $    V ^8  d   QhRRRRRR/# )   dfr   
allow_copyboolreturnNone )formats   "j/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/pandas/core/interchange/dataframe.py__annotate__ PandasDataFrameXchg.__annotate__   s!     
0 
09 
0$ 
0$ 
0    c                .   VP                  \        R7      V n        W n        \	        V P                  P
                  4       FP  w  r4\        V P                  P                  RV3,          VR7      pVf   K5  V P                  P                  W54       KR  	  R# )zb
Constructor - an instance of this (private) class is returned from
`pd.DataFrame.__dataframe__`.
)columnsNNNr   N)	renamestr_df_allow_copy	enumerater   r   ilocisetitem)selfr   r   i_col	rechunkeds   &&&   r   __init__PandasDataFrameXchg.__init__   sl    
 99S9)% !1!12GA%dhhmmAqD&9jQI$!!!/ 3r   c               $    V ^8  d   QhRRRRRR/# )r   nan_as_nullr   r   r   r   r   )r   s   "r   r   r   +   s$     9 99599	9r   c                	.    \        V P                  V4      # N)r   r!   )r&   r-   r   s   &&&r   __dataframe__!PandasDataFrameXchg.__dataframe__+   s    
 #488Z88r   c                   V ^8  d   QhRR/# )r   r   zdict[str, Index]r   )r   s   "r   r   r   3   s     0 0* 0r   c                	2    R V P                   P                  /# )zpandas.index)r!   indexr&   s   &r   metadataPandasDataFrameXchg.metadata2   s     //r   c                   V ^8  d   QhRR/# r   r   intr   )r   s   "r   r   r   8   s     % %S %r   c                	@    \        V P                  P                  4      # r/   )lenr!   r   r5   s   &r   num_columnsPandasDataFrameXchg.num_columns8   s    488##$$r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   ;   s      # r   c                	,    \        V P                  4      # r/   )r<   r!   r5   s   &r   num_rowsPandasDataFrameXchg.num_rows;   s    488}r   c                   V ^8  d   QhRR/# r9   r   )r   s   "r   r   r   >   s      C r   c                	    ^# )   r   r5   s   &r   
num_chunksPandasDataFrameXchg.num_chunks>   s    r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   A   s        e  r   c                	.    V P                   P                  # r/   )r!   r   r5   s   &r   column_names PandasDataFrameXchg.column_namesA   s    xxr   c                    V ^8  d   QhRRRR/# )r   r'   r:   r   r   r   )r   s   "r   r   r   D   s     N NC NL Nr   c                	j    \        V P                  P                  R V3,          V P                  R7      # )r   r   )r   r!   r$   r"   )r&   r'   s   &&r   
get_columnPandasDataFrameXchg.get_columnD   s&    DHHMM!Q$/D<L<LMMr   c                    V ^8  d   QhRRRR/# )r   namer    r   r   r   )r   s   "r   r   r   G   s     I Is I| Ir   c                	R    \        V P                  V,          V P                  R 7      # r   )r   r!   r"   r&   rQ   s   &&r   get_column_by_name&PandasDataFrameXchg.get_column_by_nameG   s    DHHTNt7G7GHHr   c                   V ^8  d   QhRR/# )r   r   zlist[PandasColumn]r   )r   s   "r   r   r   J   s     
 
/ 
r   c                	    V P                   P                   Uu. uF+  p\        V P                   V,          V P                  R 7      NK-  	  up# u upi rS   )r!   r   r   r"   rT   s   & r   get_columnsPandasDataFrameXchg.get_columnsJ   sH     ((
( $D4D4DE(
 	
 
s   1Ac                    V ^8  d   QhRRRR/# )r   indiceszSequence[int]r   r   r   )r   s   "r   r   r   P   s     
 
m 
8K 
r   c                	   \        V\        P                  4      '       g   \        R 4      h\        V\        4      '       g   \	        V4      p\        V P                  P                  RV3,          V P                  R7      # )z`indices` is not a sequencer   r   )	
isinstancer   r
   
ValueErrorlistr   r!   r$   r"   )r&   r\   s   &&r   select_columns"PandasDataFrameXchg.select_columnsP   s^    '3<<00:;;'4((7mG"HHMM!W*%$2B2B
 	
r   c                    V ^8  d   QhRRRR/# )r   namesz	list[str]r   r   r   )r   s   "r   r   r   Z   s     X XI X:M Xr   c                	   \        V\        P                  4      '       g   \        R 4      h\        V\        4      '       g   \	        V4      p\        V P                  P                  RV3,          V P                  R7      # )z`names` is not a sequencer   r   )	r^   r   r
   r_   r`   r   r!   locr"   )r&   rd   s   &&r   select_columns_by_name*PandasDataFrameXchg.select_columns_by_nameZ   sY    %..899%&&KE"488<<5#9dFVFVWWr   Nc                    V ^8  d   QhRRRR/# )r   n_chunksz
int | Noner   zIterable[PandasDataFrameXchg]r   )r   s   "r   r   r   b   s      : 9V r   c              #  N  "   V'       d   V^8  d   \        V P                  4      pW!,          pW!,          ^ 8w  d
   V^,          p\        ^ W1,          V4       FA  p\        V P                  P                  WDV,           1R3,          V P
                  R7      x  KC  	  R# V x  R# 5i)z)
Return an iterator yielding the chunks.
r   r   N)r<   r!   ranger   r$   r"   )r&   rj   sizestepstarts   &&   r   
get_chunksPandasDataFrameXchg.get_chunksb   s      1txx=D#D!#	q$/48)HHMM%$,"6"9:#//  9 Js   B#B%)r"   r!   )T)FTr/   )__name__
__module____qualname____firstlineno____doc__r*   r0   propertyr6   r=   rA   rF   rJ   rN   rU   rY   ra   rg   rp   __static_attributes__r   r   r   r   r      s_    
09 0 0
% NI

X r   r   N)
__future__r   collectionsr   typingr   pandas.core.interchange.columnr   *pandas.core.interchange.dataframe_protocolr   DataFrameXchgpandas.core.interchange.utilsr   collections.abcr	   r
   pandasr   r   r   r   r   <module>r      s2    "    7 Q 7
[- [r   