def pyarrays_to_meta(pyarrays):
    """
    Parse a pyarrays object and return this a tensorframe meta object.
    Tensorframe meta object contains base pyarray information in a more presentable format,
    this can be later supplemented with additional information (e.g. stats information).
    """
    # rows are equal. Use first column as reference.
    row_length = pyarrays[0][0].size

    column_meta = [(
        [memoryview(column[1]), memoryview(column[0])],
        column[0].dtype.descr[0][1],
        column[0].dtype.descr[0][0]
        ) for column in pyarrays if column.__len__() == 2]

    tensorframe_meta = {
        'no_columns': int(pyarrays.__len__()),
        'no_rows': int(row_length),
        'memory_ptr': [meta[0] for meta in column_meta],
        'columns': {
            'names': [meta[2] for meta in column_meta],
            'datatypes': [meta[1] for meta in column_meta],
            'stats':    {},
        }
    }
    return tensorframe_meta