from collections import namedtuple

Accelerometer = namedtuple('Accelerometer', ["timestamp", "x", "y", "z"])
Magnetometer = namedtuple('Magnetometer', ['timestamp', 'x', 'y', 'z'])
Gyroscope = namedtuple('Gyroscope', ['timestamp', 'x', 'y', 'z'])
Euler = namedtuple('Euler', ['timestamp', 'x', 'y', 'z'])

Quaternion = namedtuple('Quaternion', ['timestamp', 'w', 'x', 'y', 'z'])

Heading = namedtuple('Heading', ['timestamp', 'h'])

Status = namedtuple('Status', ['magnetometer_enabled',
                               'gyroscope_enabled',
                               'accelerometer_enabled',
                               'gyroscope_resolution',
                               'accelerometer_resolution',
                               'low_output_rate',
                               'heading_streaming',
                               'euler_streaming',
                               'magnetometer_streaming',
                               'quaternions_streaming',
                               'gyroscope_streaming',
                               'accelerometer_streaming'])

[((52, 109), 'collections.namedtuple', 'namedtuple', (['"""Accelerometer"""', "['timestamp', 'x', 'y', 'z']"], {}), "('Accelerometer', ['timestamp', 'x', 'y', 'z'])\n", (62, 109), False, 'from collections import namedtuple\n'), ((125, 181), 'collections.namedtuple', 'namedtuple', (['"""Magnetometer"""', "['timestamp', 'x', 'y', 'z']"], {}), "('Magnetometer', ['timestamp', 'x', 'y', 'z'])\n", (135, 181), False, 'from collections import namedtuple\n'), ((194, 247), 'collections.namedtuple', 'namedtuple', (['"""Gyroscope"""', "['timestamp', 'x', 'y', 'z']"], {}), "('Gyroscope', ['timestamp', 'x', 'y', 'z'])\n", (204, 247), False, 'from collections import namedtuple\n'), ((256, 305), 'collections.namedtuple', 'namedtuple', (['"""Euler"""', "['timestamp', 'x', 'y', 'z']"], {}), "('Euler', ['timestamp', 'x', 'y', 'z'])\n", (266, 305), False, 'from collections import namedtuple\n'), ((320, 379), 'collections.namedtuple', 'namedtuple', (['"""Quaternion"""', "['timestamp', 'w', 'x', 'y', 'z']"], {}), "('Quaternion', ['timestamp', 'w', 'x', 'y', 'z'])\n", (330, 379), False, 'from collections import namedtuple\n'), ((391, 432), 'collections.namedtuple', 'namedtuple', (['"""Heading"""', "['timestamp', 'h']"], {}), "('Heading', ['timestamp', 'h'])\n", (401, 432), False, 'from collections import namedtuple\n'), ((443, 763), 'collections.namedtuple', 'namedtuple', (['"""Status"""', "['magnetometer_enabled', 'gyroscope_enabled', 'accelerometer_enabled',\n    'gyroscope_resolution', 'accelerometer_resolution', 'low_output_rate',\n    'heading_streaming', 'euler_streaming', 'magnetometer_streaming',\n    'quaternions_streaming', 'gyroscope_streaming', 'accelerometer_streaming']"], {}), "('Status', ['magnetometer_enabled', 'gyroscope_enabled',\n    'accelerometer_enabled', 'gyroscope_resolution',\n    'accelerometer_resolution', 'low_output_rate', 'heading_streaming',\n    'euler_streaming', 'magnetometer_streaming', 'quaternions_streaming',\n    'gyroscope_streaming', 'accelerometer_streaming'])\n", (453, 763), False, 'from collections import namedtuple\n')]