
    IЦi                         S SK r S SKJrJrJr  S SKJr  S SKJrJ	r	J
r
  / SQr\
\\\\S4   r " S S\\5      r\ " S S	5      5       r " S
 S\\5      r\ " S S5      5       rg)    N)asdict	dataclassfield)Enum)DictOptionalUnion)EventSourceEvent	NodeState	RdzvEventc                        \ rS rSrSrSrSrSrg)r
      z)Known identifiers of the event producers.AGENTWORKER N)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r       c/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/distributed/elastic/events/api.pyr
   r
      s    3EFr   r
   c                       \ rS rSr% Sr\\S'   \\S'   Sr\	\S'   \
" \S9r\\\4   \S'   S	 r\S
\\S 4   SS 4S j5       rS\4S jrSrg)r      a]  
The class represents the generic event that occurs during the torchelastic job execution.

The event can be any kind of meaningful action.

Args:
    name: event name.
    source: the event producer, e.g. agent or worker
    timestamp: timestamp in milliseconds when event occurred.
    metadata: additional data that is associated with the event.
namesourcer   	timestamp)default_factorymetadatac                 "    U R                  5       $ N	serializeselfs    r   __str__Event.__str__/       ~~r   datareturnc                     [        U [        5      (       a  U $ [        U [        5      (       a  [        R                  " U 5      n[
        WS      US'   [        S0 UD6$ )Nr   r   )
isinstancer   strjsonloadsr
   r+   	data_dicts     r   deserializeEvent.deserialize2   sQ    dE""KdC  

4(I))H*=>	(!y!!r   c                 @    [         R                  " [        U 5      5      $ r#   r0   dumpsr   r&   s    r   r%   Event.serialize;       zz&,''r   r   N)r   r   r   r   r   r/   __annotations__r
   r   intr   dictr!   r   EventMetadataValuer(   staticmethodr	   r4   r%   r   r   r   r   r   r      st    
 IIs.3D.IHd3**+I  "%W- "' " "(3 (r   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)	r   ?   z,The states that a node can be in rendezvous.INITRUNNING	SUCCEEDEDFAILEDr   N)
r   r   r   r   r   rB   rC   rD   rE   r   r   r   r   r   r   ?   s    6DGIFr   r   c                       \ rS rSr% Sr\\S'   \\S'   \\S'   \\S'   \\S'   \\S'   S	r	\\S
'   Sr
\\   \S'   Sr\\   \S'   S	r\\S'   S r\S\\S 4   SS 4S j5       rS\4S jrSrg)r   H   aX  
Dataclass to represent any rendezvous event.

Args:
    name: Event name. (E.g. Current action being performed)
    run_id: The run id of the rendezvous
    message: The message describing the event
    hostname: Hostname of the node
    pid: The process id of the node
    node_state: The state of the node (INIT, RUNNING, SUCCEEDED, FAILED)
    master_endpoint: The master endpoint for the rendezvous store, if known
    rank: The rank of the node, if known
    local_id: The local_id of the node, if defined in dynamic_rendezvous.py
    error_trace: Error stack trace, if this is an error event.
r   run_idmessagehostnamepid
node_state master_endpointNranklocal_iderror_tracec                 "    U R                  5       $ r#   r$   r&   s    r   r(   RdzvEvent.__str__e   r*   r   r+   r,   c                     [        U [        5      (       a  U $ [        U [        5      (       a  [        R                  " U 5      n[
        WS      US'   [        S0 UD6$ )NrL   r   )r.   r   r/   r0   r1   r   r2   s     r   r4   RdzvEvent.deserializeh   sQ    dI&&KdC  

4(I"+Il,C"D	,%9%%r   c                 @    [         R                  " [        U 5      5      $ r#   r7   r&   s    r   r%   RdzvEvent.serializeq   r:   r   r   )r   r   r   r   r   r/   r;   r<   r   rN   rO   r   rP   rQ   r(   r?   r	   r4   r%   r   r   r   r   r   r   H   s      IKLM	HOSD(3-"Hhsm"K  &%[ 01 &k & &(3 (r   r   )r0   dataclassesr   r   r   enumr   typingr   r   r	   __all__r/   r<   floatboolr>   r
   r   r   r   r   r   r   <module>r^      s     0 0  ( ( =3UD$67 #t  ( ( (DT  )( )( )(r   