
    'ii                     D   d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	 ddl
mZ erddlmZ ddlmZ d Z e j"                         d	eee	d
      ed   f   fd       Z e j"                         d	eee	d
   f   fd       ZddZ e j"                         d	eedf   fd       Zy)    N)metadata)TYPE_CHECKINGListMappingTupleType   )logger)Executor)JobEnvironmentc                  <   t        j                         } t        | d      r| j                  d      S 	 t        j                         d   S # t        $ r Y nw xY wt        | d      r| j                  dg       S | D cg c]  }t        |dd      dk(  s| c}S c c}w )zrReturn an iterable of EntryPoint objects in the 'submitit' group
    compatible with Python 3.8+ and the backport.selectsubmitit)groupgetr   N)r   entry_pointshasattrr   	TypeErrorr   getattr)epseps     O/var/www/stems/demucs_env/lib/python3.12/site-packages/submitit/core/plugins.py_iter_submitit_entrypointsr      s    
 


!CsHzz
z++$$&z22  sEwwz2&& I2GT :j HBIIIs   A 	AA<BBreturnr   r   c                  J   ddl m} m } ddlm} |j                  |j                  | j
                  g}|j                         |j                         | j                         g}t               D ]  }|j                  dvr/t        j                  |j                   d|j                          @|j                  j                  dd      d   }	 |j                         }|j                  dk(  r|j%                  |       	  |       }	|j%                  |	        ||fS # t         $ r%}t        j"                  d	| d
|        Y d }~d }~ww xY w# t         $ rM}t'        |dt'        |dt)        |                  }
t        j"                  d|
 d| d| d
|        Y d }~2d }~ww xY w)Nr	   )debuglocal)slurm)executorjob_environmentz = :   r   z Failed to load submitit plugin 'z': r   name__name__zFailed to init JobEnvironment 'z' (z) from submitit plugin ')r   r   r   SlurmExecutorLocalExecutorDebugExecutorSlurmJobEnvironmentLocalJobEnvironmentDebugJobEnvironmentr   r#   r
   warningvaluesplitload	Exception	exceptionappendr   str)r   r   r   	executorsjob_envsentry_pointmodule_nameobjejob_envr#   s              r   _get_pluginsr:   +   s    %).)<)<e>Q>QSXSfSf(gI))+U-F-F-H%JcJcJefH13 %#BBNNk../s;3D3D2EFG!''--c15a8	 ""$C z)S!% OOG$5%8 x  %  	?}CPQsST	  sFGCSX,NO  5dV3seC[\g[hhklmkno s1   D=E	E	$EE		F"AFF"c                  `    t               d   D  ci c]  } | j                         |  c} S c c} w )Nr   r:   r#   )exs    r   get_executorsr>   R   s)     %1N1$56bBGGIrM666   +c                  T   t               } dt        j                  v r8t        j                  d   }|| v sJ d| d| j                          d       | |   S | j	                         D ]  }|j                         s|c S  t        ddj                  | j                                d      )N_TEST_CLUSTER_zUnknown $_TEST_CLUSTER_='z', available: .zSCould not figure out which environment the job is runnning in. Known environments: z, )get_job_environmentsosenvironkeysvalues	activatedRuntimeErrorjoin)envscenvs      r   get_job_environmentrN   X   s      !D2::%JJ'(DyU5aStyy{mSTUUyAw{{} ==?J 
]^b^g^ghlhqhqhs^t]uuvw     c                  `    t               d   D  ci c]  } | j                         |  c} S c c} w )Nr"   r<   )rM   s    r   rC   rC   j   s'    '3~a'89CHHJO999r?   )r   r   )	functoolsrD   	importlibr   typingr   r   r   r   r   corer
   	core.corer   core.job_environmentr   r   	lru_cacher:   r2   r>   rN   rC    rO   r   <module>rY      s     	  < < $5J. #!eDj!12D9I4JJK #! #!L 7wsD$445 7 7
$ :gc+;&;< : :rO   