dynaconf.loaders package

Submodules

dynaconf.loaders.env_loader module

dynaconf.loaders.env_loader.load(obj, env=None, silent=True, key=None)[source]

Loads envvars with prefixes:

DYNACONF_ (default global) or $(ENVVAR_PREFIX_FOR_DYNACONF)_

dynaconf.loaders.env_loader.load_from_env(identifier, key, env, obj, silent)[source]
dynaconf.loaders.env_loader.write(settings_path, settings_data, **kwargs)[source]

Write data to .env file

dynaconf.loaders.redis_loader module

dynaconf.loaders.redis_loader.delete(obj, key=None)[source]

Delete a single key if specified, or all env if key is none :param obj: settings object :param key: key to delete from store location :return: None

dynaconf.loaders.redis_loader.load(obj, env=None, silent=True, key=None)[source]

Reads and loads in to “settings” a single key or all keys from redis

Parameters:
  • obj – the settings instance
  • env – settings env default=’DYNACONF’
  • silent – if errors should raise
  • key – if defined load a single key, else load all in env
Returns:

None

dynaconf.loaders.redis_loader.write(obj, data=None, **kwargs)[source]

Write a value in to loader source

Parameters:
  • obj – settings object
  • data – vars to be stored
  • kwargs – vars to be stored
Returns:

dynaconf.loaders.vault_loader module

dynaconf.loaders.vault_loader.get_client(obj)[source]
dynaconf.loaders.vault_loader.list_envs(obj, path='')[source]

This function is a helper to get a list of all the existing envs in the source of data, the use case is:

existing_envs = vault_loader.list_envs(settings) for env in exiting_envs:

with settings.using_env(env): # switch to the env # do something with a key of that env
Parameters:
  • obj – settings object
  • path – path to the vault secrets
Returns:

list containing all the keys at the given path

dynaconf.loaders.vault_loader.load(obj, env=None, silent=None, key=None)[source]

Reads and loads in to “settings” a single key or all keys from vault

Parameters:
  • obj – the settings instance
  • env – settings env default=’DYNACONF’
  • silent – if errors should raise
  • key – if defined load a single key, else load all in env
Returns:

None

dynaconf.loaders.vault_loader.write(obj, data=None, **kwargs)[source]

Write a value in to loader source

Parameters:
  • obj – settings object
  • data – vars to be stored
  • kwargs – vars to be stored
Returns:

dynaconf.loaders.yaml_loader module

dynaconf.loaders.yaml_loader.load(obj, env=None, silent=True, key=None, filename=None)[source]

Reads and loads in to “obj” a single key or all keys from source file.

Parameters:
  • obj – the settings instance
  • env – settings current env default=’development’
  • silent – if errors should raise
  • key – if defined load a single key, else load all in env
  • filename – Optional custom filename to load
Returns:

None

dynaconf.loaders.yaml_loader.write(settings_path, settings_data, merge=True)[source]

Write data to a settings file.

Parameters:
  • settings_path – the filepath
  • settings_data – a dictionary with data
  • merge – boolean if existing file should be merged with new data

dynaconf.loaders.toml_loader module

dynaconf.loaders.toml_loader.load(obj, env=None, silent=True, key=None, filename=None)[source]

Reads and loads in to “obj” a single key or all keys from source file.

Parameters:
  • obj – the settings instance
  • env – settings current env default=’development’
  • silent – if errors should raise
  • key – if defined load a single key, else load all in env
  • filename – Optional custom filename to load
Returns:

None

dynaconf.loaders.toml_loader.write(settings_path, settings_data, merge=True)[source]

Write data to a settings file.

Parameters:
  • settings_path – the filepath
  • settings_data – a dictionary with data
  • merge – boolean if existing file should be merged with new data

dynaconf.loaders.py_loader module

dynaconf.loaders.py_loader.get_module(obj, filename, silent=False)[source]
dynaconf.loaders.py_loader.import_from_filename(obj, filename, silent=False)[source]

If settings_module is a filename path import it.

