From 400e4d393eddf114d5d1b9bd1a2bd6d905d3d2a8 Mon Sep 17 00:00:00 2001 From: Eden Kirin Date: Thu, 21 Sep 2023 09:18:22 +0200 Subject: [PATCH] Remove settings deprecations --- .env.template | 4 ---- app/lib/settings.py | 34 ++++++++-------------------------- main.py | 2 +- settings_test.py | 11 ----------- 4 files changed, 9 insertions(+), 42 deletions(-) delete mode 100644 settings_test.py diff --git a/.env.template b/.env.template index 64f3854..d7e9065 100644 --- a/.env.template +++ b/.env.template @@ -50,10 +50,6 @@ EMAIL_RECIPIENT=someone@somewhere.com EMAIL_SENDER=root@localhost # Tests -TESTS_DB_HOST=localhost -TESTS_DB_PORT=5432 -TESTS_DB_NAME=test_db-name -TESTS_DB_USER=db-user TESTS_DB_PASSWORD=db-password TESTS_DROP_DATABASE_BEFORE_TESTS=True TESTS_DROP_DATABASE_AFTER_TESTS=True diff --git a/app/lib/settings.py b/app/lib/settings.py index 2f504c9..e9f2daf 100644 --- a/app/lib/settings.py +++ b/app/lib/settings.py @@ -15,22 +15,16 @@ __all__ = [ "ServerSettings", ] -from pydantic import Extra -from pydantic_settings import BaseSettings +from pydantic_settings import BaseSettings, SettingsConfigDict from const import ROOT_DIR class BaseEnvSettings(BaseSettings): - class Config: - env_file_encoding = "utf-8" - extra = Extra.ignore + model_config = SettingsConfigDict(case_sensitive=True, extra="ignore", env_file_encoding="utf-8") class AppSettings(BaseEnvSettings): - class Config: - case_sensitive = True - BUILD_NUMBER: str = "0" DEBUG: bool = False ENVIRONMENT: str = "local" @@ -43,9 +37,7 @@ class AppSettings(BaseEnvSettings): class APISettings(BaseEnvSettings): - class Config: - env_prefix = "API_" - case_sensitive = True + model_config = SettingsConfigDict(env_prefix="API_") CACHE_EXPIRATION: int = 60 DB_SESSION_DEPENDENCY_KEY: str = "db_session" @@ -57,9 +49,7 @@ class APISettings(BaseEnvSettings): class OpenAPISettings(BaseEnvSettings): - class Config: - env_prefix = "OPENAPI_" - case_sensitive = True + model_config = SettingsConfigDict(env_prefix="OPENAPI_") TITLE: Optional[str] = "My Litestar App" VERSION: str = "0.1.0" @@ -68,9 +58,7 @@ class OpenAPISettings(BaseEnvSettings): class DatabaseSettings(BaseEnvSettings): - class Config: - env_prefix = "DB_" - case_sensitive = True + model_config = SettingsConfigDict(env_prefix="DB_") ECHO: bool = False ECHO_POOL: Union[bool, Literal["debug"]] = False @@ -87,9 +75,7 @@ class DatabaseSettings(BaseEnvSettings): class TestingSettings(BaseEnvSettings): - class Config: - env_prefix = "TESTS_" - case_sensitive = True + model_config = SettingsConfigDict(env_prefix="TESTS_") DB_TEMPLATE_NAME: str = "db-template-name" DROP_DATABASE_BEFORE_TESTS: bool = True @@ -97,9 +83,7 @@ class TestingSettings(BaseEnvSettings): class ServerSettings(BaseEnvSettings): - class Config: - env_prefix = "UVICORN_" - case_sensitive = True + model_config = SettingsConfigDict(env_prefix="UVICORN_") HOST: str = "localhost" LOG_LEVEL: str = "info" @@ -109,9 +93,7 @@ class ServerSettings(BaseEnvSettings): class EmailSettings(BaseEnvSettings): - class Config: - env_prefix = "EMAIL_" - case_sensitive = True + model_config = SettingsConfigDict(env_prefix="EMAIL_") if "pytest" in sys.modules: diff --git a/main.py b/main.py index d0dc248..349c4e6 100644 --- a/main.py +++ b/main.py @@ -32,7 +32,7 @@ app = create_app() if __name__ == "__main__": uvicorn.run( - app, + app="main:app", host=settings.server.HOST, log_level=settings.server.LOG_LEVEL, port=settings.server.PORT, diff --git a/settings_test.py b/settings_test.py deleted file mode 100644 index d85518a..0000000 --- a/settings_test.py +++ /dev/null @@ -1,11 +0,0 @@ -import logging - -POSTGRES_HOST: str = "localhost" -POSTGRES_PORT: int = 5432 -POSTGRES_TEST_USER = "addressbook" -POSTGRES_TEST_PASSWORD = "addressbook" - -LOG_PATH = "/tmp/addressbook-log" -MIN_LOG_LEVEL: int = logging.INFO -DROP_TEMPLATE_DATABASE_BEFORE_TESTS: bool = False -FLYWAY_BINARY_PATH: str = "/usr/bin/flyway"