o
    h                     @  s@   d dl mZ d dlZd dlmZmZ eddG dd dZdS )    )annotationsN)	dataclassfieldT)frozenc                   @  sT   e Zd ZU dZded< dZded< eddZded< eddZded	< dddZ	dS )
ScriptDataz0Contains parameters related to running a script.strmain_script_pathFboolis_hello)initscript_foldernamereturnNonec                 C  sZ   t j| j}t j|}t| d| t j|}tt j	|d }t| d| dS )a  Set some computed values derived from main_script_path.

        The usage of object.__setattr__ is necessary because trying to set
        self.script_folder or self.name normally, even within the __init__ method, will
        explode since we declared this dataclass to be frozen.

        We do this in __post_init__ so that we can use the auto-generated __init__
        method that most dataclasses use.
        r   r   r   N)
ospathabspathr   dirnameobject__setattr__basenamer   splitext)selfr   r   r   r    r   Q/var/www/vscode/kcb/lib/python3.10/site-packages/streamlit/runtime/script_data.py__post_init__   s   
zScriptData.__post_init__N)r   r   )
__name__
__module____qualname____doc____annotations__r
   r   r   r   r   r   r   r   r   r      s   
 r   )
__future__r   r   dataclassesr   r   r   r   r   r   r   <module>   s
   