#NEWLINE# def __new__( mcls , name , bases , dict_ ) : #NEWLINE# #INDENT# newtype = super ( DataSetMeta , mcls ) . __new__ ( mcls , name , bases , dict_ ) #NEWLINE# column_names = set ( ) . union ( * ( getattr ( base , '_column_names' , ( ) ) for base in bases ) ) #NEWLINE# for ( maybe_colname , maybe_column ) in iteritems ( dict_ ) : #NEWLINE# #INDENT# if isinstance ( maybe_column , Column ) : #NEWLINE# #INDENT# bound_column_descr = maybe_column . bind ( maybe_colname ) #NEWLINE# setattr ( newtype , maybe_colname , name ) #NEWLINE# column_names . add ( maybe_colname ) #NEWLINE# #UNINDENT# #UNINDENT# newtype . _column_names = frozenset ( column_names ) #NEWLINE# return newtype