a
    ƹDfu                     @   sR   d Z ddlmZmZ ddlmZ ddlmZ e Ze Z	dgZ
dd ZedkrNdS )	z
minimal interface to python's multiprocessing module

Notes:
    This module has been deprecated in favor of ``pathos.pools``.
    )ProcessPool__STATE)
ThreadPool)	cpu_countmp_mapc                 O   s  t  }d}d}d|v r6|d }|d |dkr6t  }d|v rP|d }|d d|v rj|d }|d d|v r||d d|v r|d d	|v r|d	 d
|v r|d
 d|v r|d d|v r|d d|v r|d d|v r|d d|v r|d |dv rT|s8tj| |g|R i |S tj| |g|R i |S n|dv r|s~tj| |g|R i |S tj| |g|R i |S nD|dv r|stj| |g|R i |S tj| |g|R i |S |stj| |g|R i |S tj| |g|R i |S dS )aZ  extend python's parallel map function to multiprocessing

Args:
    function - target function
    sequence - sequence to process in parallel
    nproc - number of 'local' cpus to use  [defaut = 'autodetect']
    type - processing type ['blocking', 'non-blocking', 'unordered']
    threads - if True, use threading instead of multiprocessing
    blockingFZnprocNtypethreadsZnnodesnodeslauncherZmapperqueueZ	timelimitZ	schedulerZncpusZservers)r   )	unordered)znon-blockingZordered)r   popmpmaptpZuimapimap)functionsequenceargskwdsZ	processesZproctyper	    r   Z/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/pathos/mp_map.pyr      sJ    






__main__N)__doc__Zpathos.multiprocessingr   r   Zpathos.threadingr   Zpathos.helpersr   r   r   __all__r   __name__r   r   r   r   <module>   s   :