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'])

[((3, 16, 3, 73), 'collections.namedtuple', 'namedtuple', ({(3, 27, 3, 42): '"""Accelerometer"""', (3, 44, 3, 72): "['timestamp', 'x', 'y', 'z']"}, {}), "('Accelerometer', ['timestamp', 'x', 'y', 'z'])", False, 'from collections import namedtuple\n'), ((4, 15, 4, 71), 'collections.namedtuple', 'namedtuple', ({(4, 26, 4, 40): '"""Magnetometer"""', (4, 42, 4, 70): "['timestamp', 'x', 'y', 'z']"}, {}), "('Magnetometer', ['timestamp', 'x', 'y', 'z'])", False, 'from collections import namedtuple\n'), ((5, 12, 5, 65), 'collections.namedtuple', 'namedtuple', ({(5, 23, 5, 34): '"""Gyroscope"""', (5, 36, 5, 64): "['timestamp', 'x', 'y', 'z']"}, {}), "('Gyroscope', ['timestamp', 'x', 'y', 'z'])", False, 'from collections import namedtuple\n'), ((6, 8, 6, 57), 'collections.namedtuple', 'namedtuple', ({(6, 19, 6, 26): '"""Euler"""', (6, 28, 6, 56): "['timestamp', 'x', 'y', 'z']"}, {}), "('Euler', ['timestamp', 'x', 'y', 'z'])", False, 'from collections import namedtuple\n'), ((8, 13, 8, 72), 'collections.namedtuple', 'namedtuple', ({(8, 24, 8, 36): '"""Quaternion"""', (8, 38, 8, 71): "['timestamp', 'w', 'x', 'y', 'z']"}, {}), "('Quaternion', ['timestamp', 'w', 'x', 'y', 'z'])", False, 'from collections import namedtuple\n'), ((10, 10, 10, 51), 'collections.namedtuple', 'namedtuple', ({(10, 21, 10, 30): '"""Heading"""', (10, 32, 10, 50): "['timestamp', 'h']"}, {}), "('Heading', ['timestamp', 'h'])", False, 'from collections import namedtuple\n'), ((12, 9, 23, 58), 'collections.namedtuple', 'namedtuple', ({(12, 20, 12, 28): '"""Status"""', (12, 30, 23, 57): "['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'])", False, 'from collections import namedtuple\n')]