a
    þd‘  ã                   @   s4   d dl mZmZ d dlmZmZ G dd„ deƒZdS )é    )ÚABCÚabstractmethod)ÚAnyÚCallablec                   @   s>   e Zd ZdZeeedœdd„ƒƒZeee	e	e	dœdd„ƒZ
dS )	Ú	_Launcheraœ  
    Abstract base class for all Launchers.

    Launchers are responsible for the creation and instrumentation of new processes so that the
    :class:`~lightning_fabric.strategies.strategy.Strategy` can set up communication between all them.

    Subclass this class and override any of the relevant methods to provide a custom implementation depending on
    cluster environment, hardware, strategy, etc.
    )Úreturnc                 C   s   dS )z]Returns whether this launcher can work in interactive environments such as Jupyter notebooks.N© )Úselfr   r   ús/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/lightning_fabric/strategies/launchers/base.pyÚis_interactive_compatible   s    z#_Launcher.is_interactive_compatible)ÚfunctionÚargsÚkwargsr   c                 O   s   dS )zLaunches the processes.Nr   )r	   r   r   r   r   r   r
   Úlaunch"   s    z_Launcher.launchN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   Úboolr   r   r   r   r   r   r   r
   r      s   
r   N)Úabcr   r   Útypingr   r   r   r   r   r   r
   Ú<module>   s   