def __init__(self, name, e_type=str, required=False, default=None,<EOL>conf_hidden=False, conf_required=False, desc=None,<EOL>hooks=None, hidden=False, e_type_exclude=False):
self._name = name<EOL>self.e_type = e_type<EOL>self.e_type_exclude = e_type_exclude<EOL>self._required = required<EOL>self.default = default<EOL>self._desc = desc<EOL>self.conf_hidden = conf_hidden<EOL>self.conf_required = conf_required<EOL>self._desc_for_config = None<EOL>self._desc_for_argparse = None<EOL>self.value = None<EOL>self.hidden = hidden<EOL>if hooks is None:<EOL><INDENT>hooks = []<EOL><DEDENT>if isinstance(hooks, list):<EOL><INDENT>for h in hooks:<EOL><INDENT>if not isinstance(h, DefaultHook):<EOL><INDENT>raise TypeError("<STR_LIT>"<EOL>+ "<STR_LIT>")<EOL><DEDENT><DEDENT>self.hooks = hooks<EOL><DEDENT>else:<EOL><INDENT>if isinstance(hooks, DefaultHook):<EOL><INDENT>self.hooks = [hooks]<EOL><DEDENT>else:<EOL><INDENT>raise TypeError(<EOL>"<STR_LIT>")<EOL><DEDENT><DEDENT>
Information about how to declare a element which will be load from a
        configuration file.

    Keyword Arguments:

    - name    -- name of the attribute store into the configuration file.

    - e_type -- Data type of the attribute.

    - e_type_exclude -- Do not export data type to argparse. Example there is a
    conflict between type=int and action=count for argparse parameters.

    - conf_required -- The current attribute must be present in the
    configuration file.

    - required -- The current attribute must be present into command line
    arguments except if it is present into configuration file.

    - default -- Default value used if the attribute is not set in
    configuration file.
        This value is also used during configuration file generation.
        ex: 'attribute = $default_value' or  ';attribute = $default_value'
        if this attribute is mandatory.

    - desc -- Description used into the configuration file and argparse.

    - conf_hidden -- The current attribute will not be used during
    configuration file generation.

    - hidden -- The current attribute will not be print on console
    (ex password)

    - hooks -- one hook or a list of hook. Should be an instance of
    DefaultHook. The hook will be apply to the element value once read
    from config file.