from dataclasses import dataclass import os @dataclass class Settings: dialect: str = os.getenv('DIALECT', "postgresql") driver: str = os.getenv('DRIVER', "psycopg2") user: str = os.getenv('USER', "user") password: str = os.getenv('PASSWORD', "password") db_name: str = os.getenv('DB_NAME', "db") host: str = os.getenv('HOST', "postgres") port: int = os.getenv('PORT', 5432) @property def uri(self) -> str: return f"{self.dialect}+{self.driver}://{self.user}:{self.password}@{self.host}:{self.port}/{self.db_name}"