
    dc                         d Z ddlZddlZddlZddlZddlZddlZddlZd Zd Z	ej
        fdZedk    r e             dS dS )z3Utility functions for printing version information.    Nc                     g } d}t           j                            d          rt           j                            d          r	 t          j        d                    d          t          j        t          j                  }|                                \  }}|j        dk    rP|}	 |	                    d          }n# t          $ r Y nw xY w|                                                    d	          }n# t          $ r Y nw xY w|                     d
|f           	 t          j                    \  }}}}}	}
|                     dt"          j        fdt'          j        d          dz  fd| fd| fd|	 fd|
 fdt"          j         fdt           j                            dd           fdt           j                            dd           fdt1          j                     fg
           n# t          $ r Y nw xY w| S )z$Returns system information as a dictNz.gitxarrayzgit log --format="%H" -n 1 )stdoutstderrr   zutf-8"commitpythonzpython-bitsP   OSz
OS-releasemachine	processor	byteorderLC_ALLNoneLANGLOCALE)ospathisdir
subprocessPopensplitPIPEcommunicate
returncodedecode
ValueErrorstrip	Exceptionappendplatformunameextendsysversionstructcalcsizer   environgetlocale	getlocale)blobr	   pipeso_sysname	_nodenamerelease_versionr   r   s              :lib/python3.11/site-packages/xarray/util/print_versions.pyget_sys_infor7      s4    D F	w}}V 3x!8!8 3	3#,22377!!  D
 $$&&EB !##YYw//FF!   D--c22  	 	 	D	 	KK6"###FNnFVFVC)Wh3;' 4 4q 89'|$'|,wL)n-01bjnnXv>>@ABJNN66::<=f.0023	
 	
 	
 	
     Ks8   AC5 'B= =
C
	C
5
DDCG) )
G65G6c                      d } d }	 dd l }|j        } |j        }n2# t          $ r% 	 dd l}|j        j        } n# t          $ r Y nw xY wY nw xY wd| fd|fgS )Nr   libhdf5	libnetcdf)netCDF4__hdf5libversion____netcdf4libversion__ImportErrorh5pyr'   hdf5_version)libhdf5_versionlibnetcdf_versionr;   r?   s       r6   netcdf_and_hdf5_versionsrC   >   s    O!4#9   	KKK"l7OO 	 	 	D	 (;8I*JKKs.    
A5A
AAAAAc                 R   t                      }	 |                    t                                 n)# t          $ r}t	          d|            Y d}~nd}~ww xY wg dd fdd fdd fd	d
 fdd fdd fdd fdd fdd fdd fdd fdd fdd fdd fdd  fd!d" fd#d$ fd%d& fd'd( fd)d* fd+d, fd-d. fd/d0 fd1d2 fd3d4 fd5d6 fd7d8 fd9d: fd;d< fd=d> fd?d@ fdAdB fdCdD fdEdF f}g }|D ]\  }}	 |t
          j        v rt
          j        |         }nt          j        |          }	  ||          }|	                    ||f           _# t          $ r |	                    |dGf           Y w xY w# t          $ r |	                    |df           Y w xY wt	          dH| I           t	          dJ| I           |D ]\  }	}
t	          |	 dK|
 | I           t	          dL| I           |D ]\  }	}
t	          |	 dK|
 | I           dS )Mzprint the versions of xarray and its dependencies

    Parameters
    ----------
    file : file-like, optional
        print to the given file-like object. Defaults to sys.stdout.
    z(Error collecting netcdf / hdf5 version: Nr   c                     | j         S N__version__mods    r6   <lambda>zshow_versions.<locals>.<lambda>a       s     pandasc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>b   rL   rM   numpyc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>c       co rM   scipyc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>d   rR   rM   r;   c                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>f        rM   pydapc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>g   rR   rM   h5netcdfc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>h   s     rM   r?   c                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>i       S_ rM   Nioc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>j       CO rM   zarrc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>k   r\   rM   cftimec                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>l   rL   rM   nc_time_axisc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>m       S_ rM   PseudoNetCDFc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>n   rf   rM   irisc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>o   r\   rM   
bottleneckc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>p       3? rM   daskc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>q   r\   rM   distributedc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>r   s    CO rM   
matplotlibc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>s   rm   rM   cartopyc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>t   rV   rM   seabornc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>u   rV   rM   numbaggc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>v   rV   rM   fsspecc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>w   rL   rM   cupyc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>x   r\   rM   pintc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>y   r\   rM   sparsec                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>z   rL   rM   floxc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>{   r\   rM   numpy_groupiesc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>|   s    s rM   
setuptoolsc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>~   rm   rM   pipc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>   r_   rM   condac                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>   rR   rM   pytestc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>   rL   rM   mypyc                 J    t           j                            | j                  S rF   )	importlibmetadatar'   __name__rI   s    r6   rK   zshow_versions.<locals>.<lambda>   s    Y/77EE rM   IPythonc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>   rV   rM   sphinxc                     | j         S rF   rG   rI   s    r6   rK   zshow_versions.<locals>.<lambda>   rL   rM   	installedz
INSTALLED VERSIONS)filez------------------z:  )
r7   r%   rC   r!   printr&   modulesr   import_moduler"   )r   sys_infoedeps	deps_blobmodnamever_frJ   verkstats              r6   show_versionsr   P   s    ~~H>0223333 > > ><<<========>'	../' 
../' 
--.	'
 
--.' 
//0' 
--.' 
001' 
,,-' 
++,' 
,,-' 
../' 
445' 
445'  
,,-!'" 
223#'$ 
,,-%'& 
334''( 
223)'* 
//0+', 
//0-'. 
//0/'0 
../1'2 
,,-3'4 
,,-5'6 
../7'8 
,,-9': 
667;'> 
223?'@ 
++,A'B 
--.C'D 
../E'F 
EEFG'J 
//0K'L 
../M'DR I 9 9	9#+%%k'*-g669eCjj  '30000 9 9 9  ';!7888889  	. 	. 	.gt_-----	. 

 t,,,,	
T**** ) )4nndnn4(((((	"4 ) )4nndnn4((((() )s8   !2 
AAA5F"E**!FF!F54F5__main__)__doc__r   r,   r   r#   r(   r   r&   r7   rC   r   r   r    rM   r6   <module>r      s    9 9      				       



0 0 0fL L L$ z P) P) P) P)f zMOOOOO rM   