code: def check(self, package_name, package_version, **extra_data):
          
          data = extra_data
          data['package_name'] = package_name
          data['package_version'] = package_version
          data['python_version'] = sys.version.split()[0]
          data['platform'] = platform.platform(True) or 'Unspecified'
  
          try:
              headers = {'connection': 'close',
                         'content-type': 'application/json'}
              response = requests.put(self.url, json.dumps(data), timeout=1,
                                      headers=headers)
              if response.status_code == codes.UNPROCESSABLE_ENTITY:
                  return 'update_checker does not support {!r}'.format(
                      package_name)
              data = response.json()
          except (requests.exceptions.RequestException, ValueError):
              return None
  
          if not data or not data.get('success') \
                  or (parse_version(package_version) >=
                      parse_version(data['data']['version'])):
              return None
  
          return UpdateResult(package_name, running=package_version,
                              available=data['data']['version'],
                              release_date=data['data']['upload_time'])
docs: Return a UpdateResult object if there is a newer version.