o
    8wÖi¸  ã                   @   s¤   d Z ddlZddlZddlmZ ddlm  mZ ddlm	Z	m
Z
mZmZmZmZ e e¡e_dee fdd„ZejZeedeƒ pBdƒe_G d	d
„ d
eƒZee_dS )zFUtilities that can be used for calling functions on a particular rank.é    N)ÚOptional)ÚWarningCacheÚrank_prefixed_messageÚrank_zero_debugÚrank_zero_deprecationÚrank_zero_infoÚrank_zero_warnÚreturnc                  C   s2   d} | D ]}t j |¡}|d urt|ƒ  S qd S )N)ÚRANKÚ
LOCAL_RANKÚSLURM_PROCIDÚJSM_NAMESPACE_RANK)ÚosÚenvironÚgetÚint)Ú	rank_keysÚkeyÚrank© r   úa/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/lightning_fabric/utilities/rank_zero.pyÚ	_get_rank#   s   ÿr   r   c                   @   s   e Zd ZdZdS )ÚLightningDeprecationWarningz)Deprecation warnings raised by Lightning.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   5   s    r   )r   Úloggingr   Útypingr   Ú"lightning_utilities.core.rank_zeroÚcoreÚ	rank_zeroÚrank_zero_moduler   r   r   r   r   r   Ú	getLoggerr   Úlogr   r   Úrank_zero_onlyÚgetattrr   ÚDeprecationWarningr   Úrank_zero_deprecation_categoryr   r   r   r   Ú<module>   s    	
