# File Path: src/config/__init__.py import json import os from dataclasses import dataclass from typing import List from dacite.core import from_dict @dataclass(frozen=True) class Logging: log_level: str @dataclass(frozen=True) class Config: logging: Logging def load() -> Config: base_path = os.path.abspath(os.path.dirname(__file__)) env = os.environ.get("STAGE", "local") config_path = os.path.join(base_path, f"{env}.json") with open(config_path, "r") as f: data = json.loads(f.read()) return from_dict(data_class=Config, data=data) config = load()