def load(
    obj,
    settings_module,
    identifier="py",
    silent=False,
    key=None,
    validate=False,
):
    """
    Tries to import a python module

    Notes:
        It doesn't handle environment namespaces explicitly. Eg
            [default], [development], etc
        See tests/test_nested_loading.py sample python file
    """
    mod, loaded_from = get_module(obj, settings_module, silent)
    if not (mod and loaded_from):
        return

    # setup SourceMetadata (for inspecting)
    if isinstance(identifier, SourceMetadata):
        loader_identifier = SourceMetadata(
            identifier.loader, mod.__name__, identifier.env
        )
    else:
        loader_identifier = SourceMetadata(identifier, mod.__name__, "global")

    load_from_python_object(
        obj, mod, settings_module, key, loader_identifier, validate=validate
    )

    Tries to import a python module

    Notes:
        It doesn't handle environment namespaces explicitly. Eg
            [default], [development], etc
        See tests/test_nested_loading.py sample python file
    
dynaconf/loaders/py_loader.py