
    LMh	                        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 dZdZ	dZ
 ej        e          Z	 d dlmZ d e e                      v Zn# eef$ r d	ZY nw xY wd
efdZd
efdZe j        d
efd            Zded
ee         fdZdS )    N)metadata)OptionalKAGGLE_KERNEL_RUN_TYPEKAGGLE_DATA_PROXY_URLKAGGLE_API_V1_TOKEN)get_ipythonzgoogle.colabFreturnc                      t           S )N)_is_google_colab     M/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/kagglehub/env.pyis_in_colab_notebookr      s    r   c                      t          j        t                    :t          j        t                    t	          j        dt           d           dS dS dS )Nz!Can't use the Kaggle Cache. The 'z"' environment variable is not set.FT)osgetenvKAGGLE_NOTEBOOK_ENV_VAR_NAME"KAGGLE_DATA_PROXY_URL_ENV_VAR_NAMEloggingwarningr   r   r   is_in_kaggle_notebookr      sd    	y-..:9788@O_:_ _ _   5t5r   c                      d} 	 t          |           5 }|                                                                cd d d            S # 1 swxY w Y   d S # t          $ r t	          j        d|  d           Y dS w xY w)Nz/etc/build_datezBuild date file z* not found in Kaggle Notebook environment.unknown)openreadstripFileNotFoundErrorr   r   )build_date_filefiles     r   read_kaggle_build_dater    )   s    'O/"" 	'd99;;$$&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'   f?fffgggyys3   A &AA A

A A
A "A98A9lib_namec                 0   t          j                    D ]}t          j        |j                  }|rt	          |d          r|j        }nd}|H|                    |           r3	 t          j        |           }|  d| c S # t          j	        $ r Y }w xY wdS )ai  Search the call stack for a given library name and get its information.

    Args:
        lib_name (str):
            The name of the library to search for.
            We use str.startswith so the lib_name must match the exact module name from beginning.

    Returns:
        str: A formatted string f"{lib_name}/{lib_version}" if found, otherwise None.
    __name__N/)
inspectstack	getmoduleframehasattrr#   
startswithr   versionPackageNotFoundError)r!   
frame_infomodulemodule_namelib_versions        r   search_lib_in_call_stackr1   4   s     moo  
":#344 	gfj11 	 /KKK"{'='=h'G'G"&.x88"22[222220   4s   #B  BB)	functoolsr%   r   r   	importlibr   typingr   r   r   !KAGGLE_TOKEN_KEY_DIR_ENV_VAR_NAME	getLoggerr#   loggerIPythonr   strr   	NameErrorModuleNotFoundErrorboolr   r   cacher    r1   r   r   r   <module>r>      sg         				            7 %< "$9 !		8	$	$###### &[[]]););;&'   d    
t 
 
 
 
     s x}      s   A 	AA