
    y-PhH                     .   d Z ddlZ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 n3# e$ r+ 	 ddlZd Z ej        de          Zn# e$ r dZY nw xY wY nw xY wddlmZ ddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d	 Z%d
 Z&d Z'd Z(ddlm)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZmZ ddlmZmZmZmZmZmZmZm Z  ddlmZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" ddlm#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ ddlm,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 ddl7m8Z8m9Z9 ddl7m:Z: ddl;m<Z< ddl=m>Z>m?Z? ddl7m@Z@mAZAmBZBmCZCmDZDmEZEmFZF d ZGd ZHd ZId ZJd ZKd ZLd ZMdS )a  
PyArrow is the python implementation of Apache Arrow.

Apache Arrow is a cross-language development platform for in-memory data.
It specifies a standardized language-independent columnar memory format for
flat and hierarchical data, organized for efficient analytic operations on
modern hardware. It also provides computational libraries and zero-copy
streaming messaging and interprocess communication.

For more information see the official page at https://arrow.apache.org
    N   )versionc                 *    ddl m} d|d<    || fi |S )z
            Parse function for setuptools_scm that ignores tags for non-C++
            subprojects, e.g. apache-arrow-js-XXX tags.
            r   parsezBgit describe --dirty --tags --long --match 'apache-arrow-[0-9]*.*'describe_command)setuptools_scm.gitr   )rootkwargsr   s      P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyarrow/__init__.py	parse_gitr   /   s<    
 100000T %&5(((((    z../r   )	BuildInfoRuntimeInfoset_timezone_db_pathMonthDayNanoVersionInfocpp_build_infocpp_versioncpp_version_inforuntime_info	cpu_countset_cpu_countenable_signal_handlersio_thread_countset_io_thread_countc                     d } t          d            | dt          t          j                  dk    rt          j        nd            | dt          j                    | dt          j         dt          j                     | d	t          j                    | d
t          j                    | dt          j	                    | dt          j
                   dS )zJ
    Print various version information, to help with error reporting.
    c                 2    t          | dd|d           d S )Nz <26:  <8printlabelvalues     r   print_entryz"show_versions.<locals>.print_entryI   s*    ***u***+++++r   z)pyarrow version info
--------------------zPackage kindr   znot indicatedzArrow C++ library versionzArrow C++ compiler zArrow C++ compiler flagszArrow C++ git revisionzArrow C++ git descriptionzArrow C++ build typeN)r"   lenr   package_kindr   compiler_idcompiler_versioncompiler_flagsgit_idgit_description
build_type)r&   s    r   show_versionsr0   E   s   , , , 

6777K~233a77 !/ ; ;$& & & K+^-CDDDK$!-QQ0OQQS S SK*N,IJJJK(.*?@@@K+^-KLLLK&(ABBBBBr   c                 X    	 t          j        d|             dS # t          $ r Y dS w xY w)Nzpyarrow.TF)
_importlibimport_moduleImportError)modules    r   _module_is_availabler6   Y   sL     !4F!4!4555 t    uus    
))c                     	 dd l }n# t          $ r Y dS w xY w	 t          |j        |            dS # t          t          f$ r Y dS w xY w)Nr   FT)
pyarrow.fsr4   getattrfsAttributeError)r:   pyarrows     r   _filesystem_is_availabler=   b   s       uu
B t (   uus    
0 AAc                     t                       d } t          d            | dt          j                     dt          j                                 | dt                      j                    | dt                      j                   t                      }t          d            | d|j	                    | d	|
                                 d
            | d|                                 d
            | dd                    t                                           t          d           g d}|D ],}t          |          rdnd}t          d|dd|d           -t          d           g d}|D ],}t          |          rdnd}t          d|dd|d           -t          d           g d}|D ]1}t!          j        |          rdnd}t          d|dd|d           2dS )zN
    Print detailed version and platform information, for error reporting
    c                 4    t          d| dd|d           d S )N   <20r   r    r!   r#   s     r   r&   zshow_info.<locals>.print_entryv   s-    ,5,,,,,,-----r   z

