
    g                        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             Z	e G d d             Z
e G d	 d
             ZddZdddZddZddZy)    )annotationsN)	dataclass)metadatac                  (    e Zd ZU dZded<   	 ded<   y)	_Variablez-Dataclass describing an environment variable.strnamevalueN__name__
__module____qualname____doc____annotations__     B/var/www/openai/venv/lib/python3.12/site-packages/_griffe/debug.pyr   r      s    7
IJr   r   c                  (    e Zd ZU dZded<   	 ded<   y)_Packagez&Dataclass describing a Python package.r   r	   versionNr   r   r   r   r   r      s    0
ILr   r   c                  X    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
<   y)_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:    5"%$M r   r   c                 >   t        t        d      rt        j                  j                  } | j                   d| j
                   d| j                   }| j                  }|dk7  r||d   t        | j                        z   z  }t        j                  j                  |fS y)Nimplementation.finalr   ) 0.0.0)hasattrsysr    r   majorminormicroreleaselevelr   serialr	   )implr   kinds      r   _interpreter_name_versionr.   6   s    s$%!!))ZZL$**Qtzzl;  7?tAwT[[!111G!!&&//r   c                `    	 t        j                  |       S # t         j                  $ r Y yw xY w)zGet version of the given distribution.

    Parameters:
        dist: A distribution name.

    Returns:
        A version number.
    r$   )r   r   PackageNotFoundError)dists    r   _get_versionr2   A   s0    %%(( s    --c                    t               \  } }dg}dgt        j                  D cg c]  }|j                  d      s| c}}t	        | |t
        j                  t        j                         |D cg c]&  }t        j                  |      x}st        ||      ( c}|D cg c]  }t        |t        |             c}      S c c}w c c}w c c}w )zVGet debug/environment information.

    Returns:
        Environment information.
    griffe
PYTHONPATHGRIFFE)r   r   r   r   r   r   )r.   osenviron
startswithr   r&   
executabler   getenvr   r   r2   )py_name
py_versionr   varr   valpkgs          r   _get_debug_inforA   P   s     45GZzHX

 W
cnnX>V
 WXI &""$2;W)3ryyQT~@U@U9S#&)W>FGhs(3S 12hG  !X XGs   CC1CC"Cc            	        t               } t        d| j                          t        d| j                   d| j                   d| j
                   d       t        d       | j                  D ](  }t        d|j                   d|j                   d	       * t        d
       | j                  D ]'  }t        d|j                   d|j                          ) y)z$Print debug/environment information.z- __System__: z- __Python__:  z ()z- __Environment variables__:z  - `z`: ``z- __Installed packages__:z` vN)rA   printr   r   r   r   r   r	   r
   r   r   )infor>   r@   s      r   _print_debug_inforH   c   s    D	N4==/
*+	N400143K3K2LBtOdOdNeef
gh	
()~~chhZtCII;a01 	
%&}}chhZs3;;-01 r   )returnztuple[str, str])r4   )r1   r   rI   r   )rI   r   )rI   None)
__future__r   r7   r   r&   dataclassesr   	importlibr   r   r   r   r.   r2   rA   rH   r   r   r   <module>rN      sx    # 	  
 !        ! ! !"&
2r   