def __init__(self, expected_type, **kwargs):
        """
        Args:
            expected_type (class or function): type expected for this attribute, if specified
                as a function the result of the function will determine whether or not the value
                passed type validation.

        Kwargs:
            default: if specified this value will be used as a default value, if not specified then
                configuration of this attribute is treated as mandatory
            help_text (str): explains the attribute
            choices (list): list of valid value choices for this attribute, if set any value not
                matching any of the choices will raise a configuration error
            handler (function): when the value for this attribute is a collection of configuration
                attributes (e.g. nested config) use this function to return the aproporiate config
                handler class to use to validate them
            prepare (function): allows you to prepare value for this attribute
            deprecated (str): if not None indicates that this attribute is still functional but
                deprecated and will be removed in the vodka version specified in the value
        """

        self.expected_type = expected_type
        self.default = kwargs.get("default")
        self.help_text = kwargs.get("help_text")
        self.handler = kwargs.get("handler")
        self.choices = kwargs.get("choices")
        self.prepare = kwargs.get("prepare", [])
        self.deprecated = kwargs.get("deprecated", False)
        self.nested = kwargs.get("nested", 0)
def __init__ ( self , expected_type , ** kwargs ) : self . expected_type = expected_type self . default = kwargs . get ( "default" ) self . help_text = kwargs . get ( "help_text" ) self . handler = kwargs . get ( "handler" ) self . choices = kwargs . get ( "choices" ) self . prepare = kwargs . get ( "prepare" , [ ] ) self . deprecated = kwargs . get ( "deprecated" , False ) self . nested = kwargs . get ( "nested" , 0 )
Args:
            expected_type (class or function): type expected for this attribute, if specified
                as a function the result of the function will determine whether or not the value
                passed type validation.

        Kwargs:
            default: if specified this value will be used as a default value, if not specified then
                configuration of this attribute is treated as mandatory
            help_text (str): explains the attribute
            choices (list): list of valid value choices for this attribute, if set any value not
                matching any of the choices will raise a configuration error
            handler (function): when the value for this attribute is a collection of configuration
                attributes (e.g. nested config) use this function to return the aproporiate config
                handler class to use to validate them
            prepare (function): allows you to prepare value for this attribute
            deprecated (str): if not None indicates that this attribute is still functional but
                deprecated and will be removed in the vodka version specified in the value