cfglib.sources package

Configs that take values from external sources.

Submodules

cfglib.sources.args module

class cfglib.sources.args.ArgsNamespaceConfig(args: object, uppercase: bool = False, relevant_keys: Optional[Iterable[str]] = None)[source]

Bases: cfglib.config.ProjectedConfig

A config that takes its contents from the environment.

class cfglib.sources.args.ArgsNamespaceConfigProjection(uppercase: bool = False, relevant_keys: Optional[Iterable[str]] = None)[source]

Bases: cfglib.config.ConfigProjection

A commonly used projection for cmdline args variables: filter and optionally uppercase keys.

is_relevant_key(key: str) → bool[source]

Should a projected config key be accepted by the ProjectedConfig?

is_relevant_sourcekey(sourcekey: str) → bool[source]

Should a source config key be used by the ProjectedConfig?

key_to_sourcekey(key: str) → str[source]

Map a ProjectedConfig’s key to a source config’s key

sourcekey_to_key(sourcekey: str) → str[source]

Map source config’s key to a a ProjectedConfig’s key

cfglib.sources.env module

class cfglib.sources.env.EnvConfig(prefix: str = '', lowercase: bool = False)[source]

Bases: cfglib.config.ProjectedConfig

A config that takes its contents from the environment.

class cfglib.sources.env.EnvConfigProjection(prefix: str, lowercase: bool = False)[source]

Bases: cfglib.config.ConfigProjection

A commonly used projection for env variables: remove prefix and optionally lowercase keys.

is_relevant_key(key: str) → bool[source]

Should a projected config key be accepted by the ProjectedConfig?

is_relevant_sourcekey(sourcekey: str) → bool[source]

Should a source config key be used by the ProjectedConfig?

key_to_sourcekey(key: str) → str[source]

Map a ProjectedConfig’s key to a source config’s key

sourcekey_to_key(sourcekey: str) → str[source]

Map source config’s key to a a ProjectedConfig’s key