docs: def from_iso_datetime(datetimestring, use_dateutil=True):
      """Parse an ISO8601-formatted datetime string and return a datetime object.
  
      Use dateutil's parser if possible and return a timezone-aware datetime.
      """
      if not _iso8601_datetime_re.match(datetimestring):
          raise ValueError('Not a valid ISO8601-formatted datetime string')
      # Use dateutil's parser if possible
      if dateutil_available and use_dateutil:
          return parser.isoparse(datetimestring)
      else:
          # Strip off timezone info.
          return datetime.datetime.strptime(datetimestring[:19], '%Y-%m-%dT%H:%M:%S')