17 lines
561 B
Python
17 lines
561 B
Python
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}"
|