a
    _DfL                  	   @   s   d dl Z d dlmZ d dlmZ d dlmZmZmZm	Z	 d dl
m
Z
 e Zdd Ze e e	dZe	d	Zdeegef ee ee ee eeddddZdS )    N)ThreadPoolExecutor)length_hint)CallableIterableOptionalTypeVar)tqdmc                   C   s   t   d S )N)SHARED_THREAD_POOLshutdown r   r   `/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/globox/thread_utils.pyat_exit   s    r   UVitFzlist[V])fnr   desctotalunitverbosereturnc                 C   sr   | }|pt |}g }t||||d8}t| |}	|	D ]}
||
 |  q8W d    n1 sd0    Y  |S )N)r   r   r   disable)r   r   r	   mapappendupdate)r   r   r   r   r   r   r   resultsZpbarZfuturesresultr   r   r   
thread_map   s    
(r   )NNr   F)atexitconcurrent.futuresr   operatorr   typingr   r   r   r   r   r	   r   registerr   r   strintboolr   r   r   r   r   <module>   s,   
    