o
    qo™iJ	  ã                   @   sT   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ e  	e
¡ZG dd„ dƒZdS )é    N)ÚAny)Ú
DictConfig)Ú	JobReturn)ÚTaskFunctionc                   @   s˜   e Zd Zdededdfdd„Zdededdfdd„Zdededdfd	d
„Zdededdfdd„Zdede	deddfdd„Z
dedededdfdd„ZdS )ÚCallbackÚconfigÚkwargsÚreturnNc                 K   ó   dS )zÝ
        Called in RUN mode before job/application code starts. `config` is composed with overrides.
        Some `hydra.runtime` configs are not populated yet.
        See hydra.core.utils.run_job for more info.
        N© ©Úselfr   r   r   r   úO/home/ubuntu/.local/lib/python3.10/site-packages/hydra/experimental/callback.pyÚon_run_start   s   zCallback.on_run_startc                 K   r
   )zH
        Called in RUN mode after job/application code returns.
        Nr   r   r   r   r   Ú
on_run_end   s   zCallback.on_run_endc                 K   r
   )z²
        Called in MULTIRUN mode before any job starts.
        When using a launcher, this will be executed on local machine before any Sweeper/Launcher is initialized.
        Nr   r   r   r   r   Úon_multirun_start   ó   zCallback.on_multirun_startc                 K   r
   )zˆ
        Called in MULTIRUN mode after all jobs returns.
        When using a launcher, this will be executed on local machine.
        Nr   r   r   r   r   Úon_multirun_end#   r   zCallback.on_multirun_endÚtask_functionc                K   r
   )a{  
        Called in both RUN and MULTIRUN modes, once for each Hydra job (before running application code).
        This is called from within `hydra.core.utils.run_job`. In the case of remote launching, this will be executed
        on the remote server along with your application code. The `task_function` argument is the function
        decorated with `@hydra.main`.
        Nr   )r   r   r   r   r   r   r   Úon_job_start*   s   	zCallback.on_job_startÚ
job_returnc                 K   r
   )a´  
        Called in both RUN and MULTIRUN modes, once for each Hydra job (after running
        application code).
        This is called from within `hydra.core.utils.run_job`. In the case of remote launching, this will be executed
        on the remote server after your application code.

        `job_return` contains info that could be useful for logging or post-processing.
        See hydra.core.utils.JobReturn for more.
        Nr   )r   r   r   r   r   r   r   Ú
on_job_end5   s   zCallback.on_job_end)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s.    ÿÿÿ
þÿÿÿþr   )ÚloggingÚtypingr   Ú	omegaconfr   Úhydra.core.utilsr   Úhydra.typesr   Ú	getLoggerr   Úloggerr   r   r   r   r   Ú<module>   s   
