Ë
    ìmxiÊ  ã                   ó–  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d„ Zej                  j                  d«      d„ «       Zd„ Zd„ Zej                  j                  d„ «       Zd	„ Zd
„ Zej                  j                  d„ «       Zej                  j                  ej&                  dk(  d¬«      d„ «       Zej                  j+                  dg ej,                  ‘ej.                  ‘ej0                  ‘ej2                  ‘ej4                  ‘ej6                  ‘ej8                  ‘ej:                  ‘ej<                  ‘ej>                  ‘ej@                  ‘ejB                  ‘ejD                  ‘ejF                  ‘ejH                  ‘ejJ                  ‘ejL                  ‘ejN                  ‘ejP                  ‘ejR                  ‘ejT                  ‘ejV                  ‘ejX                  ‘ejZ                  ‘ej\                  ‘ej^                  ‘ej`                  ‘ejb                  ‘ejd                  ‘ejf                  ‘ejh                  ‘ejj                  ‘ejl                  ‘ejn                  ‘ejp                  ‘ejr                  ‘ejt                  ‘ejv                  ‘ejx                  ‘ejz                  ‘ej|                  ‘ej~                  ‘ej€                  ‘ej‚                  ‘ej„                  ‘ej†                  ‘ejˆ                  ‘ejŠ                  ‘ejŒ                  ‘ejŽ                  ‘ej�                  ‘ej’                  ‘ej”                  ‘ej–                  ‘ej˜                  ‘ejš                  ‘ejœ                  ‘ejž                  ‘ej                   ‘ej¢                  ‘ej¤                  ‘ej¦                  ‘ej¨                  ‘ejª                  ‘ej¬                  ‘ej®                  ‘ej°                  ‘ej²                  ‘ej´                  ‘ej¶                  ‘ej¸                  ‘ejº                  ‘ej¼                  ‘ej¾                  ‘ejÀ                  ‘ejÂ                  ‘ejÄ                  ‘ejÆ                  ‘ejÈ                  ‘ejÊ                  ‘ejÌ                  ‘ejÎ                  ‘ejÐ                  ‘ejÒ                  ‘ejÔ                  ‘ejÖ                  ‘ejØ                  ‘ejÚ                  ‘ejÜ                  ‘ejÞ                  ‘ejà                  ‘ejâ                  ‘ejä                  ‘ejæ                  ‘ejè                  ‘ejê                  ‘ejì                  ‘ejî                  ‘ejð                  jò                  ‘ejð                  jô                  ‘ejö                  ‘ejø                  ‘ejú                  ‘ejü                  ‘ejþ                  ‘e�j                   ‘e�j                  ‘e�j                  ‘e�j                  ‘e�j                  ‘e�j
                  ‘e�j                  ‘e�j                  ‘e�j                  ‘«      d„ «       Z‰y)é    N)ÚArrowInvalidc                  ó¬   — t        j                  «       } t        j                  j	                  t        j                  j                  | dd«      «      sJ ‚y )NÚarrowzapi.h)ÚpaÚget_includeÚosÚpathÚexistsÚjoin)Úinclude_dirs    úN/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_misc.pyÚtest_get_includer      s5   € Ü—.‘.Ó"€KÜ�7‰7�>‰>œ"Ÿ'™'Ÿ,™, {°G¸WÓEÔFÐFÑFó    zsys.platform != "win32"c                  óP   — t        d„ t        j                  «       D «       «      sJ ‚y )Nc              3   ó–   K  — | ]A  }t         j                  j                  t         j                  j                  |d «      «      –— ŒC y­w)z	arrow.libN)r   r	   r
   r   )Ú.0Ú	directorys     r   ú	<genexpr>z.test_get_library_dirs_win32.<locals>.<genexpr>#   s4   è ø€ ò 7Øô �w‰w�~‰~œbŸg™gŸl™l¨9°kÓB×Cñ 7ùs   ‚AA	)Úanyr   Úget_library_dirs© r   r   Útest_get_library_dirs_win32r   !   s*   € äñ 7Ü "× 3Ñ 3Ó 5ô7ô 7ð 7ñ 7r   c                  ó  — t        j                  «       } | dkD  sJ ‚	 t        j                  | dz   «       t        j                  «       | dz   k(  sJ ‚	 t        j                  | «       y # t        j                  | «       w xY w©Nr   é   )r   Ú	cpu_countÚset_cpu_count©Úns    r   Útest_cpu_countr    '   sd   € Ü
�‰‹€AØˆqŠ5€Lˆ5ðÜ
×Ñ˜˜Q™ÔÜ�|‰|‹~  Q¡Ò&Ð&Ñ&ä
×Ñ˜ÕøŒ×Ñ˜Õúó   �4A( Á(A?c                  ó  — t        j                  «       } | dkD  sJ ‚	 t        j                  | dz   «       t        j                  «       | dz   k(  sJ ‚	 t        j                  | «       y # t        j                  | «       w xY wr   )r   Úio_thread_countÚset_io_thread_countr   s    r   Útest_io_thread_countr%   1   sj   € Ü
×ÑÓ€AØˆqŠ5€Lˆ5ð"Ü
×Ñ˜q 1™uÔ%Ü×!Ñ!Ó# q¨1¡uÒ,Ð,Ñ,ä
×Ñ˜qÕ!øŒ×Ñ˜qÕ!úr!   c                  óØ   ‡— dŠˆfd„}  | d«      \  }}|j                  «       dk(  sJ ‚|dk(  sJ ‚dD ]6  } | |«      \  }}|j                  «       dk(  sJ ‚d|j                  «       v rŒ6J ‚ y )NzOif 1:
        import pyarrow as pa
        print(pa.io_thread_count())
        c                 ó$  •— t         j                  j                  «       }| |d<   t        j                  t
        j                  d‰g|d¬«      }|j                  «        |j                  j                  «       |j                  j                  «       fS )NÚARROW_IO_THREADSú-cT)ÚenvÚcapture_output)r   ÚenvironÚcopyÚ
subprocessÚrunÚsysÚ
executableÚcheck_returncodeÚstdoutÚdecodeÚstderr)Úenv_varr*   ÚresÚcodes      €r   Úrun_with_env_varz6test_env_var_io_thread_count.<locals>.run_with_env_varD   so   ø€ Ü�j‰j�o‰oÓˆØ")ˆÐÑÜ�n‰nœcŸn™n¨d°DÐ9¸sØ,0ô2ˆà×ÑÔØ�z‰z× Ñ Ó" C§J¡J×$5Ñ$5Ó$7Ð7Ð7r   Ú17Ú )z-1ÚzÚ8z;ARROW_IO_THREADS does not contain a valid number of threads)Ústrip)r9   ÚoutÚerrÚvr8   s       @r   Útest_env_var_io_thread_countrB   ;   s‹   ø€ ð€Dô
8ñ   Ó%�H€CˆØ�9‰9‹;˜$ÒÐÐØ�"Š9Ðˆ9àò  ˆÙ# AÓ&‰ˆˆSØ�y‰y‹{˜cÒ!Ð!Ð!ØMØ—9‘9“;òð 	 ð ñ r   c                  óT  — t        t        j                  j                  t        j                  «      sJ ‚t        t        j
                  t        j                  «      sJ ‚t        t        j                  t        «      sJ ‚t        t        j                  t        «      sJ ‚t        j                  j                  j                  t        j                  k(  sJ ‚t        j                  j                  j                  t        j
                  k(  sJ ‚t        j                  j                  t        j                  u sJ ‚t        j                  j                  j                  dv sJ ‚t        t        j                  t        j                  «      sJ ‚t        j                  j                  dv sJ ‚y )N)ÚdebugÚreleaseÚ
minsizerelÚrelwithdebinfo)Ú
isinstancer   Ú
build_infoÚcpp_build_infoÚCppBuildInfoÚcpp_version_infoÚVersionInfoÚcpp_versionÚstrÚ__version__ÚversionÚversion_infoÚ
build_typeÚ	BuildInfor   r   r   Útest_build_inforU   W   s(  € Ü”b—m‘m×2Ñ2´B·O±OÔDÐDÐDÜ”b×)Ñ)¬2¯>©>Ô:Ð:Ð:Ü”b—n‘n¤cÔ*Ð*Ð*Ü”b—n‘n¤cÔ*Ð*Ð*Ü�=‰=×'Ñ'×/Ñ/´2·>±>ÒAÐAÐAÜ�=‰=×'Ñ'×4Ñ4¼×8KÑ8KÒKÐKÐKÜ�=‰=×'Ñ'¬2×+<Ñ+<Ñ<Ð<Ð<ä�=‰=×'Ñ'×2Ñ2ð 7<ñ <ð <ð <ô ”b—m‘m¤R§\¡\Ô2Ð2Ð2Ü�=‰=×#Ñ#ð (<ñ <ð <ñ <r   c                  ó~  — t        j                  «       } t        | t         j                  «      sJ ‚d}| j                  |v sJ ‚| j
                  |v sJ ‚| j                  dk7  r\t        j                  j                  «       }d|d<   d| j
                  ›d�}t        j                  t        j                  d|g|¬«       y y )N)ÚnoneÚsse4_2ÚavxÚavx2Úavx512rW   ÚARROW_USER_SIMD_LEVELzºif 1:
            import pyarrow as pa

            info = pa.runtime_info()
            assert info.simd_level == 'none', info.simd_level
            assert info.detected_simd_level == z6,                info.detected_simd_level
            r)   )r*   )r   Úruntime_inforH   ÚRuntimeInfoÚ
simd_levelÚdetected_simd_levelr   r,   r-   r.   Ú
check_callr0   r1   )ÚinfoÚpossible_simd_levelsr*   r8   s       r   Útest_runtime_inford   j   s¹   € Ü�?‰?Ó€DÜ�dœBŸN™NÔ+Ð+Ð+ØFÐØ�?‰?Ð2Ñ2Ð2Ð2Ø×#Ñ#Ð';Ñ;Ð;Ð;à‡�˜&Ò Ü�j‰j�o‰oÓˆØ'-ˆÐ#Ñ$ð0ð
 15×0HÑ0HÐ/Kð Lðˆô 	×ÑœsŸ~™~¨t°TÐ:ÀÖDð !r   c                  óT   — d} t        j                  t        j                  d| g«       y )Nzƒif 1:
        import atexit

        def import_arrow():
            import pyarrow

        atexit.register(import_arrow)
        r)   )r.   ra   r0   r1   )r8   s    r   Útest_import_at_shutdownrf      s$   € ð€Dô ×Ñœ3Ÿ>™>¨4°Ð6Õ7r   Úwin32zFPath to timezone database is not configurable on non-Windows platforms)Úreasonc                  óŽ   — t        j                  t        d¬«      5  t        j                  d«       d d d «       y # 1 sw Y   y xY w)Nz9Arrow was set to use OS timezone database at compile time©Úmatchr	   )ÚpytestÚraisesr   r   Úset_timezone_db_pathr   r   r   Ú%test_set_timezone_db_path_non_windowsro   �   s<   € ô
 
�‰”|ð8ô
9ñ (ô 	×Ñ Ô'÷(÷ (ñ (ús	   œ;»AÚklassc                 ó’   — d| j                   › d�}t        j                  t        |¬«      5   | «        d d d «       y # 1 sw Y   y xY w)NzDo not call z('s constructor directly, use .* instead.rj   )Ú__name__rl   rm   Ú	TypeError)rp   Úmsgs     r   Ú&test_extension_type_constructor_errorsru   ˜   sA   € ðl ˜Ÿ™Ð(Ð(PÐ
Q€CÜ	�‰”y¨Ô	,ñ ÙŒ÷÷ ñ ús	   ¬=½A)Šr   r.   r0   rl   Úpyarrowr   Úpyarrow.libr   r   ÚmarkÚskipifr   r    r%   Ú	processesrB   rU   rd   rf   Úplatformro   ÚparametrizeÚFieldÚSchemaÚChunkedArrayÚRecordBatchÚTableÚBufferÚArrayÚTensorÚDataTypeÚListTypeÚLargeListTypeÚFixedSizeListTypeÚListViewTypeÚLargeListViewTypeÚ	UnionTypeÚSparseUnionTypeÚDenseUnionTypeÚ
StructTypeÚ
Time32TypeÚ
Time64TypeÚTimestampTypeÚDecimal32TypeÚDecimal64TypeÚDecimal128TypeÚDecimal256TypeÚDictionaryTypeÚFixedSizeBinaryTypeÚ	NullArrayÚNumericArrayÚIntegerArrayÚFloatingPointArrayÚBooleanArrayÚ	Int8ArrayÚ
Int16ArrayÚ
Int32ArrayÚ
Int64ArrayÚ
UInt8ArrayÚUInt16ArrayÚUInt32ArrayÚUInt64ArrayÚ	ListArrayÚLargeListArrayÚMapArrayÚFixedSizeListArrayÚ
UnionArrayÚBinaryArrayÚStringArrayÚBinaryViewArrayÚStringViewArrayÚFixedSizeBinaryArrayÚDictionaryArrayÚDate32ArrayÚDate64ArrayÚTimestampArrayÚTime32ArrayÚTime64ArrayÚDurationArrayÚDecimal128ArrayÚDecimal256ArrayÚStructArrayÚRunEndEncodedArrayÚScalarÚBooleanScalarÚ
Int8ScalarÚInt16ScalarÚInt32ScalarÚInt64ScalarÚUInt8ScalarÚUInt16ScalarÚUInt32ScalarÚUInt64ScalarÚHalfFloatScalarÚFloatScalarÚDoubleScalarÚDecimal128ScalarÚDecimal256ScalarÚDate32ScalarÚDate64ScalarÚTime32ScalarÚTime64ScalarÚTimestampScalarÚDurationScalarÚStringScalarÚBinaryScalarÚFixedSizeBinaryScalarÚBinaryViewScalarÚStringViewScalarÚ
ListScalarÚLargeListScalarÚListViewScalarÚLargeListViewScalarÚ	MapScalarÚFixedSizeListScalarÚUnionScalarÚStructScalarÚDictionaryScalarÚRunEndEncodedScalarÚRecordBatchReaderÚipcÚMessageÚMessageReaderÚ
MemoryPoolÚLoggingMemoryPoolÚProxyMemoryPoolÚDeviceÚMemoryManagerÚOpaqueArrayÚOpaqueScalarÚ
OpaqueTypeÚ
Bool8ArrayÚBool8ScalarÚ	Bool8TypeÚ	JsonArrayÚ
JsonScalarÚJsonTyperu   r   r   r   ú<module>rð      s¬  ðó$ 
Û Û 
ã ã Ý $òGð
 ‡�×ÑÐ-Ó.ñ7ó /ð7ò
ò"ð ‡�×Ññ ó ð ò6<ò&Eð* ‡�×Ññ
8ó ð
8ð ‡�×Ñ�C—L‘L GÑ+ð6ð ó 7ñ(ó7ð(ð ‡�×Ñ˜ð s#Ø‡H�Hðs#à‡I�Iðs#ð ‡O�Oðs#ð ‡N�Nð	s#ð
 ‡H�Hðs#ð ‡I�Iðs#ð ‡H�Hðs#ð ‡I�Iðs#ð ‡K�Kðs#ð ‡K�Kðs#ð ×Ñðs#ð ×Ñðs#ð ‡O�Oðs#ð ×Ñðs#ð ‡L�Lðs#ð  ×Ñð!s#ð" ×Ñð#s#ð$ ‡M�Mð%s#ð& ‡M�Mð's#ð( ‡M�Mð)s#ð* ×Ñð+s#ð, ×Ñð-s#ð. ×Ñð/s#ð0 ×Ñð1s#ð2 ×Ñð3s#ð4 ×Ñð5s#ð6 ×Ñð7s#ð8 ‡L�Lð9s#ð: ‡O�Oð;s#ð< ‡O�Oð=s#ð> ×Ñð?s#ð@ ‡O�OðAs#ðB ‡L�LðCs#ðD ‡M�MðEs#ðF ‡M�MðGs#ðH ‡M�MðIs#ðJ ‡M�MðKs#ðL ‡N�NðMs#ðN ‡N�NðOs#ðP ‡N�NðQs#ðR ‡L�LðSs#ðT ×ÑðUs#ðV ‡K�KðWs#ðX ×ÑðYs#ðZ ‡M�Mð[s#ð\ ‡N�Nð]s#ð^ ‡N�Nð_s#ð` ×Ñðas#ðb ×Ñðcs#ðd ×Ñðes#ðf ×Ñðgs#ðh ‡N�Nðis#ðj ‡N�Nðks#ðl ×Ñðms#ðn ‡N�Nðos#ðp ‡N�Nðqs#ðr ×Ñðss#ðt ×Ñðus#ðv ×Ñðws#ðx ‡N�Nðys#ðz ×Ñð{s#ð| ‡I�Ið}s#ð~ ×Ñðs#ð@ ‡M�MðAs#ðB ‡N�NðCs#ðD ‡N�NðEs#ðF ‡N�NðGs#ðH ‡N�NðIs#ðJ ‡O�OðKs#ðL ‡O�OðMs#ðN ‡O�OðOs#ðP ×ÑðQs#ðR ‡N�NðSs#ðT ‡O�OðUs#ðV ×ÑðWs#ðX ×ÑðYs#ðZ ‡O�Oð[s#ð\ ‡O�Oð]s#ð^ ‡O�Oð_s#ð` ‡O�Oðas#ðb ×Ñðcs#ðd ×Ñðes#ðf ‡O�Oðgs#ðh ‡O�Oðis#ðj ×Ñðks#ðl ×Ñðms#ðn ×Ñðos#ðp ‡M�Mðqs#ðr ×Ñðss#ðt ×Ñðus#ðv ×Ñðws#ðx ‡L�Lðys#ðz ×Ñð{s#ð| ‡N�Nð}s#ð~ ‡O�Oðs#ð@ ×ÑðAs#ðB ×ÑðCs#ðD ×ÑðEs#ðF ‡F�F‡N�NðGs#ðH ‡F�F×ÑðIs#ðJ ‡M�MðKs#ðL ×ÑðMs#ðN ×ÑðOs#ðP ‡I�IðQs#ðR ×ÑðSs#ðT ‡N‚NðUs#ðV ‡O‚OðWs#ðX ‡M‚MðYs#ðZ ‡M‚Mð[s#ð\ ‡N‚Nð]s#ð^ ‡L‚Lð_s#ð` ‡L‚Lðas#ðb ‡M‚Mðcs#ðd ‡K‚Kðes#ó sñhóisñhr   