LogicGoInfotechSpaces's picture
Update app/core/config.py
3be72e2 verified
raw
history blame
1.6 kB
from functools import lru_cache
from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
mongo_uri: str = Field(..., alias="MONGO_URI")
mongo_db: str = Field("wallet_sync", alias="MONGO_DB")
mongo_collection: str = Field("autocategory", alias="MONGO_COLLECTION")
api_logs_collection: str = Field("api_logs", alias="MONGO_API_LOGS_COLLECTION")
openai_api_key: str = Field(..., alias="OPENAI_API_KEY")
openai_model: str = Field("gpt-4o-mini", alias="OPENAI_MODEL")
category_cache_ttl_seconds: int = Field(300, alias="CATEGORY_CACHE_TTL")
@lru_cache
def get_settings() -> Settings:
return Settings()
settings = get_settings()
# from functools import lru_cache
# from pydantic import Field
# from pydantic_settings import BaseSettings, SettingsConfigDict
# class Settings(BaseSettings):
# model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
# mongo_uri: str = Field(..., alias="MONGO_URI")
# mongo_db: str = Field("wallet_sync", alias="MONGO_DB")
# mongo_collection: str = Field("autocategory", alias="MONGO_COLLECTION")
# openai_api_key: str = Field(..., alias="OPENAI_API_KEY")
# openai_model: str = Field("gpt-4o-mini", alias="OPENAI_MODEL")
# category_cache_ttl_seconds: int = Field(300, alias="CATEGORY_CACHE_TTL")
# @lru_cache
# def get_settings() -> Settings:
# return Settings()
# settings = get_settings()