PGN export and statistics about games

Sort:
MF972

Hello fellow programmers!

Does anyone has a good suggestion for exporting and doing statistics on your games?

I'm dreaming of a kind of GUI that lets me

  • import (into this "data center"'s database) my recent games (and maybe others) from c.c (and maybe others : lichess, ....)
  • select a subset among all of the games: in a given time range, for given Time Control (specific or all that is "Blitz" or "Rapid" or ....)
  • whether I lost or won
  • find out 
    • for which time of day and/or day of week ;
    • and/or which opening/defense against which defense/opening
    • and/or which Time Control(s) 

... I have best/worst results and/or what statistics (win/loss due to checkmate ? timeout ? ...)

MF972

For the moment, I just have a little Python script that can perform some basic analysis on my archive databases which are pickle files made from of PGN's I downloaded and scanned to extract essential info and stored in these archives.

To download a bunch of games in a PGN, I know no better way than manually

  • go to the "completed games" page (https://www.chess.com/games/archive/username),
  • possibly make a search restricting the date range(*)
  • check some or all of the games (there is a maximum of maybe 15 games on one search page, and I think one cannot select games across multiple pages of search result)
  • important : select the "show move timestamps" checkbox ! (my main interest is in time management so I definitely want that info!)
  • click download to fetch the selected games in one PGN
  • rename the file in a meaningful way (e.g. append the choses date range) and move it from "Downloads" to a dedicated folder
  • run my "extraction script" that scans the PNG and stores the data in a more practical format (dict or list with header (players, rating, time control) & moves w/ timestamps) in a pickle archive file.
  • run other scripts that read these archive files into memory and/or compute various statistics for a selection of the available games.
MF972

(*) Why do I have to restrict the time range? Because I don't know how/whether it is possible to select for d/l more than the dozen(or maybe 2-3 dozen, IDK) of games displayed on one page of search results.

And depending on whether I play one or more arena(s) in a week or not, the games listed on one search page may extend over a time range of month(s) or just a few days, in rare cases only one single day.

Has anyone (had) anything similar projects or even program(s)? Suggestions? Thanks!