API¶
Config¶
-
class
configly.
Config
(value=None, _src_input=None, _loader=None, _registry=<configly.registry.Registry object>)¶ Container for configuration.
>>> config = Config({"a": 1, "b": {"c": 2}}) >>> config.a 1 >>> config.b.c 2
-
classmethod
from_json
(file=None, content=None, registry=<configly.registry.Registry object>)¶ Open a toml file and load it into the resulting config object.
-
classmethod
from_toml
(file=None, content=None, registry=<configly.registry.Registry object>)¶ Open a toml file and load it into the resulting config object.
-
classmethod
from_yaml
(file=None, *, content=None, registry=<configly.registry.Registry object>)¶ Open a yaml file and load it into the resulting config object.
-
refresh
()¶ Reevaluate the interpolation of variable values in the given sub-config.
This will be particularly useful for values which are coming from sources where the value might change.
-
to_dict
()¶ Return a dict equivalent of the config object.
Roughly equivalent to >>> dict(Config({1:1})) == Config({1:1}).to_dict() True
-
classmethod
-
class
configly.
Interpolator
¶ ABC to define the interface required by an interpolator.
It is not required to subclass Interpolator, but it does provide the interface and ensures the class implements it.
-
abstract
__getitem__
(name)¶ Override this method to implement a method to get the value for a piece of config.
This method should return a KeyError when the value cannot be found.
-
get
(name, default=None)¶ Implement get operation with a default.
Override this method to get more tailored behavior.
-
abstract
-
class
configly.
Registry
¶ A registry to allow for non-bundled interpolators and config loaders to be added.
By default Config uses a global registry, to which you can register_interpolator.
If you need more flexibility, you can pass registry to any of the from_* classmethods to use your own registry.
>>> from configly import Config >>> local_registry = Registry() >>> config = Config.from_yaml('readthedocs.yml', registry=local_registry)
-
register_interpolator
(name, interpolator_cls, overwrite=False)¶ Register a new interpolator for loading configuration from different sources.
By default Config classes read from a global registry of interpolators. This function registers new interpolators to that global registry.
For example, internally configly registers environment interpolation through a call like:
>>> from configly import EnvVarInterpolator >>> register_interpolator("ENV", EnvVarInterpolator, overwrite=True)
-
-
configly.
register_interpolator
(name, interpolator_cls, overwrite=False)¶ Register a new interpolator for loading configuration from different sources.
By default Config classes read from a global registry of interpolators. This function registers new interpolators to that global registry.
For example, internally configly registers environment interpolation through a call like:
>>> from configly import EnvVarInterpolator >>> register_interpolator("ENV", EnvVarInterpolator, overwrite=True)