code: def format_python_constraint(constraint):
      
      if isinstance(constraint, Version):
          if constraint.precision >= 3:
              return "=={}".format(str(constraint))
  
          # Transform 3.6 or 3
          if constraint.precision == 2:
              # 3.6
              constraint = parse_constraint(
                  "~{}.{}".format(constraint.major, constraint.minor)
              )
          else:
              constraint = parse_constraint("^{}.0".format(constraint.major))
  
      if not isinstance(constraint, VersionUnion):
          return str(constraint)
  
      formatted = []
      accepted = []
  
      for version in PYTHON_VERSION:
          version_constraint = parse_constraint(version)
          matches = constraint.allows_any(version_constraint)
          if not matches:
              formatted.append("!=" + version)
          else:
              accepted.append(version)
  
      # Checking lower bound
      low = accepted[0]
  
      formatted.insert(0, ">=" + ".".join(low.split(".")[:2]))
  
      return ", ".join(formatted)
docs: This helper will help in transforming
      disjunctive constraint into proper constraint.