Custom HandlersΒΆ

When requesting a config-instance using get_config() it is possible to specify a custom file-handler using the handler keyword arg. For example:

from config_resolver import get_config
from config_resolver.handler.json import JsonHandler

result = get_config('foo', 'bar', handler=JsonHandler)

Each handler has full control over the data type which is returned by get_config(). get_config always returns a named-tuple with two arguments:

  • config: This contains the object returned by the handler.
  • meta: This is a named-tuple which is generated by config_resolver and not modifyable by a handler. See The Meta Object.

A handler must be subclassed from config_resolver.handler.base.Handler which allows us to provide good type-hinting.

See the existing handlers in config_resolver.handler for some practical examples.