docs: def get_current_semver(data):
      """Given a dictionary of all version data available, determine the current version"""
      # get the not-none values from data
      known = {
          key: data.get(alias)
          for key, alias in config._forward_aliases.items()
          if data.get(alias) is not None
      }
  
      # prefer the strict field, if available
      potentials = [
          known.pop(Constants.VERSION_STRICT_FIELD, None),
          known.pop(Constants.VERSION_FIELD, None),
      ]
  
      from_components = [known.get(k) for k in SemVerSigFig._fields if k in known]
      if len(from_components) == 3:
          potentials.append(".".join(from_components))
  
      versions = set()
      for potential in potentials:
          if not potential:
              continue
          match = re_semver.match(potential)
          if match:
              parts = match.groupdict()
              parts.pop("tail")
              versions.add(SemVer(**parts))
  
      if len(versions) > 1:
          raise ValueError("conflicting versions within project: %s" % versions)
  
      if not versions:
          _LOG.debug("key pairs found: \n%r", known)
          raise ValueError("could not find existing semver")
      return versions.pop()