o
    oi{	                     @   s   d dl Z d dlmZmZ d dlmZ ddgZG dd deeZG dd dZ	eG d	d
 d
Z
e
e jdde jdddZdS )    N)	dataclassfield)EnumInstallationModekornia_configc                       s2   e Zd ZdZdZdZdedef fddZ  Z	S )r   ASKAUTORAISEotherreturnc                    s(   t |tr| j | kS t |S N)
isinstancestrvaluelowersuper__eq__)selfr
   	__class__ A/home/ubuntu/.local/lib/python3.10/site-packages/kornia/config.pyr   !   s   
zInstallationMode.__eq__)
__name__
__module____qualname__r   r   r	   objectboolr   __classcell__r   r   r   r   r      s
    c                   @   sF   e Zd ZU ejZeed< edefddZej	de
ddfddZdS )LazyLoaderConfig_installation_moder   c                 C   s   | j S r   )r   )r   r   r   r   installation_mode*   s   z"LazyLoaderConfig.installation_moder   Nc                 C   sb   t |tr#z
t| | _W d S  ty"   t| dtt d w t |tr-|| _d S td)Nz/ is not a valid InstallationMode. Choose from: z<installation_mode must be a string or InstallationMode Enum.)r   r   r   upperr   
ValueErrorlist	TypeError)r   r   r   r   r   r    .   s   


)r   r   r   r   r   r   __annotations__propertyr    setterr   r   r   r   r   r   '   s   
 r   c                   @   sH   e Zd ZU eed< eed< dZeed< dZeed< eedZ	eed< d	S )
KorniaConfighub_models_dirhub_onnx_dirkornia_outputs
output_dir.kornia_hubhub_cache_dir)default_factory
lazyloaderN)
r   r   r   r   r%   r,   r.   r   r   r0   r   r   r   r   r(   >   s   
 r(   r-   modelsonnx_models)r)   r*   )osdataclassesr   r   enumr   __all__r   r   r   r(   pathjoinr   r   r   r   r   <module>   s   
