
    g                     h    d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ  G d d      Z	 G d d	      Z
y
)    )dumps)Optional)
deprecated)BoundedAttributes)
Attributesc            	           e Zd ZdZdZ edd      	 	 ddedee   d	ee   fd
       Zd Z	d Z
d Zd Zedee   fd       Zedee   fd       Zedefd       Zy)InstrumentationInfozImmutable information about an instrumentation library module.

    See `opentelemetry.trace.TracerProvider.get_tracer` for the meaning of these
    properties.
    _name_version_schema_urlz1.11.1z#You should use InstrumentationScope)versionreasonNnamer   
schema_urlc                 6    || _         || _        |d}|| _        y )N r
   )selfr   r   r   s       [/var/www/openai/venv/lib/python3.12/site-packages/opentelemetry/sdk/util/instrumentation.py__init__zInstrumentationInfo.__init__    s%     
J%    c                     t        |       j                   d| j                   d| j                   d| j                   dS N(z, ))type__name__r   r   r   r   s    r   __repr__zInstrumentationInfo.__repr__-   s<    t*%%&a

|2dmm_BtGWGWFXXYZZr   c                 Z    t        | j                  | j                  | j                  f      S Nhashr   r   r   r   s    r   __hash__zInstrumentationInfo.__hash__0   "    TZZ0@0@ABBr   c                     t        |      t        |       u xrG | j                  | j                  | j                  f|j                  |j                  |j                  fk(  S r!   )r   r   r   r   r   values     r   __eq__zInstrumentationInfo.__eq__3   sW    E{d4j( >JJMM.
 kk5>>5+<+<=	.> 	>r   c                     t        |      t        |       urt        S | j                  | j                  | j                  f|j                  |j                  |j                  fk  S r!   )r   NotImplementedr   r   r   r'   s     r   __lt__zInstrumentationInfo.__lt__:   sW    ;d4j(!!

DMM4+;+;<KKNN@
 
 	
r   returnc                     | j                   S r!   r   r   s    r   r   zInstrumentationInfo.schema_urlC       r   c                     | j                   S r!   r   r   s    r   r   zInstrumentationInfo.versionG       }}r   c                     | j                   S r!   r   r   s    r   r   zInstrumentationInfo.nameK       zzr   )NN)r   
__module____qualname____doc__	__slots__r   strr   r   r   r$   r)   r,   propertyr   r   r    r   r   r	   r	      s     5I)NO "&$(	
&
& #
& SM	
& P
&[C>
  HSM     #   c  r   r	   c                       e Zd ZdZdZ	 	 	 ddedee   dee   dee   ddf
d	Zdefd
Z	de
fdZdedefdZdedefdZedee   fd       Zedee   fd       Zedefd       Zedefd       ZddefdZy)InstrumentationScopezA logical unit of the application code with which the emitted telemetry can be
    associated.

    See `opentelemetry.trace.TracerProvider.get_tracer` for the meaning of these
    properties.
    )r   r   r   _attributesNr   r   r   
attributesr-   c                 X    || _         || _        |d}|| _        t        |      | _        y )Nr   )rA   )r   r   r   r   r@   )r   r   r   r   rA   s        r   r   zInstrumentationScope.__init__Z   s2     
J%,
Cr   c           
          t        |       j                   d| j                   d| j                   d| j                   d| j
                   d
S r   )r   r   r   r   r   r@   r   s    r   r   zInstrumentationScope.__repr__h   sK    t*%%&a

|2dmm_BtGWGWFXXZ[_[k[kZllmnnr   c                 Z    t        | j                  | j                  | j                  f      S r!   r"   r   s    r   r$   zInstrumentationScope.__hash__k   r%   r   r(   c                     t        |t              st        S | j                  | j                  | j
                  | j                  f|j                  |j                  |j
                  |j                  fk(  S r!   
isinstancer?   r+   r   r   r   r@   r'   s     r   r)   zInstrumentationScope.__eq__n   si    %!56!!JJMM	
 KKNN	


 
	
r   c                     t        |t              st        S | j                  | j                  | j
                  | j                  f|j                  |j                  |j
                  |j                  fk  S r!   rF   r'   s     r   r,   zInstrumentationScope.__lt__}   si    %!56!!JJMM	
 KKNN	


 
	
r   c                     | j                   S r!   r/   r   s    r   r   zInstrumentationScope.schema_url   r0   r   c                     | j                   S r!   r2   r   s    r   r   zInstrumentationScope.version   r3   r   c                     | j                   S r!   r5   r   s    r   r   zInstrumentationScope.name   r6   r   c                     | j                   S r!   )r@   r   s    r   rA   zInstrumentationScope.attributes   r0   r   c                     t        | j                  | j                  | j                  t	        | j
                        rt        | j
                        nd d|      S )N)r   r   r   rA   )indent)r   r   r   r   boolr@   dict)r   rN   s     r   to_jsonzInstrumentationScope.to_json   sM    

=="...243C3C.DD))*$ 

 
	
r   )NNN)   )r   r7   r8   r9   r:   r;   r   r   r   r   intr$   objectrO   r)   r,   r<   r   r   r   rA   rQ   r=   r   r   r?   r?   P   s$    DI
 "&$(+/DD #D SM	D
 Z(D 
Do# oC# C
F 
t 

F 
t 
  HSM     #   c    J    
3 
r   r?   N)jsonr   typingr   r   opentelemetry.attributesr   opentelemetry.util.typesr   r	   r?   r=   r   r   <module>rY      s-      ! 6 /6 6rW
 W
r   