docs: def gen_part_from_line(lines: Iterable[str],
                         part_index: int,
                         splitter: str = None) -> Generator[str, None, None]:
      """
      Splits lines with ``splitter`` and yields a specified part by index.
  
      Args:
          lines: iterable of strings
          part_index: index of part to yield
          splitter: string to split the lines on
  
      Yields:
          the specified part for each line
  
      """
      for line in lines:
          parts = line.split(splitter)
          yield parts[part_index]