
    ȅi                         S SK r S SKJrJrJr  S SKJr  S SK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)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       ^/home/james-whalen/.local/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!   r.   dumpsr   r$   s    r   r#   Event.serialize<       zz&,''r   r   N)r   r   r   r   r   r-   __annotations__r   r   intr   dictr   EventMetadataValuer&   staticmethodr   r2   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   r@   rA   rB   rC   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'   Sr\S-  \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   I   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__f   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$ )NrJ   r   )r,   r   r-   r.   r/   r
   r0   s     r   r2   RdzvEvent.deserializei   sQ    dI&&KdC  

4(I"+Il,C"D	,%9%%r   c                 @    [         R                  " [        U 5      5      $ r!   r5   r$   s    r   r#   RdzvEvent.serializes   r8   r   r   )r   r   r   r   r   r-   r9   r:   r
   rL   rM   rN   rO   r&   r=   r   r2   r#   r   r   r   r   r   r   I   s      IKLM	HOSD#*HcDjK  &%[ 01 &k & &(3 (r   r   )r.   dataclassesr   r   r   enumr   typingr   __all__r-   r:   floatboolr<   r   r	   r
   r   r   r   r   <module>r\      s     0 0   =3UD$67 #t   (  (  (FT  *( *( *(r   