def with_metaclass(Type, skip_attrs=set(['<STR_LIT>', '<STR_LIT>'])):
def _clone_with_metaclass(Class):<EOL><INDENT>attrs = dict((key, value) for key, value in items(vars(Class))<EOL>if key not in skip_attrs)<EOL>return Type(Class.__name__, Class.__bases__, attrs)<EOL><DEDENT>return _clone_with_metaclass<EOL>
Class decorator to set metaclass.

    Works with both Python 3 and Python 3 and it does not add
    an extra class in the lookup order like ``six.with_metaclass`` does
    (that is -- it copies the original class instead of using inheritance).