code: def _parse_feature_string(s):
      features = []
      parts = s.split()
      i = 0
      length = len(parts)
      while i < length:
          feature = parts[i]
          if feature[0] in "0123456789":
              raise ValueError("bad feature name: %r" % (feature,))
          i = i + 1
          version = None
          if i < length:
              v = parts[i]
              if v[0] in "0123456789":
                  i = i + 1
                  version = v
          features.append((feature, version))
      return tuple(features)
  
imports: import sys
label_desc: Use image node_id 4 for calling a global function with example usage: _parse_feature_string(s) and returns: tuple