o
    8ήc                  
   @   sz   d dl Z d dlZd dlmZ edk r*zd dlZW n ey) Z zededZ[ww d dlmZ da	e 
eZdd ZdS )	    N)	PYVERSION)   	   zmimportlib_metadata backport is required for Python version < 3.9, try:
$ conda/pip install importlib_metadata)metadataFc                  C   sn   t rdS da dd } t }t|dr#|jdddD ]}| | qdS |dd	D ]}|jdkr4| | q)dS )
zExecute all `numba_extensions` entry points with the name `init`

    If extensions have already been initialized, this function does nothing.
    NTc              
   S   s   t d|  z
|  }|  W d	S  tyB } z&d| j dt|j dt| d}tj	|dd t d|  W Y d	}~d	S d	}~ww )
z>Loads a given entry point. Warns and logs on failure.
        zLoading extension: %szNumba extension module 'z' failed to load due to '(z)'.r   )
stacklevelz Extension loading failed for: %sN)
loggerdebugload	Exceptionmoduletype__name__strwarningswarn)entry_pointfuncemsg r   =/tmp/pip-target-vg8gfxp4/lib/python/numba/core/entrypoints.pyload_ep#   s   
zinit_all.<locals>.load_epselectnumba_extensionsinit)groupnamer   )_already_initializedimportlib_metadataentry_pointshasattrr   getr   )r   epsr   r   r   r   init_all   s   


r$   )loggingr   numba.core.configr   r   ImportErrorex	importlibr   r   	getLoggerr   r   r$   r   r   r   r   <module>   s$    
