mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-04 16:32:10 +00:00
* removing references to test_mode as env variable * removing references to os.getenv * adding functions to change system properties * removing references to env * introducing set_system_variable and removing change_logging_suppress function * removing change_test_mode and change_debug_mode * removing change_log_collect * adjusting config_terminal and generate_sdk * generating the sdk * removing unused imoports * introducing DISABLE_STREAMLIT_WARNING * removing load_env_vars * test_print_help test * sync tests * rewrite tests * setting the auth to True as default --------- Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
import platform
|
|
import sys
|
|
from typing import Literal
|
|
|
|
from pydantic.dataclasses import dataclass
|
|
|
|
from openbb_terminal.core.models import BaseModel
|
|
|
|
# pylint: disable=too-many-instance-attributes
|
|
|
|
|
|
@dataclass(config=dict(validate_assignment=True, frozen=True))
|
|
class SystemModel(BaseModel):
|
|
"""
|
|
Data model for system variables and configurations.
|
|
|
|
Disclaimer:
|
|
If you need to have a system related variable that is a credential like
|
|
`LOGGING_AWS_ACCESS_KEY_ID` and `LOGGING_AWS_SECRET_ACCESS_KEY`, you need
|
|
refer to the following function
|
|
`openbb_terminal.core.log.generation.settings_logger.log_system`,
|
|
in order to filter it from the logs.
|
|
"""
|
|
|
|
# System section
|
|
OS: str = str(platform.system())
|
|
PYTHON_VERSION: str = str(platform.python_version())
|
|
|
|
# OpenBB section
|
|
VERSION = "3.0.0rc1"
|
|
PACKAGED: bool = getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS")
|
|
|
|
# Logging section
|
|
LOGGING_APP_NAME: str = "gst"
|
|
LOGGING_AWS_ACCESS_KEY_ID: str = "REPLACE_ME"
|
|
LOGGING_AWS_SECRET_ACCESS_KEY: str = "REPLACE_ME"
|
|
LOGGING_COMMIT_HASH: str = "REPLACE_ME"
|
|
LOGGING_FREQUENCY: Literal["D", "H", "M", "S"] = "H"
|
|
LOGGING_HANDLERS: Literal["stdout", "stderr", "noop", "file"] = "file"
|
|
LOGGING_ROLLING_CLOCK: bool = False
|
|
LOGGING_VERBOSITY: int = 20
|
|
LOGGING_SUB_APP: str = "terminal"
|
|
LOGGING_SUPPRESS: bool = False
|
|
LOG_COLLECT: bool = True
|
|
|
|
# Personalization section
|
|
DISABLE_STREAMLIT_WARNING: bool = False
|
|
DISABLE_FORECASTING_WARNING: bool = False
|
|
DISABLE_OPTIMIZATION_WARNING: bool = False
|
|
|
|
# Others
|
|
TEST_MODE: bool = False
|
|
DEBUG_MODE: bool = False
|
|
ENABLE_AUTHENTICATION: bool = True
|
|
|
|
def __repr__(self) -> str: # pylint: disable=useless-super-delegation
|
|
return super().__repr__()
|