def __init__(self, *args, **kwargs):
        if args:
            # The idea behind only allowing keyword arguments
            # is to prevent accidental misuse of a changed schema
            raise TypeError('Non-keyword arguments not allowed'
                            ' when initializing Records')

        for k, field_type in self._fields.items():
            if k in kwargs:
                value = kwargs.get(k)
            else:
                value = field_type.default_value()

            object.__setattr__(self, k, value)
dataset/ETHPy150Open spotify/pyschema/pyschema/core.py/Record.__init__/original