I want to replay chess games in Portable Game Notation, which describes moves such as the King's Knight opening with
1. e4 e5 2. Nf3
I adapted FlaskChess in Python for this purpose and it can take a list of moves such as the equivalent of the King's Knight opening with:
e2e4 e7e5 g1f3
or it can take the current state of play in Forsyth-Edwards Notation, which describes the state of the board after the King's Knight opening with:
rnbqkbnr/pppp1ppp/8/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 0 2
I am looking for a Python library that converts the moves in Portable Game Notation to either of these to be replayed on a GUI. Does it already exist?