o
    h                     @  s   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ eG dd dZ	eG dd dZ
eG d	d
 d
ZdddZddddZdddZdddZdS )    )annotationsN)	dataclass)metadatac                   @  $   e Zd ZU dZded< 	 ded< dS )	_Variablez-Dataclass describing an environment variable.strnamevalueN__name__
__module____qualname____doc____annotations__ r   r   W/var/www/html/openai_agents/venv/lib/python3.10/site-packages/griffe/_internal/debug.pyr         
 r   c                   @  r   )_Packagez&Dataclass describing a Python package.r   r   versionNr
   r   r   r   r   r      r   r   c                   @  sL   e Zd ZU dZded< 	 ded< 	 ded< 	 ded< 	 ded< 	 d	ed
< dS )_Environmentz+Dataclass to store environment information.r   interpreter_nameinterpreter_versioninterpreter_pathplatformzlist[_Package]packageszlist[_Variable]	variablesNr
   r   r   r   r   r   $   s   
 r   returntuple[str, str]c                  C  s`   t tdr.tjj} | j d| j d| j }| j}|dkr(||d t| j	 7 }tjj
|fS dS )Nimplementation.finalr   ) 0.0.0)hasattrsysr   r   majorminormicroreleaselevelr   serialr   )implr   kindr   r   r   _interpreter_name_version6   s   
r,   griffedistr   c                 C  s$   zt | W S  t jy   Y dS w )zGet version of the given distribution.

    Parameters:
        dist: A distribution name.

    Returns:
        A version number.
    r"   )r   r   PackageNotFoundError)r.   r   r   r   _get_versionA   s
   	r0   c                    sX   t  \} }dg}dgdd tjD }t| |tjt  fdd|D dd |D dS )zVGet debug/environment information.

    Returns:
        Environment information.
    r-   
PYTHONPATHc                 S  s   g | ]	}| d r|qS )GRIFFE)
startswith.0varr   r   r   
<listcomp>X       z#_get_debug_info.<locals>.<listcomp>c                   s$   g | ]}t |  rt| qS r   )osgetenvr   r4   valr   r   r7   ^   s   $ c                 S  s   g | ]	}t |t|qS r   )r   r0   )r5   pkgr   r   r   r7   _   r8   )r   r   r   r   r   r   )r,   r9   environr   r$   
executabler   )py_name
py_versionr   r   r   r;   r   _get_debug_infoP   s   
rB   Nonec                  C  s   t  } td| j  td| j d| j d| j d td | jD ]}td|j d|j d	 q#td
 | j	D ]}td|j d|j
  q:dS )z$Print debug/environment information.z- __System__: z- __Python__:  z ()z- __Environment variables__:z  - `z`: ``z- __Installed packages__:z` vN)rB   printr   r   r   r   r   r   r	   r   r   )infor6   r=   r   r   r   _print_debug_infoc   s   "

rI   )r   r   )r-   )r.   r   r   r   )r   r   )r   rC   )
__future__r   r9   r   r$   dataclassesr   	importlibr   r   r   r   r,   r0   rB   rI   r   r   r   r   <module>   s    		

