o
    å]i»  ã                   @   s6   d Z ddlmZ ddlmZ G dd„ deƒZeƒ ZdS )zApplication configurationé    )ÚBaseSettings)ÚOptionalc                   @   sP  e Zd ZU dZdZeed< dZeed< dZe	ed< dZ
eed	< d
Zeed< dZeed< dZeed< dZeed< dZe	ed< dZe	ed< dZe	ed< dZeed< dZe	ed< dZeed< dZe	ed< dZeed < dZe	ed!< d"Zeed#< d$Zee ed%< d&Zeed'< d(Zeed)< d*Ze	ed+< dZ eed,< d-Z!e	ed.< d/Z"e	ed0< G d1d2„ d2ƒZ#d$S )3ÚSettingszApplication settingsz6postgresql://sports_user:sports_pass@db:5432/sports_dbÚdatabase_urlz0.0.0.0Úapi_hosti@  Úapi_portz dev-api-key-change-in-productionÚapi_keyzhttps://www.flashscore.comÚflashscore_base_urlg       @Úflashscore_rate_limit_secondsz<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36Úflashscore_user_agentTÚflashscore_enabledé<   Úingest_interval_minutesé   Úfeatures_interval_hoursé   Úpredict_interval_minutesÚtraining_enabledé   Útraining_schedule_hoursÚgradient_boostingÚ
model_typeé
   Úmin_matches_for_traininggš™™™™™é?Útrain_test_splitÚrolling_window_matchesÚINFOÚ	log_levelNÚopenai_api_keyzgpt-4o-miniÚopenai_modelgffffffæ?Úopenai_temperatureiÐ  Úopenai_max_tokensÚllm_analysis_enabledéH   Úllm_horizon_hoursé2   Úllm_max_matchesc                   @   s   e Zd ZdZdZdS )zSettings.Configz.envFN)Ú__name__Ú
__module__Ú__qualname__Úenv_fileÚcase_sensitive© r,   r,   úapp/core/config.pyÚConfig2   s    r.   )$r'   r(   r)   Ú__doc__r   ÚstrÚ__annotations__r   r   Úintr   r	   r
   Úfloatr   r   Úboolr   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r$   r&   r.   r,   r,   r,   r-   r      s8   
 r   N)r/   Úpydantic_settingsr   Útypingr   r   Úsettingsr,   r,   r,   r-   Ú<module>   s
    
1