Game History Browser

Setup: (OSX/Unix/Linux) -Make sure you have python -Open terminal (in Applications/Utilities) -run the following command: sudo python install.py -you will be prompted to enter you password (Windows) -get python -run the setup.py with the install argument(setup.py install) in BeautifulSoup-... xlrd-... xlwt-... Running ChessStats: just run the file ChessStats.py in python! i.e. python ChessStats.py This will generate two files, data.xml and excel.xls . excel.xls Will contain all the data you need to make graphs of your rating over time. The data.xml file is mostly for StatNav, but it could also be used as a backup of all your playing history. Running StatNav: First of all, note that YOU MUST RUN ChessStats BEFORE YOU RUN StatNav. You will be prompted to enter the username of the stats that you would like to navigate. You MUST ENTER THIS USERNAME WITH CASE THAT IS IDENTICAL TO THE CASE YOU USED IN ChessStats. You will be prompted about whether or not you would like to apply a rating filter. The rating filter works in exactly the way you would expect it to. You will then be presented with a screen that looks a lot like this: ------------------------------------------------------------- Data set consists of 179 games. ------------------------------------------------------------- Playing as ... ------------------------------------------------------------- # - move play% wins loss draw points% aelo welo lelo delo ------------------------------------------------------------- 0 - Black 50.3% 41 | 45 | 4 47.78% 1403|1376|1425|1437 1 - White 49.7% 52 | 35 | 2 59.55% 1388|1369|1415|1432 ------------------------------------------------------------- Which move would you like to expand? (Type "-1" to go back a move, or any other negative number to exit.) ...except, of course, it will be filled in with your own data. As you might imagine, entering the number on the far left of the table (in the # column), will expand the "move" in that row. I put the word move in quotes because as you can see, we are actually selecting playing color in this case. The point is that that color selection can be thought of as a sort of move selection where color is the 0th move. In any case, were one to type 0 at the screen above, they would be presented with a new screen consisting of all the first moves anyone has played against them, and the associated stats of those moves. An example: ------------------------------------------------------------- Playing as Black Moves: 1 ... ------------------------------------------------------------- # - move play% wins loss draw points% aelo welo lelo delo ------------------------------------------------------------- 0 - e4 65.6% 28 | 29 | 2 49.15% 1400|1376|1419|1456 1 - d4 18.9% 9 | 7 | 1 52.94% 1399|1377|1423|1429 2 - c4 4.4% 0 | 3 | 1 0.00% 1442| 0 |1455|1406 3 - e3 2.2% 0 | 2 | 0 0.00% 1424| 0 |1424| 0 4 - d3 2.2% 1 | 1 | 0 50.00% 1432|1343|1521| 0 5 - b4 2.2% 0 | 2 | 0 0.00% 1413| 0 |1413| 0 6 - f4 1.1% 1 | 0 | 0 100.00% 1429|1429| 0 | 0 7 - b3 1.1% 0 | 1 | 0 0.00% 1485| 0 |1485| 0 8 - Nf3 1.1% 1 | 0 | 0 100.00% 1425|1425| 0 | 0 9 - Nc3 1.1% 1 | 0 | 0 100.00% 1280|1280| 0 | 0 ------------------------------------------------------------- Which move would you like to expand? (Type "-1" to go back a move, or any other negative number to exit.) Notice that it now says Playing as Black at the top, and we now have a (empty for the time being) move list. As we select moves, this moves list will fill itself out: ------------------------------------------------------------- Playing as Black Moves: 1 e4 e5 2 Nf3 Nc6 3 ... ------------------------------------------------------------- # - move play% wins loss draw points% aelo welo lelo delo ------------------------------------------------------------- 0 - Bc4 38.1% 23 | 42 | 2 35.82% 1297|1185|1361|1264 1 - Bb5 28.4% 19 | 29 | 2 40.00% 1301|1256|1330|1316 2 - d4 13.1% 7 | 16 | 0 30.43% 1273|1228|1293| - 3 - Nc3 10.2% 10 | 7 | 1 55.56% 1218|1183|1255|1307 4 - c3 5.1% 4 | 4 | 1 44.44% 1214|1147|1279|1220 5 - d3 2.3% 3 | 1 | 0 75.00% 1197|1169|1283| - 6 - h4 0.6% 1 | 0 | 0 100.00% 1145|1145| - | - 7 - c4 0.6% 0 | 1 | 0 0.00% 1238| - |1238| - 8 - b3 0.6% 1 | 0 | 0 100.00% 1194|1194| - | - 9 - Nh4 0.6% 1 | 0 | 0 100.00% 1237|1237| - | - 10 - Be2 0.6% 1 | 0 | 0 100.00% 1222|1222| - | - ------------------------------------------------------------- Which move would you like to expand? (Type "-1" to go back a move, or any other negative number to exit.) Just in case it isn't obvious the aelo, welo, lelo and delo columns give the average elo rating of players who played, won with, lost with and drew with that move respectively.

All you need to do is go to the directories included in the .zip file called
BeautifulSoup
xlwt
xlrd
xlutils
and in each of them type
python setup.py install at the windows command line
So if you put the file in the root directory of your C:\ drive youd want to type the following into a cmd prompt:
cd C:\chess_stats\BeautifulSoup-3.0.8
python setup.py install
cd C:\chess_stats\xlrd-0.7.1
python setup.py install
etc.

I ran chess stats in python it asked what member so I put my name in and it created a folder called tloan with just an empty data.xml document and nothing else (no sign of the excel.xls)

I just tried it on your username on my comp and it seeemed to work fine. My version had some pretty drastic updates which are now posted at dl link:
https://nodeload.github.com/IvanMalison/chess_stats/zipball/master
Thanks for spending the time to get this to work.
I made a little tool in python that allows one to browse their chess.com game history. It allows you to view your win-loss record, average elo etc. when playing an opening of arbitrary length. (If you still don't know what I'm talking about http://www.chess.com/explorer/ ) It stores all the data locally, which means that even non-premium members can accumulate extensive game histories (provided they run the script often enough) Anyway, here is a link to the source code: https://github.com/IvanMalison/chess_stats Direct download: https://nodeload.github.com/IvanMalison/chess_stats/zipball/master Any contributions to the project would be welcomed. I'm happy to help with setup. Just write me a reply.