I want to run a batch analysis of games and produce output like Lichess computer analysis. I want to do this offline on my desktop PC. Since Stockfish is free, there must exist some solution. Does anyone have any ideas, please?
Lichess provides its source code, so it should be easy to use this code, with minor modifications, with any number of scripts.
Most engines already come with a computer analysis, so writing a program to feed in every position from a pgn file is easily done.
The problem with both is programming skills. I thought that I could do this, but I gave up even before I found the code related to reading pgn files. There must be a programmer who would do this just for a challenge, but finding him seems impossible today. On the other hand, Python claims to be easy to program and already has chess code provided, maybe with a little effort, you could accomplish this yourself.
Sory, this is no help, but, although most currently have the spare time, all consider this not prestige enough to bother.
The analysis window of Scid vs Pc offers the possibility of analyzing games in batches (same for the older Scid). For this, you need to check the option "Batch annotation" and introduce the number of games to analyze, starting from the present one.
Then, the program will evaluate the position at each move and give you different information depending on how you configured the analysis. Typically it will show you the evaluation for each move and mark blunders. To identify blunders, the program will calculate the change in evaluation score after each move. If the variation is greater than the blunder threshold (that can be defined by the user), it will be marked as a blunder. The program can also mark missed mates, tactical exercises and add variations.
I haven't tested the above programs.
Shredder can include score, but it doesn't suggest the best move and commercial. Lucaschess can analyze a game, but is a weak program and tends to give incorrect analysis. Arena has a good strength, but after some time, the program tends to freeze and becomes useless.
Plenty of programs out there. You can use something like chessbase which is what I do. There are free alternatives like SCID.
Another option is to write your own program that passes games to a engine for analysis.Alternatively you could leverage the apis of chess.com and lichess.com.
I play primarily on lichess and have written a program to auto download games and append to a chessbase database. From there I kick off a bulk analysis job. I'm trying to find a way to auto perform analysis on chessbase from a cli but that's overkill easy enough to select the games in mass and kick off from there