+
    nDj                    `    ^ RI Ht ^ RIt^ RIt ! R R]P
                  4      t ! R R4      tR# )    )annotationsNc                  :    ] tR t^tRt^t^t^t^t^t	^t
^	t^
tRtR# )DlpackDeviceTypez3Integer enum for device type codes matching DLPack. N)__name__
__module____qualname____firstlineno____doc__CPUCUDA
CPU_PINNEDOPENCLVULKANMETALVPIROCM__static_attributes__r       T/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/interchange/buffer.pyr   r      s-    =
CDJFFE
CDr   r   c                  t    ] tR t^%tRtRR R llt]R R l4       t]R R l4       tR t	R	 R
 lt
R R ltRtR# )_PyArrowBuffera1  
Data in the buffer is guaranteed to be contiguous in memory.

Note that there is no dtype attribute present, a buffer can be thought of
as simply a block of memory. However, if the column that the buffer is
attached to has a dtype that's supported by DLPack and ``__dlpack__`` is
implemented, then that dtype information will be contained in the return
value from ``__dlpack__``.

This distinction is useful to support both data exchange via DLPack on a
buffer and (b) dtypes like variable-length strings which do not have a
fixed number of bytes per element.
c               $    V ^8  d   QhRRRRRR/# )   xz	pa.Buffer
allow_copyboolreturnNoner   )formats   "r   __annotate___PyArrowBuffer.__annotate__4   s!      )   r   c                    Wn         R# )z
Handle PyArrow Buffers.
N_x)selfr   r   s   &&&r   __init___PyArrowBuffer.__init__4   s	     r   c                   V ^8  d   QhRR/# r   r   intr   )r    s   "r   r!   r"   ;   s       r   c                .    V P                   P                  # )z
Buffer size in bytes.
)r%   sizer&   s   &r   bufsize_PyArrowBuffer.bufsize:   s    
 ww||r   c                   V ^8  d   QhRR/# r*   r   )r    s   "r   r!   r"   B   s      S r   c                .    V P                   P                  # )z/
Pointer to start of the buffer as an integer.
)r%   addressr.   s   &r   ptr_PyArrowBuffer.ptrA   s    
 wwr   c                    \        R4      h)aE  
Produce DLPack capsule (see array API standard).

Raises:
    - TypeError : if the buffer contains unsupported dtypes.
    - NotImplementedError : if DLPack support is not implemented

Useful to have to connect to array libraries. Support optional because
it's not completely trivial to implement for a Python-only library.

__dlpack__)NotImplementedErrorr.   s   &r   r7   _PyArrowBuffer.__dlpack__H   s     ",//r   c                   V ^8  d   QhRR/# )r   r   z#tuple[DlpackDeviceType, int | None]r   )r    s   "r   r!   r"   U   s     	; 	;#F 	;r   c                t    V P                   P                  '       d   \        P                  R3# \	        R4      h)z
Device type and device ID for where the data in the buffer resides.
Uses device type codes matching DLPack.
Note: must be implemented even if ``__dlpack__`` is not.
N__dlpack_device__)r%   is_cpur   r   r8   r.   s   &r   r<    _PyArrowBuffer.__dlpack_device__U   s.     77>>>$(($//%&9::r   c                   V ^8  d   QhRR/# )r   r   strr   )r    s   "r   r!   r"   `   s     
 
# 
r   c           
     	    R \        RV P                  RV P                  RV P                  4       ^ ,          P                  /4      ,           R,           # )zPyArrowBuffer(r/   r4   device))r@   r/   r4   r<   namer.   s   &r   __repr___PyArrowBuffer.__repr__`   sQ    t||488d446q9>> 
	
r   r$   N)T)r   r   r	   r
   r   r'   propertyr/   r4   r7   r<   rE   r   r   r   r   r   r   %   sH        0	;
 
r   r   )
__future__r   enumpyarrowpaIntEnumr   r   r   r   r   <module>rM      s,   $ #  
t|| 
F
 F
r   