from typing import TypedDict import os from dotenv import dotenv_values, find_dotenv class Api(TypedDict): """REST API configuration template """ url: str key: str __env_values__ = dotenv_values( dotenv_path=find_dotenv(".env", raise_error_if_not_found=False) ) def _load_value(key: str): return __env_values__.get(key) or os.getenv(key) CDS_API = Api( url=_load_value("CDS_API_URL"), key=_load_value("CDS_API_KEY") ) OPENAI = Api(url=None, key=_load_value("OPENAI_API_KEY"))