docs: def get_students(
              self,
              gradebook_id='',
              simple=False,
              section_name='',
              include_photo=False,
              include_grade_info=False,
              include_grade_history=False,
              include_makeup_grades=False
      ):
          """Get students for a gradebook.
  
          Get a list of students for a given gradebook,
          specified by a gradebook id. Does not include grade data.
  
          Args:
              gradebook_id (str): unique identifier for gradebook, i.e. ``2314``
              simple (bool):
                  if ``True``, just return dictionary with keys ``email``,
                  ``name``, ``section``, default = ``False``
              section_name (str): section name
              include_photo (bool): include student photo, default= ``False``
              include_grade_info (bool):
                  include student's grade info, default= ``False``
              include_grade_history (bool):
                  include student's grade history, default= ``False``
              include_makeup_grades (bool):
                  include student's makeup grades, default= ``False``
  
          Raises:
              requests.RequestException: Exception connection error
              ValueError: Unable to decode response content
  
          Returns:
              list: list of student dictionaries
  
          .. code-block:: python
  
              [{
                  u'accountEmail': u'stellar.test2@gmail.com',
                  u'displayName': u'Molly Parker',
                  u'photoUrl': None,
                  u'middleName': None,
                  u'section': u'Unassigned',
                  u'sectionId': 1293925,
                  u'editable': False,
                  u'overallGradeInformation': None,
                  u'studentId': 1145,
                  u'studentAssignmentInfo': None,
                  u'sortableName': u'Parker, Molly',
                  u'surname': u'Parker',
                  u'givenName': u'Molly',
                  u'nickName': u'Molly',
                  u'email': u'stellar.test2@gmail.com'
              },]
  
          """
          # These are parameters required for the remote API call, so
          # there aren't too many arguments, or too many variables
          # pylint: disable=too-many-arguments,too-many-locals
  
          # Set params by arguments
          params = dict(
              includePhoto=json.dumps(include_photo),
              includeGradeInfo=json.dumps(include_grade_info),
              includeGradeHistory=json.dumps(include_grade_history),
              includeMakeupGrades=json.dumps(include_makeup_grades),
          )
  
          url = 'students/{gradebookId}'
          if section_name:
              group_id, _ = self.get_section_by_name(section_name)
              if group_id is None:
                  failure_message = (
                      'in get_students -- Error: '
                      'No such section %s' % section_name
                  )
                  log.critical(failure_message)
                  raise PyLmodNoSuchSection(failure_message)
              url += '/section/{0}'.format(group_id)
  
          student_data = self.get(
              url.format(
                  gradebookId=gradebook_id or self.gradebook_id
              ),
              params=params,
          )
  
          if simple:
              # just return dict with keys email, name, section
              student_map = dict(
                  accountEmail='email',
                  displayName='name',
                  section='section'
              )
  
              def remap(students):
                  """Convert mit.edu domain to upper-case for student emails.
  
                  The mit.edu domain for user email must be upper-case,
                  i.e. MIT.EDU.
  
                  Args:
                      students (list): list of students
  
                  Returns:
                      dict: dictionary of updated student email domains
                  """
                  newx = dict((student_map[k], students[k]) for k in student_map)
                  # match certs
                  newx['email'] = newx['email'].replace('@mit.edu', '@MIT.EDU')
                  return newx
  
              return [remap(x) for x in student_data['data']]
  
          return student_data['data']