from typing import Tuple from pydantic import BaseSettings from pydantic.env_settings import SettingsSourceCallable class Settings(BaseSettings): my_api_key: str class Config: @classmethod def customise_sources( cls, init_settings: SettingsSourceCallable, env_settings: SettingsSourceCallable, file_secret_settings: SettingsSourceCallable, ) -> Tuple[SettingsSourceCallable, ...]: # here we choose to ignore arguments from init_settings return env_settings, file_secret_settings print(Settings(my_api_key='this is ignored')) # requires: `MY_API_KEY` env variable to be set, e.g. `export MY_API_KEY=xxx`