
    jA                        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 dlmZ d dl	m
Z
mZ d dlZd dlmZ d dlZd dlmZ  ej&                  e      ZdefdZe j0                  defd       Ze j0                  defd       Ze j0                  defd	       Ze j0                  defd
       Ze j0                  defd       Ze j0                  defd       Zde fdZ!e j0                  de fd       Z"e j0                  de fd       Z#ded   fdZ$e j0                  de fd       Z%e j0                  de fd       Z&e j0                  de fd       Z'e j0                  de
eef   fd       Z(defdZ)y)    N)metadata)DictLiteral)
Comparablereturnc                  *    t        j                         S N)osgetpid     i/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/environment.pyget_pidr      s    99;r   c                  *    t        j                         S r	   )socketgethostnamer   r   r   get_hostnamer      s    r   c                  x    	 t        j                         S # t        $ r t        j	                  dd       Y yw xY w)Nz2Unknown exception getting the user from the systemT)exc_infounknown)getpassgetuser	ExceptionLOGGERdebugr   r   r   get_userr      s>       @4 	 	
 	s     99c                  .    t        j                   d      S )NT)aliased)platformr   r   r   get_osr    '   s    T**r   c                  *    t        j                         S r	   )r   systemr   r   r   get_os_typer#   ,   s    ??r   c                  "    t         j                  S r	   )sysversionr   r   r   get_python_version_verboser'   1   s    ;;r   c                  *    t        j                         S r	   )r   python_versionr   r   r   get_python_versionr*   6   s    ""$$r   c                  &    dt         j                  v S )Npytest)r%   modulesr   r   r   	in_pytestr.   ;   s    s{{""r   c                  &    dt         j                  v S )NGITHUB_ACTIONSr
   environr   r   r   in_github_actionsr3   ?   s    rzz))r   c                  &    dt         j                  v S )NLAMBDA_TASK_ROOTr1   r   r   r   in_aws_lambdar6   D   s    ++r   )cloudself-hostedlocalc                      t         j                  j                         } | j                  }t	        j
                  |      t	        j
                  t         j                  j                        k(  ryd|v ryy)Nr7   	localhostr9   r8   )opikconfig
OpikConfigurl_overrideurl_helpersget_base_urlOPIK_URL_CLOUD)r=   r?   s     r   get_installation_typerC   I   s_    [[##%F&&L-1I1I""2  l"r   c                  j    	 ddl } | j                         }|t        |d      syy# t        $ r Y yw xY w)zt
    Check to see if code is running in a Jupyter environment,
    including jupyter notebook, lab, or console.
    r   NFkernelT)IPythonr   get_ipythonhasattrrF   ipys     r   
in_jupyterrK   W   sB     


C
{'#x0  s   & 	22c                  R    	 ddl } | j                         }|yy# t        $ r Y yw xY w)zD
    Check to see if code is running in an IPython environment.
    r   NFT)rF   r   rG   rI   s     r   
in_ipythonrM   i   s9    
 


C
{  s    	&&c                  d    	 ddl } | j                         }dt        |      v S # t        $ r Y yw xY w)z:
    Check to see if code is running in Google colab.
    r   NFzgoogle.colab)rF   r   rG   strrI   s     r   in_colabrP   z   s=    
 


CSX%%	  s   # 	//c                      t        j                         D  ci c]  } | j                   d   | j                   }} |S c c} w )zJ
    Retrieve a dictionary of installed packages with their versions.
    Name)r   distributionsr&   )pkginstalled_packagess     r   get_installed_packagesrV      sI     6>5K5K5M5McVckk)5M   s   !<c                  j    t               s
t               rt        j                  S t        j                  S )z7
    Get a tqdm progress bar for your environment.
    )rK   rP   tqdmtqdm_notebookr   r   r    get_tqdm_for_current_environmentrZ      s#     |xz!!!yyr   )*	functoolsr   loggingr
   r   r   r%   	importlibr   typingr   r   rX   
tqdm.utilsr   opik.configr<   opik.url_helpersr@   	getLogger__name__r   intr   	lru_cacherO   r   r   r    r#   r'   r*   boolr.   r3   r6   rC   rK   rM   rP   rV   rZ   r   r   r   <module>rg      s      	   
     !  &			8	$   c     #   + + + S   C   %C % %#4 # *4 * * ,t , ,w'FG  D  " D    
&$ 
& 
& S#X  * r   