code: def from_epd(cls: Type[BoardT], epd: str, *, chess960: bool = False) -> Tuple[BoardT, Dict[str, Union[None, str, int, float, Move, List[Move]]]]:
          
          board = cls.empty(chess960=chess960)
          return board, board.set_epd(epd)
docs: Creates a new board from an EPD string. See
          :func:`~chess.Board.set_epd()`.
  
          Returns the board and the dictionary of parsed operations as a tuple.