code: def get_attached_pipettes(self):
          
          left_data = {
                  'mount_axis': 'z',
                  'plunger_axis': 'b',
                  'model': self.model_by_mount['left']['model'],
                  'id': self.model_by_mount['left']['id']
              }
          left_model = left_data.get('model')
  
          if left_model:
              tip_length = pipette_config.load(
                  left_model, left_data['id']).tip_length
              left_data.update({'tip_length': tip_length})
  
          right_data = {
                  'mount_axis': 'a',
                  'plunger_axis': 'c',
                  'model': self.model_by_mount['right']['model'],
                  'id': self.model_by_mount['right']['id']
              }
          right_model = right_data.get('model')
          if right_model:
              tip_length = pipette_config.load(
                  right_model, right_data['id']).tip_length
              right_data.update({'tip_length': tip_length})
          return {
              'left': left_data,
              'right': right_data
          }
docs: Gets model names of attached pipettes
  
          :return: :dict with keys 'left' and 'right' and a model string for each
              mount, or 'uncommissioned' if no model string available