To expand on what I said earlier.
Timboli: To be perfectly honest, what gogrepo.py does and doesn't do, sometimes does my head in, and I perfectly understand why many cannot stand to use it .... hence my GUI version to ease the pain. And i guess it could be said, that I would be happier with a version of gogrepo.py that uses a browser download link from your library, along with the cookie file of course. I could build a much simpler drag & drop batch downloader GUI for that. I know it means a few more clicks, but it keeps things simple for the user. The important thing is getting each file and verifying.
This is how I would see that working.
(1) The best viewer for your games, is your online GOG library pages.
(2) With the right use of the browser links, you can get exactly what you want.
(3) Backing up your full library is not something most do all in one go. Most would be doing it in stages, if they do it at all.
So how would that work in practice?
(1) You have a simple GUI ... not much more than a couple of inputs and buttons and a few checkboxes.
(2) Two inputs or them popping up after clicking a button, could be used to create your cookie file.
(3) Another input, could be used for pasting a game title or browser link. It could also support drag & drop.
(4) An input and button for destination folder.
(5) A download button would then either download via pasted browser link, or if you used a game title, download based on checkbox selections - game files, extras, OS, language, etc.
(6) This uses aspects of gogrepo.py to do all the heavy lifting and checksums etc.
(7) This could be further developed into a batch queue arrangement.
(8) Most importantly things are checked on-the-fly and no manifest is needed. In short, this version of gogrepo.py queries GOG for all the necessary detail to then start downloading ... basically an update, download and verify all rolled into one.
NOTE - Yes I am well aware this idea doesn't include dealing with silent or unknown updates, but it probably caters for most people. And gogrepo.py does already do that, for those who want it.