def __init__(self, settings_module=None, **kwargs):  # pragma: no cover
        """Execute loaders and custom initialization

        :param settings_module: defines the settings file
        :param kwargs:  override default settings
        """
        if "dynaconf_options" in kwargs:
            warnings.warn(
                "dynaconf_options: Options works only with typed Dynaconf"
                "Change your import to: `from dynaconf.typed import Dynaconf`",
                RuntimeWarning,
            )

        self._fresh = False
        self._loaded_envs = []
        self._loaded_hooks = defaultdict(dict)
        self._loaded_py_modules = []
        self._loaded_files = []
        self._deleted = set()

        if kwargs.get("DYNABOXIFY", True):
            default_store = DynaBox(box_settings=self)
        else:
            default_store = {}  # Disabled dot access
        self._store = kwargs.pop("_store", default_store)

        self._env_cache = {}
        self._loaded_by_loaders: dict[SourceMetadata | str, Any] = {}
        self._loaders = []
        self._defaults = DynaBox(box_settings=self)
        self.environ = os.environ
        self.SETTINGS_MODULE = None
        self.filter_strategy = kwargs.get("filter_strategy", None)
        self._not_installed_warnings = []
        self._validate_only = kwargs.pop("validate_only", None)
        self._validate_exclude = kwargs.pop("validate_exclude", None)
        self._validate_only_current_env = kwargs.pop(
            "validate_only_current_env", False
        )

        self.validators = ValidatorList(
            self, validators=kwargs.pop("validators", None)
        )
        self._post_hooks: list[Callable] = ensure_a_list(
            kwargs.get("post_hooks", [])
        )

        compat_kwargs(kwargs)
        if settings_module:
            self.set(
                "SETTINGS_FILE_FOR_DYNACONF",
                settings_module,
                loader_identifier="init_settings_module",
            )
        for key, value in kwargs.items():
            self.set(
                key,
                value,
                loader_identifier="init_kwargs",
                validate=False,
                dotted_lookup=True,
            )
        # execute loaders only after setting defaults got from kwargs
        self._defaults = kwargs

        # The following flags are used for when copying of settings is done
        skip_loaders = kwargs.get("dynaconf_skip_loaders", False)
        skip_validators = kwargs.get("dynaconf_skip_validators", False)

        if not skip_loaders:
            self.execute_loaders()

        if not skip_validators:
            self.validators.validate(
                only=self._validate_only,
                exclude=self._validate_exclude,
                only_current_env=self._validate_only_current_env,
            )
Execute loaders and custom initialization

        :param settings_module: defines the settings file
        :param kwargs:  override default settings
        
dynaconf/base.py