I am currently working on a Python 3 API/wrapper for GNU Chess. I've been doing a bit of research and I am pretty much stuck at the moment.
There is the Chess Engine Communication Protocol, but I am not sure if that's the path I should go down. There are also Internet Chess Servers, but again I am unsure if that's what I should be looking into. There is also the Portable Game Notation, but that looks like it's made for human consumption and not computers.
So what is the best way to interact with GNU Chess? Should I create a subprocess to interact with it/parse it's output? Is that the best way to go?
This is an example of me making the opening move in GNU Chess: