code: def create_report(self):
          
          data = self.create_data()
          try:
              json_string = json.dumps(data)
          except UnicodeDecodeError as e:
              log.error('ERROR: While preparing JSON:', exc_info=e)
              self.debug_bad_encoding(data)
              raise
  
          log_string = re.sub(r'"repo_token": "(.+?)"',
                              '"repo_token": "[secure]"', json_string)
          log.debug(log_string)
          log.debug('==\nReporting %s files\n==\n', len(data['source_files']))
          for source_file in data['source_files']:
              log.debug('%s - %s/%s', source_file['name'],
                        sum(filter(None, source_file['coverage'])),
                        len(source_file['coverage']))
          return json_string
docs: Generate json dumped report for coveralls api.