Platform:z	OS / Archr'   z
SIMD LevelzDetected SIMD Levelz
Memory:zDefault backendzBytes allocatedz bytesz
Max memoryzSupported Backendsz, z
Optional modules:)
csvcudadatasetfeatherflightr:   gandivajsonorcparquetEnabled-r@   rA   r   r    z
Filesystems:)AzureFileSystemGcsFileSystemHadoopFileSystemS3FileSystemz
Compression Codecs:)brotlibz2gzip	lz4_framelz4snappyzstdN)r0   r"   	_platformsystemmachiner   
simd_leveldetected_simd_leveldefault_memory_poolbackend_namebytes_allocated
max_memoryjoinsupported_memory_backendsr6   r=   Codecis_available)	r&   poolmodulesr5   statusfilesystemsr:   codecscodecs	            r   	show_infork   p   s    OOO. . . 
-K	 0 2 2JJY5F5H5HJJKKKKlnn7888K%|~~'IJJJ  D	+K!4#4555K!d&:&:&<&<#D#D#DEEEK!2!2:::;;;K$dii0I0K0K&L&LMMM	
   ! ! !G 0 026::C.6...&...////	
7 7 7K , ,6r::C*2***f***++++	
!"""LLLF / /#077@S-5------..../ /r   )nullbool_int8int16int32int64uint8uint16uint32uint64time32time64	timestampdate32date64durationmonth_day_nano_intervalfloat16float32float64binarystringutf8binary_viewstring_viewlarge_binarylarge_string
large_utf8	decimal32	decimal64
decimal128
decimal256list_
large_list	list_viewlarge_list_viewmap_structunionsparse_uniondense_union
dictionaryrun_end_encodedbool8fixed_shape_tensorjson_opaqueuuidfieldtype_for_aliasDataTypeDictionaryType
StructTypeListTypeLargeListTypeFixedSizeListTypeListViewTypeLargeListViewTypeMapType	UnionTypeSparseUnionTypeDenseUnionTypeTimestampType
Time32Type
Time64TypeDurationTypeFixedSizeBinaryTypeDecimal32TypeDecimal64TypeDecimal128TypeDecimal256TypeBaseExtensionTypeExtensionTypeRunEndEncodedType	Bool8TypeFixedShapeTensorTypeJsonType
OpaqueTypeUuidTypePyExtensionTypeUnknownExtensionTyperegister_extension_typeunregister_extension_typeDictionaryMemoKeyValueMetadataFieldSchemaschemaunify_schemasArrayTensorarraychunked_arrayrecord_batchnullsrepeatSparseCOOTensorSparseCSRMatrixSparseCSCMatrixSparseCSFTensor
infer_typefrom_numpy_dtype	NullArrayNumericArrayIntegerArrayFloatingPointArrayBooleanArray	Int8Array
UInt8Array
Int16ArrayUInt16Array
Int32ArrayUInt32Array
Int64ArrayUInt64ArrayHalfFloatArray
FloatArrayDoubleArray	ListArrayLargeListArrayFixedSizeListArrayListViewArrayLargeListViewArrayMapArray
UnionArrayBinaryArrayStringArrayLargeBinaryArrayLargeStringArrayBinaryViewArrayStringViewArrayFixedSizeBinaryArrayDictionaryArrayDate32ArrayDate64ArrayTimestampArrayTime32ArrayTime64ArrayDurationArrayMonthDayNanoIntervalArrayDecimal32ArrayDecimal64ArrayDecimal128ArrayDecimal256ArrayStructArrayExtensionArrayRunEndEncodedArray
Bool8ArrayFixedShapeTensorArray	JsonArrayOpaqueArray	UuidArrayscalarNA_NULLScalar
NullScalarBooleanScalar
Int8ScalarInt16ScalarInt32ScalarInt64ScalarUInt8ScalarUInt16ScalarUInt32ScalarUInt64ScalarHalfFloatScalarFloatScalarDoubleScalarDecimal32ScalarDecimal64ScalarDecimal128ScalarDecimal256Scalar
ListScalarLargeListScalarFixedSizeListScalarListViewScalarLargeListViewScalarDate32ScalarDate64ScalarTime32ScalarTime64ScalarTimestampScalarDurationScalarMonthDayNanoIntervalScalarBinaryScalarLargeBinaryScalarBinaryViewScalarStringScalarLargeStringScalarStringViewScalarFixedSizeBinaryScalarDictionaryScalar	MapScalarStructScalarUnionScalarRunEndEncodedScalarBool8ScalarExtensionScalarFixedShapeTensorScalar
JsonScalarOpaqueScalar
UuidScalar)DeviceAllocationTypeDeviceMemoryManagerdefault_cpu_memory_manager)BufferResizableBufferforeign_buffer	py_bufferrc   compress
decompressallocate_buffer)
MemoryPoolLoggingMemoryPoolProxyMemoryPooltotal_allocated_bytesset_memory_poolr]   system_memory_pooljemalloc_memory_poolmimalloc_memory_poollogging_memory_poolproxy_memory_poollog_memory_allocationsjemalloc_set_decay_msrb   )
NativeFile
PythonFileBufferedInputStreamBufferedOutputStreamCacheOptionsCompressedInputStreamCompressedOutputStreamTransformInputStreamtranscoding_input_streamFixedSizeBufferWriterBufferReaderBufferOutputStreamOSFileMemoryMappedFile
memory_mapcreate_memory_mapMockOutputStreaminput_streamoutput_streamhave_libhdfs)	ChunkedArrayRecordBatchTabletableconcat_arraysconcat_tablesTableGroupByRecordBatchReaderconcat_batches)ArrowCancelledArrowCapacityErrorArrowExceptionArrowKeyErrorArrowIndexErrorArrowInvalidArrowIOErrorArrowMemoryErrorArrowNotImplementedErrorArrowTypeErrorArrowSerializationError)serialize_pandasdeserialize_pandas)_deprecate_api_deprecate_class)MessageMessageReaderMetadataVersionRecordBatchFileReaderRecordBatchFileWriterRecordBatchStreamReaderRecordBatchStreamWriterc                      t           j                            t           j                            t                    d          S )zr
    Return absolute path to directory containing Arrow C++ include
    headers. Similar to numpy.get_include
    include)_ospathra   dirname__file__ r   r   get_includer  .  s*    
 8==))(33Y???r   c                  B    t           j                            dd          S )N
PKG_CONFIG
pkg-config)r  environgetr  r   r   _get_pkg_config_executabler  6  s    ;??<666r   c                 ~    dd l }	 |                    t                      d| g          dk    S # t          $ r Y dS w xY w)Nr   z--existsF)
subprocesscallr  FileNotFoundError)pkgnamer  s     r   _has_pkg_configr  :  sf     : < < *G 5 6 69:; 	;   uus   '. 
<<c                 P   dd l }t                      | g|z   }|                    ||j        |j                  }|                                \  }}|j        dk    r%t          d|                    d          z             |                                                    d          S )Nr   )stdoutstderrzpkg-config failed: r   )	r  r  PopenPIPEcommunicate
returncodeRuntimeErrordecoderstrip)r  cli_argsr  cmdprocouterrs          r   _read_pkg_config_variabler  C  s    %''
1H
<CC
#-?  4 4D!!HC!03::f3E3EEFFF::<<v&&&r   c                  
    ddgS )zz
    Return list of library names to include in the `libraries` argument for C
    or Cython extensions using pyarrow
    arrow_pythonarrowr  r  r   r   get_librariesr  N  s    
 G$$r   c                  >   ddl } t          j        dk    rdS t          j                            t                    }t          j        dk    r7|                      t          j                            |d                    }d }n6|                      t          j                            |d                    }d }|D ]b} ||          }t          j                            |          r-	 t          j	        ||           D# t          $ r t          d	           Y _w xY wdS )
a#  
    With Linux and macOS wheels, the bundled shared libraries have an embedded
    ABI version like libarrow.so.17 or libarrow.17.dylib and so linking to them
    with -larrow won't work unless we create symlinks at locations like
    site-packages/pyarrow/libarrow.so. This unfortunate workaround addresses
    prior problems we had with shipping two copies of the shared libraries to
    permit third party projects like turbodbc to build their C++ extensions
    against the pyarrow wheels.

    This function must only be invoked once and only when the shared libraries
    are bundled with the Python package, which should only apply to wheel-based
    installs. It requires write access to the site-packages/pyarrow directory
    and so depending on your system may need to be run with root.
    r   Nwin32linuxz*.so.*c                 :    |                      dd          d         S )N.r   r   )rsplit	hard_paths    r   get_symlink_pathz1create_library_symlinks.<locals>.get_symlink_pathm  s    ##C++A..r   z	*.*.dylibc                 d    d                     |                     dd          d         df          S )Nr     r   dylib)ra   r  r  s    r   r  z1create_library_symlinks.<locals>.get_symlink_pathr  s.    88Y--c155a8'BCCCr   zyTried creating symlink {}. If you need to link to bundled shared libraries, run pyarrow.create_library_symlinks() as root)glob_sysplatformr  r  r  r  ra   existssymlinkPermissionErrorr"   )r  package_cwdbundled_libsr  lib_hard_pathsymlink_paths         r   create_library_symlinksr  V  sE    KKK}(""8,,K}yy{H!E!EFF	/ 	/ 	/ 	/ yy{K!H!HII	D 	D 	D & 	? 	?''668??<(( 		?K|4444 	? 	? 	? > ? ? ? ? ?	?	? 	?s   (C>>DDc                  8   t           j                            t                    } | gfd}t           j                            d          pd}dD ]n}t          |          r]t          |dg          }|rJ|                    d          s"t          d
                    |                     ||dd	                    ot          j        d
k    r&t           j                            t          j                  }t           j                            |dd          }t           j                            t           j                            |d                    r ||           t           j                            t           j                            t           j                            t                    t           j        d                    }t           j                            |          r ||           t           j                            d          r: |t           j                            t           j        d         d                     nJ |t           j                            t           j                            t                                         S )z
    Return lists of directories likely to contain Arrow C++ libraries for
    linking C or Cython extensions using pyarrow
    c                 >    | vr                     |            d S d S )N)append)library_dirlibrary_dirss    r   append_library_dirz,get_library_dirs.<locals>.append_library_dir  s0    l**,,,,, +*r   r  r  )r  r  z--libs-only-Lz-Lz7pkg-config --libs-only-L returned unexpected value {!r}r  Nr  Librarylibz	arrow.libzpyarrow.libs
ARROW_HOME)r  r  r  r  r  r  r  r  
startswith
ValueErrorformatr  r  
executablera   r  abspathpardir)r  r  pkg_config_executabler  r  python_base_installpyarrow_libs_dirr  s          @r   get_library_dirsr    sL   
 (""8,,K=L- - - - -  KOOL99I\, 4 47## 
	43G5D4EG GK  4"--d33 :$%%+VK%8%8: : : #";qrr?333} "h..t??hmm$7EJJ8??38==kBBCC 	,{+++ 8++HMM#(**844cj.QQ
 
 8??+,, 	1/000 {|$$ I38==\)BEJJKKKK 	38++CH,<,<X,F,FGGHHHr   (N  __doc__gc_gc	importlibr2   osr  r  rX   sysr  warnings	_warnings_generated_versionr   __version__r4   setuptools_scmr   get_versionpyarrow.libr  _libr   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r6   r=   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  NULLr  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  rc   r?  r@  rA  rB  rC  rD  rE  rF  r]   rG  rH  rI  rJ  rK  rL  rM  rb   rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  pyarrow.ipcrv  rw  ipcpyarrow.typestypespyarrow.utilrx  ry  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r   r   <module>r     s  (
 
                        :::::::   	) 	) 	) 1n07@B B B   #(      ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?C C C(    '/ '/ '/TPW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PW PWf5 5 5 5 5 5 5 5 5 5 5 5G G G G G G G G G G G G G G G G G G G G4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'< < < < < < < < < < < < < < < < < < < < < <

2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 = < < < < < < <             : 9 9 9 9 9 9 9K K K K K K K K K K K K K K K K K K@ @ @7 7 7  ' ' '% % %(? (? (?V5 5 5 5 5s2   # AAAA
AAAA