from pathlib import Path from typing import Optional, Dict def load_env(env: Optional[Dict[str, str]] = None, dotenv_dir: Optional[Path] = None) -> None: from os import environ if dotenv_dir is not None: dotenv_file = dotenv_dir.joinpath(".env") if dotenv_file is not None and dotenv_file.exists() and dotenv_file.is_file(): from dotenv.main import dotenv_values dotenv_dict: Dict[str, Optional[str]] = dotenv_values(dotenv_file) for key, value in dotenv_dict.items(): if value is not None: environ[key] = value if env is not None: environ.update(env)