We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
YAML.load without a loader is deprecated for security purposes
We've started seeing the following warning:
```
lib/python3.6/site-packages/dynaconf/loaders/base.py:95: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
```

See here: https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `dynaconf/loaders/yaml_loader.py`
Content:
```
1 # coding: utf-8
2 import io
3 from pathlib import Path
4 from dynaconf import default_settings
5 from dynaconf.loaders.base import BaseLoader
6 from dynaconf.constants import YAML_EXTENSIONS
7 from dynaconf.utils import object_merge
8 try:
9     import yaml
10 except ImportError as e:  # pragma: no cover
11     yaml = None
12 
13 
14 def load(obj, env=None, silent=True, key=None, filename=None):
15     """
16     Reads and loads in to "obj" a single key or all keys from source file.
17 
18     :param obj: the settings instance
19     :param env: settings current env default='development'
20     :param silent: if errors should raise
21     :param key: if defined load a single key, else load all in env
22     :param filename: Optional custom filename to load
23     :return: None
24     """
25     if yaml is None:  # pragma: no cover
26         BaseLoader.warn_not_installed(obj, 'yaml')
27         return
28 
29     loader = BaseLoader(
30         obj=obj,
31         env=env,
32         identifier='yaml',
33         extensions=YAML_EXTENSIONS,
34         file_reader=yaml.load,
35         string_reader=yaml.load
36     )
37     loader.load(filename=filename, key=key, silent=silent)
38 
39 
40 def write(settings_path, settings_data, merge=True):
41     """Write data to a settings file.
42 
43     :param settings_path: the filepath
44     :param settings_data: a dictionary with data
45     :param merge: boolean if existing file should be merged with new data
46     """
47     settings_path = Path(settings_path)
48     if settings_path.exists() and merge:  # pragma: no cover
49         object_merge(
50             yaml.load(
51                 io.open(
52                     str(settings_path),
53                     encoding=default_settings.ENCODING_FOR_DYNACONF
54                 )
55             ),
56             settings_data
57         )
58 
59     yaml.dump(
60         settings_data,
61         io.open(
62             str(settings_path), 'w',
63             encoding=default_settings.ENCODING_FOR_DYNACONF
64         )
65     )
66
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/dynaconf/loaders/yaml_loader.py b/dynaconf/loaders/yaml_loader.py
--- a/dynaconf/loaders/yaml_loader.py
+++ b/dynaconf/loaders/yaml_loader.py
@@ -1,10 +1,13 @@
 # coding: utf-8
 import io
+import os
 from pathlib import Path
+from warnings import warn
 from dynaconf import default_settings
 from dynaconf.loaders.base import BaseLoader
 from dynaconf.constants import YAML_EXTENSIONS
 from dynaconf.utils import object_merge
+
 try:
     import yaml
 except ImportError as e:  # pragma: no cover
@@ -26,13 +29,25 @@
         BaseLoader.warn_not_installed(obj, 'yaml')
         return
 
+    # Resolve the loaders
+    # https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation
+    # Possible values are `safe_load, full_load, unsafe_load, load`
+    yaml_loader_name = os.environ.get('YAML_LOADER_FOR_DYNACONF', 'full_load')
+    yaml_reader = getattr(yaml, yaml_loader_name, yaml.load)
+    if yaml_reader.__name__ == 'unsafe_load':  # pragma: no cover
+        warn(
+            "yaml.unsafe_load is deprecated."
+            " Please read https://msg.pyyaml.org/load for full details."
+            " Try to use full_load or safe_load."
+        )
+
     loader = BaseLoader(
         obj=obj,
         env=env,
         identifier='yaml',
         extensions=YAML_EXTENSIONS,
-        file_reader=yaml.load,
-        string_reader=yaml.load
+        file_reader=yaml_reader,
+        string_reader=yaml_reader
     )
     loader.load(filename=filename, key=key, silent=silent)

{"golden_diff": "diff --git a/dynaconf/loaders/yaml_loader.py b/dynaconf/loaders/yaml_loader.py\n--- a/dynaconf/loaders/yaml_loader.py\n+++ b/dynaconf/loaders/yaml_loader.py\n@@ -1,10 +1,13 @@\n # coding: utf-8\n import io\n+import os\n from pathlib import Path\n+from warnings import warn\n from dynaconf import default_settings\n from dynaconf.loaders.base import BaseLoader\n from dynaconf.constants import YAML_EXTENSIONS\n from dynaconf.utils import object_merge\n+\n try:\n     import yaml\n except ImportError as e:  # pragma: no cover\n@@ -26,13 +29,25 @@\n         BaseLoader.warn_not_installed(obj, 'yaml')\n         return\n \n+    # Resolve the loaders\n+    # https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation\n+    # Possible values are `safe_load, full_load, unsafe_load, load`\n+    yaml_loader_name = os.environ.get('YAML_LOADER_FOR_DYNACONF', 'full_load')\n+    yaml_reader = getattr(yaml, yaml_loader_name, yaml.load)\n+    if yaml_reader.__name__ == 'unsafe_load':  # pragma: no cover\n+        warn(\n+            \"yaml.unsafe_load is deprecated.\"\n+            \" Please read https://msg.pyyaml.org/load for full details.\"\n+            \" Try to use full_load or safe_load.\"\n+        )\n+\n     loader = BaseLoader(\n         obj=obj,\n         env=env,\n         identifier='yaml',\n         extensions=YAML_EXTENSIONS,\n-        file_reader=yaml.load,\n-        string_reader=yaml.load\n+        file_reader=yaml_reader,\n+        string_reader=yaml_reader\n     )\n     loader.load(filename=filename, key=key, silent=silent)\n", "issue": "YAML.load without a loader is deprecated for security purposes\nWe've started seeing the following warning:\r\n```\r\nlib/python3.6/site-packages/dynaconf/loaders/base.py:95: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.\r\n```\r\n\r\nSee here: https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation\n", "before_files": [{"content": "# coding: utf-8\nimport io\nfrom pathlib import Path\nfrom dynaconf import default_settings\nfrom dynaconf.loaders.base import BaseLoader\nfrom dynaconf.constants import YAML_EXTENSIONS\nfrom dynaconf.utils import object_merge\ntry:\n    import yaml\nexcept ImportError as e:  # pragma: no cover\n    yaml = None\n\n\ndef load(obj, env=None, silent=True, key=None, filename=None):\n    \"\"\"\n    Reads and loads in to \"obj\" a single key or all keys from source file.\n\n    :param obj: the settings instance\n    :param env: settings current env default='development'\n    :param silent: if errors should raise\n    :param key: if defined load a single key, else load all in env\n    :param filename: Optional custom filename to load\n    :return: None\n    \"\"\"\n    if yaml is None:  # pragma: no cover\n        BaseLoader.warn_not_installed(obj, 'yaml')\n        return\n\n    loader = BaseLoader(\n        obj=obj,\n        env=env,\n        identifier='yaml',\n        extensions=YAML_EXTENSIONS,\n        file_reader=yaml.load,\n        string_reader=yaml.load\n    )\n    loader.load(filename=filename, key=key, silent=silent)\n\n\ndef write(settings_path, settings_data, merge=True):\n    \"\"\"Write data to a settings file.\n\n    :param settings_path: the filepath\n    :param settings_data: a dictionary with data\n    :param merge: boolean if existing file should be merged with new data\n    \"\"\"\n    settings_path = Path(settings_path)\n    if settings_path.exists() and merge:  # pragma: no cover\n        object_merge(\n            yaml.load(\n                io.open(\n                    str(settings_path),\n                    encoding=default_settings.ENCODING_FOR_DYNACONF\n                )\n            ),\n            settings_data\n        )\n\n    yaml.dump(\n        settings_data,\n        io.open(\n            str(settings_path), 'w',\n            encoding=default_settings.ENCODING_FOR_DYNACONF\n        )\n    )\n", "path": "dynaconf/loaders/yaml_loader.py"}], "after_files": [{"content": "# coding: utf-8\nimport io\nimport os\nfrom pathlib import Path\nfrom warnings import warn\nfrom dynaconf import default_settings\nfrom dynaconf.loaders.base import BaseLoader\nfrom dynaconf.constants import YAML_EXTENSIONS\nfrom dynaconf.utils import object_merge\n\ntry:\n    import yaml\nexcept ImportError as e:  # pragma: no cover\n    yaml = None\n\n\ndef load(obj, env=None, silent=True, key=None, filename=None):\n    \"\"\"\n    Reads and loads in to \"obj\" a single key or all keys from source file.\n\n    :param obj: the settings instance\n    :param env: settings current env default='development'\n    :param silent: if errors should raise\n    :param key: if defined load a single key, else load all in env\n    :param filename: Optional custom filename to load\n    :return: None\n    \"\"\"\n    if yaml is None:  # pragma: no cover\n        BaseLoader.warn_not_installed(obj, 'yaml')\n        return\n\n    # Resolve the loaders\n    # https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation\n    # Possible values are `safe_load, full_load, unsafe_load, load`\n    yaml_loader_name = os.environ.get('YAML_LOADER_FOR_DYNACONF', 'full_load')\n    yaml_reader = getattr(yaml, yaml_loader_name, yaml.load)\n    if yaml_reader.__name__ == 'unsafe_load':  # pragma: no cover\n        warn(\n            \"yaml.unsafe_load is deprecated.\"\n            \" Please read https://msg.pyyaml.org/load for full details.\"\n            \" Try to use full_load or safe_load.\"\n        )\n\n    loader = BaseLoader(\n        obj=obj,\n        env=env,\n        identifier='yaml',\n        extensions=YAML_EXTENSIONS,\n        file_reader=yaml_reader,\n        string_reader=yaml_reader\n    )\n    loader.load(filename=filename, key=key, silent=silent)\n\n\ndef write(settings_path, settings_data, merge=True):\n    \"\"\"Write data to a settings file.\n\n    :param settings_path: the filepath\n    :param settings_data: a dictionary with data\n    :param merge: boolean if existing file should be merged with new data\n    \"\"\"\n    settings_path = Path(settings_path)\n    if settings_path.exists() and merge:  # pragma: no cover\n        object_merge(\n            yaml.load(\n                io.open(\n                    str(settings_path),\n                    encoding=default_settings.ENCODING_FOR_DYNACONF\n                )\n            ),\n            settings_data\n        )\n\n    yaml.dump(\n        settings_data,\n        io.open(\n            str(settings_path), 'w',\n            encoding=default_settings.ENCODING_FOR_DYNACONF\n        )\n    )\n", "path": "dynaconf/loaders/yaml_loader.py"}]}