code: def from_str(string, max_number=9, separator="."):
          
          tokens = string.split(separator)
          tokens = list(reversed(tokens))  # reverse order of importance
          most_important = tokens[-1]  # cannot be parsed like the others
          levels = [
              Level(max_number, int(token)) for token in tokens[:-1]
          ]
          levels.append(
              Level(float("inf"), int(most_important))
          )
  
          return Subsystem(levels, separator)
docs: Parses string
  
          :param string: Version
          :param max_number: Max number reachable by sub
          :param separator: Version numbers are separated with this split
          :return: Parses string and returns object