def config(maybe_cls=None, these=None, title=None, description=None):
def wrap(config_cls):<EOL><INDENT>"""<STR_LIT>"""<EOL>setattr(config_cls, CONFIG_KEY, dict(title=title, description=description))<EOL>for handler_name in handlers.__all__:<EOL><INDENT>handler = getattr(handlers, handler_name)<EOL>if handler.available:<EOL><INDENT>handler = handler()<EOL>setattr(<EOL>config_cls,<EOL>f"<STR_LIT>",<EOL>partialmethod(_handle_dumps, handler),<EOL>)<EOL>setattr(<EOL>config_cls,<EOL>f"<STR_LIT>",<EOL>partialmethod(_handle_dump, handler),<EOL>)<EOL>setattr(<EOL>config_cls,<EOL>f"<STR_LIT>",<EOL>partialmethod(_handle_loads, handler),<EOL>)<EOL>setattr(<EOL>config_cls,<EOL>f"<STR_LIT>",<EOL>partialmethod(_handle_load, handler),<EOL>)<EOL><DEDENT><DEDENT>config_vars = these if isinstance(these, dict) else None<EOL>return attr.s(config_cls, these=config_vars, slots=True)<EOL><DEDENT>if maybe_cls is None:<EOL><INDENT>return wrap<EOL><DEDENT>else:<EOL><INDENT>return wrap(maybe_cls)<EOL><DEDENT>
File config class decorator.

    Usage is to simply decorate a **class** to make it a
    :func:`config <file_config._file_config.config>` class.

    >>> import file_config
    >>> @file_config.config(
            title="My Config Title",
            description="A description about my config"
        )
        class MyConfig(object):
            pass

    :param class maybe_cls: The class to inherit from, defaults to None, optional
    :param dict these: A dictionary of str to ``file_config.var`` to use as attribs
    :param str title: The title of the config, defaults to None, optional
    :param str description: A description of the config, defaults to None, optional
    :return: Config wrapped class
    :rtype: class