+
    nDj                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHu H	t
 ] P                  P                  ] P                  P                  ]4      4      t] P                   P#                  RR4      t] P&                  R8X  d   R.tM] P&                  R8X  d   RR.tM. tR	tR
 t]P.                  P0                  ]P.                  P2                  R 4       4       t]P.                  P0                  ]P.                  P2                  R 4       4       tR# )    NPYARROW_TEST_LD_PATH posixz
-std=c++20ntz"-D_ENABLE_EXTENDED_ALIGNED_STORAGEz
/std:c++20a[  if 1:
    from setuptools import setup
    from Cython.Build import cythonize

    import numpy as np

    import pyarrow as pa

    ext_modules = cythonize({pyx_file!r})
    compiler_opts = {compiler_opts!r}
    custom_ld_path = {test_ld_path!r}

    for ext in ext_modules:
        # XXX required for numpy/numpyconfig.h,
        # included from arrow/python/api.h
        ext.include_dirs.append(np.get_include())
        ext.include_dirs.append(pa.get_include())
        ext.libraries.extend(pa.get_libraries())
        ext.library_dirs.extend(pa.get_library_dirs())
        if custom_ld_path:
            ext.library_dirs.append(custom_ld_path)
        ext.extra_compile_args.extend(compiler_opts)
        print("Extension module:",
              ext, ext.include_dirs, ext.libraries, ext.library_dirs)

    setup(
        ext_modules=ext_modules,
    )
c           	         \         P                  ! . RO4      pV P                  V4      ^8X  g   Q h\        P                  ! \
        RR7      ;_uu_ 4        V P                  R4       RRR4       \         P                  ! ^{4      pV P                  V\         P                  ! 4       4      pV\         P                  ! R4      8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        V P                  V\         P                  ! \         P                  ! 4       4      4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)   znot an arraymatchN123z<Unsupported cast from int64 to list using function cast_list)r         )paarrayget_array_lengthpytestraises	TypeErrorscalarcast_scalarutf8NotImplementedErrorlist_int64)modarrscal	cast_scals   &   S/data/cameron/venvs/s3viz/lib/python3.14/site-packages/pyarrow/tests/test_cython.pycheck_cython_example_moduler   D   s    
((9
C$)))	y	7	7T" 
8 99S>Dbggi0I		%((((	*)
* 
* 	bhhrxxz23
* 
* 
8	7
* 
* 
*s   D/+:E/D?	E	c           
        ^ RI pV P                  4       ;_uu_ 4        Rp\        P                  ! \        P
                  P                  \        V4      \        P
                  P                  \        V 4      V4      4       \        P                  V\        \        R7      p\        RR4      ;_uu_ 4       pVP                  V4       RRR4       \        P                   ! 4       p\"        P$                  ! \&        P(                  RRR.VR7       \&        P
                  R	,          p\&        P
                  P+                  ^ \        V 4      4        \-        R
4      p\/        V4       V\&        n        R\0        P2                  ! 4        R2pRp	\&        P4                  R8X  d   \7        \        R4      '       g   RRrM\&        P4                  R8X  d   RRrMRRrV	'       ds   \&        P
                  pV\0        P2                  ! 4       ,          pWP9                  V	R4      .,          pV Uu. uF  q'       g   K  VNK  	  ppX
P                  V4      WY&   \"        P$                  ! \&        P(                  RV.\"        P:                  VR7       RRR4       R#   + '       g   i     EL; i  T\&        n        i ; iu upi   + '       g   i     R# ; i)z 
Basic test for the Cython API.
Nzpyarrow_cython_example.pyxpyx_filecompiler_optstest_ld_pathsetup.pyw	build_ext	--inplaceenv:NNNpyarrow_cython_examplezif 1:
            import sys
            import os

            try:
                # Add dll directory was added on python 3.8
                # and is required in order to find extra DLLs
                # only for win32
                for dir in a*  :
                    os.add_dll_directory(dir)
            except AttributeError:
                pass

            mod = __import__('pyarrow_cython_example')
            arr = mod.make_null_array(5)
            assert mod.get_array_length(arr) == 5
            assert arr.null_count == 5
        win32add_dll_directory;PATHdarwin:DYLD_LIBRARY_PATHLD_LIBRARY_PATHr   z-c)stdoutr*   )cythonas_cwdshutilcopyfileospathjoinherestrsetup_templateformatr#   r$   openwrite	test_util get_modified_env_with_pythonpath
subprocess
check_callsys
executableinsert
__import__r   r   get_library_dirsplatformhasattrgetPIPE)tmpdirr5   r"   
setup_codefsubprocess_env	orig_pathr   codepath_vardelimpathsr:   s   &            r   test_cython_apirX   U   s!    	/T84S[(;	= $**H9F8D + F
 *c""aGGJ #
 #CCE 	s~~z*K9"0	2
 HHQK	3v;'	!56C', CH //12 	3	& <<7"2233 #&vx\\X%!#68!#48HHER((**E((2677E&+4edtTTeE4',zz%'8N$s~~tT:%/__"0	2I 
 #""& !CHL 5E 
sX   BJ:4J	BJ:J%$A8J:A	J:&	J54J5:AJ:J"	J:%J22J::K	c           
         V P                  4       ;_uu_ 4        R p\        P                  ! \        P                  P                  \        V4      \        P                  P                  \        V 4      V4      4       \        P                  V\        \        R7      p\        RR4      ;_uu_ 4       pVP                  V4       RRR4       \        P                  ! 4       p\         P"                  ! \$        P&                  RRR.VR7       RRR4       \$        P                  P)                  ^ \        V 4      4       \+        R4      p. ROp. pVP-                  WgP.                  4       Wv8X  g   Q h\0        P2                  ! \4        R	R
7      ;_uu_ 4        R pVP-                  Wh4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)z bound_function_visit_strings.pyxr!   r%   r&   Nr'   r(   r)   bound_function_visit_stringswtfr	   c                 *    V R 8X  d   \        R4      hR# )br[   N)
ValueError)ss   &r   
raise_on_b&test_visit_strings.<locals>.raise_on_b   s    Cx ''     )ar]   c)r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r#   r$   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   _visit_stringsappendr   r   r^   )	rO   r"   rP   rQ   rR   r   stringsvisitedr`   s	   &        r   test_visit_stringsri      sY    
5T84S[(;	= $**H9F8D + F
 *c""aGGJ # #CCE 	s~~z*K9"0	2 
& HHOOAs6{#
3
4CGGw/	z	/	/	( 	7/ 
0	/' #" 
8 
0	/	/s1   BG0F1	AGG1G<GG	G(	)r9   r7   rD   rF   r   pyarrowr   pyarrow.tests.utiltestsutilrB   r:   dirnameabspath__file__r<   environrM   r$   namer#   r>   r   marknumpyr5   rX   ri    rb   r   <module>rv      s   $ 
   
   & &	wwrwwx01zz~~4b977g!NMWW_9<HMM>4" M2  M2` "0  "0rb   