code: def last_version():
      
      try:
          last_update, version, success = last_version._cache
      except AttributeError:
          last_update = 0
          version = None
          success = False
      cache_delta = 24 * 3600 if success else 600
      if (time.time() - last_update) < cache_delta:
          return version
      else:
          try:
              req = requests.get(settings.CAS_NEW_VERSION_JSON_URL)
              data = json.loads(req.text)
              version = data["info"]["version"]
              last_version._cache = (time.time(), version, True)
              return version
          except (
              KeyError,
              ValueError,
              requests.exceptions.RequestException
          ) as error:  # pragma: no cover (should not happen unless pypi is not available)
              logger.error(
                  "Unable to fetch %s: %s" % (settings.CAS_NEW_VERSION_JSON_URL, error)
              )
              last_version._cache = (time.time(), version, False)
docs: Fetch the last version from pypi and return it. On successful fetch from pypi, the response
          is cached 24h, on error, it is cached 10 min.
  
          :return: the last django-cas-server version
          :rtype: unicode