def __init__(cls, name, bases, attrs, **options):
        cls.arguments = {}
        # Go backwards so that the left-most classes take priority
        for base in reversed(bases):
            if hasattr(base, 'arguments'):
                cls.arguments.update(base.arguments)

        for name, attr in attrs.items():
            if name in cls.arguments and attr is None:
                del cls.arguments[name]
            if hasattr(attr, 'attach_to_class'):
                attr.attach_to_class(cls)
dataset/ETHPy150Open gulopine/steel/steel/common/meta.py/DeclarativeFieldMetaclass.__init__/original