dynaconf.loaders.py_loader.load(obj, settings_module, identifier='py', silent=False, key=None)[source]

Tries to import a python module

dynaconf.loaders.py_loader.load_from_python_object(obj, mod, settings_module, key=None, identifier=None)[source]
dynaconf.loaders.py_loader.try_to_load_from_py_module_name(obj, name, key=None, identifier='py', silent=False)[source]

Try to load module by its string name.

Arguments:
obj {LAzySettings} – Dynaconf settings instance name {str} – Name of the module e.g: foo.bar.zaz
Keyword Arguments:
key {str} – Single key to be loaded (default: {None}) identifier {str} – Name of identifier to store (default: ‘py’) silent {bool} – Weather to raise or silence exceptions.
dynaconf.loaders.py_loader.write(settings_path, settings_data, merge=True)[source]

Write data to a settings file.

Parameters:
  • settings_path – the filepath
  • settings_data – a dictionary with data
  • merge – boolean if existing file should be merged with new data

dynaconf.loaders.json_loader module

dynaconf.loaders.json_loader.load(obj, env=None, silent=True, key=None, filename=None)[source]

Reads and loads in to “obj” a single key or all keys from source file.

Parameters:
  • obj – the settings instance
  • env – settings current env default=’development’
  • silent – if errors should raise
  • key – if defined load a single key, else load all in env
  • filename – Optional custom filename to load
Returns:

None

dynaconf.loaders.json_loader.write(settings_path, settings_data, merge=True)[source]

Write data to a settings file.

Parameters:
  • settings_path – the filepath
  • settings_data – a dictionary with data
  • merge – boolean if existing file should be merged with new data

dynaconf.loaders.ini_loader module

dynaconf.loaders.ini_loader.load(obj, env=None, silent=True, key=None, filename=None)[source]

Reads and loads in to “obj” a single key or all keys from source file.

Parameters:
  • obj – the settings instance
  • env – settings current env default=’development’
  • silent – if errors should raise
  • key – if defined load a single key, else load all in env
  • filename – Optional custom filename to load
Returns:

None

dynaconf.loaders.ini_loader.write(settings_path, settings_data, merge=True)[source]

Write data to a settings file.

Parameters:
  • settings_path – the filepath
  • settings_data – a dictionary with data
  • merge – boolean if existing file should be merged with new data

dynaconf.loaders.base

class dynaconf.loaders.base.BaseLoader(obj, env, identifier, extensions, file_reader, string_reader)[source]

Bases: object

Base loader for dynaconf source files.

Parameters:
  • obj – {[LazySettings]} – [Dynaconf settings]
  • env – {[string]} – [the current env to be loaded defaults to [development]]
  • identifier – {[string]} – [identifier ini, yaml, json, py, toml]
  • extensions – {[list]} – [List of extensions with dots [‘.a’, ‘.b’]]
  • file_reader – {[callable]} – [reads file return dict]
  • string_reader – {[callable]} – [reads string return dict]
load(filename=None, key=None, silent=True)[source]

Reads and loads in to self.obj a single key or all keys from source

Parameters:
  • filename – Optional filename to load
  • key – if provided load a single key
  • silent – if load erros should be silenced
static warn_not_installed(obj, identifier)[source]

Module contents

dynaconf.loaders.default_loader(obj, defaults=None)[source]

Loads default settings and check if there are overridings exported as environment variables

dynaconf.loaders.enable_external_loaders(obj)[source]

Enable external service loaders like VAULT_ and REDIS_ looks forenv variables like REDIS_ENABLED_FOR_DYNACONF

dynaconf.loaders.settings_loader(obj, settings_module=None, env=None, silent=True, key=None, filename=None)[source]

Loads from defined settings module

Parameters:
  • obj – A dynaconf instance
  • settings_module – A path or a list of paths e.g settings.toml
  • env – Env to look for data defaults: development
  • silent – Boolean to raise loading errors
  • key – Load a single key if provided
  • filename – optional filename to override the settings_module
dynaconf.loaders.write(filename, data, env=None)[source]

Writes data to filename infers format by file extension.