I am working on a research project where we need to run stockfish on hundreds of thousands of pgns we have collected. We need to extract all information generated from stockfish like centipawns, inaccuracies, blunders, mistakes, etc. I know you can download stockfish .exe and some gui to use it with. But we need to run it on large number of existing pgns in an automated manner preferably using python.

  • 1
    Stockfish itself is a command line program so I suspect it should be possible to call it from within a python program.
    – koedem
    Commented Jan 25, 2023 at 9:24
  • 1
    Pleaes note that blunders, mistakes and so on are not engine output but rather definitions made on top to (at least in theory) make analysis more human-readable
    – David
    Commented Jan 25, 2023 at 14:44

2 Answers 2


Download Stockfish form official website. Note that there are different versions for different cpus - pick first one that works.

Then you can communicate with stockfish using UCI protocol. For python library python-chess supports it.

For distributed analysis Lichess developed Fishnet which is open source. Maybe you can adapt it for your needs?


Nibbler appears to have partial Stockfish support; it's Leela-oriented.

I've requested for Lichess to make their feature available locally - it helps if they hear from more users, consider commenting. Since it's open-source, locality is of course possible for an outsider to implement, if willing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.