
    i                        S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  \ " S S5      5       r	\ " S S5      5       r
\ " S	 S
5      5       rSS jrSSS jjrSS jrSS jrg)    )annotationsN)	dataclass)metadatac                  0    \ rS rSr% SrS\S'    S\S'   Srg)	_Variable   z-Dataclass describing an environment variable.strnamevalue N__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       P/home/james-whalen/.local/lib/python3.13/site-packages/griffe/_internal/debug.pyr   r      s    7
IJr   r   c                  0    \ rS rSr% SrS\S'    S\S'   Srg)_Package   z&Dataclass describing a Python package.r	   r
   versionr   Nr   r   r   r   r   r      s    0
ILr   r   c                  `    \ rS rSr% SrS\S'    S\S'    S\S'    S\S'    S\S	'    S
\S'   Srg)_Environment$   z+Dataclass to store environment information.r	   interpreter_nameinterpreter_versioninterpreter_pathplatformzlist[_Package]packageszlist[_Variable]	variablesr   Nr   r   r   r   r   r   $   s:    5"%$M r   r   c                 H   [        [        S5      (       a  [        R                  R                  n U R                   SU R
                   SU R                   3nU R                  nUS:w  a  XS   [        U R                  5      -   -  n[        R                  R                  U4$ g)Nimplementation.finalr   ) 0.0.0)hasattrsysr%   r   majorminormicroreleaselevelr	   serialr
   )implr   kinds      r   _interpreter_name_versionr3   6   s    s$%%!!))ZZL$**Qtzzl;  7?AwT[[!111G!!&&//r   c                d     [         R                  " U 5      $ ! [         R                   a     gf = f)zsGet version of the given distribution.

Parameters:
    dist: A distribution name.

Returns:
    A version number.
r)   )r   r   PackageNotFoundError)dists    r   _get_versionr7   A   s0    %%(( s    //c                    [        5       u  pS/nS/[        R                   Vs/ s H  o3R                  S5      (       d  M  UPM     snQn[	        U U[
        R                  [        R                  " 5       U Vs/ s H-  n[        R                  " U5      =n(       d  M"  [        X55      PM/     snU Vs/ s H  n[        U[        U5      5      PM     snS9$ s  snf s  snf s  snf )zJGet debug/environment information.

Returns:
    Environment information.
griffe
PYTHONPATHGRIFFE)r   r   r    r!   r#   r"   )r3   osenviron
startswithr   r+   
executabler!   getenvr   r   r7   )py_name
py_versionr"   varr#   valpkgs          r   _get_debug_inforF   P   s     45GzHX

 W
nnX>V
 WXI &""$2;W)3ryyQT~@U@U&9S&)W>FGhs(3S 12hG  !X XGs   CC9!CC3C!c            	        [        5       n [        SU R                   35        [        SU R                   SU R                   SU R
                   S35        [        S5        U R                   H)  n[        SUR                   SUR                   S	35        M+     [        S
5        U R                   H(  n[        SUR                   SUR                   35        M*     g)z$Print debug/environment information.z- __System__: z- __Python__:  z ()z- __Environment variables__:z  - `z`: ``z- __Installed packages__:z` vN)rF   printr!   r   r   r    r#   r
   r   r"   r   )inforC   rE   s      r   _print_debug_inforM   c   s    D	N4==/
*+	N400143K3K2LBtOdOdNeef
gh	
()~~chhZtCII;a01 	
%&}}chhZs3;;-01 r   )returnztuple[str, str])r9   )r6   r	   rN   r	   )rN   r   )rN   None)
__future__r   r<   r!   r+   dataclassesr   	importlibr   r   r   r   r3   r7   rF   rM   r   r   r   <module>rS      sx    # 	  
 !        ! ! !"&
2r   