def __init__(self, attribs):
        if not isinstance(attribs, list):
            attribs = [attribs]
        self._sysdefault_attribs = []
        self._nullable_attribs = []
        self._tuple_version = None
        heading = []
        for attr in attribs:
            assert isinstance(attr, Attribute)
            assert attr.name not in RESERVED_ATTRIBUTE_NAMES, \
                "Cannot use '%s' as attribute name" % attr.name
            setattr(self, attr.name, attr.value)
            heading.append((attr.name, attr.type))
            if attr.sysdefault:
                self._sysdefault_attribs.append(attr.name)
            if attr.nullable:
                self._nullable_attribs.append(attr.name)
        # This has to be last for __setattr__
        self._heading = tuple(heading)
Initialize a relational tuple
dataset/ETHPy150Open perseas/Pyrseas/pyrseas/relation/tuple.py/Tuple.__init__