Export your chess.com games using the public API
Project description
chessdotcom_export
Export your chess.com games using the public API. Published-Data API Docs
Installation
Requires python3.6+
To install with pip, run:
pip install chessdotcom-export
Usage
export
chessdotcom_export export --help
Usage: chessdotcom_export export [OPTIONS] USERNAME
Export your chess games
Options:
--help Show this message and exit.
The only required argument is your username, the API serves public data and has no serial rate limit.
inspect
Usage: chessdotcom_export inspect [OPTIONS]
Parse an exported JSON file and interact with it
Options:
-f, --from-file PATH Exported file to read from [required]
--help Show this message and exit.
Example
The games are described in PGN (which can be parsed using the chess package), with the final board state in FEN, also parseable using chess.Board
$ chessdotcom_export export seanbreckenridge >data.json
Requesting https://api.chess.com/pub/player/seanbreckenridge/games/archives
Requesting https://api.chess.com/pub/player/seanbreckenridge/games/2021/01
Requesting https://api.chess.com/pub/player/seanbreckenridge/games/2021/02
$ chessdotcom_export inspect -f data.json
In [1]: import io, chess.pgn
In [2]: game = chess.pgn.read_game(io.StringIO(games[0].pgn))
In [3]: for move in game.mainline_moves():
...: print(move)
...:
e2e4
e7e6
b1c3
d8f6
d2d3
f8c5
d3d4
c5d4
f2f3
Library Usage
You can also run the commands from python:
In [1]: import chessdotcom_export
In [2]: games = list(map(lambda j: chessdotcom_export.Game.from_api_response(j), chessdotcom_export.get_player_games("seanbreckenridge")))
Requesting https://api.chess.com/pub/player/seanbreckenridge/games/archives
Requesting https://api.chess.com/pub/player/seanbreckenridge/games/2021/01
Requesting https://api.chess.com/pub/player/seanbreckenridge/games/2021/02
In [3]: games[0].fen
Out[3]: 'r3k2r/5ppp/1Qp5/p3p2q/K3P3/4BP1N/1PP3PP/R4B1R b kq -'
In [4]: export = chessdotcom_export.from_export("data.json")
In [5]: export[0].fen
Out[5]: 'r3k2r/5ppp/1Qp5/p3p2q/K3P3/4BP1N/1PP3PP/R4B1R b kq -'
Tests
git clone 'https://github.com/seanbreckenridge/chessdotcom_export'
cd ./chessdotcom_export
pip install '.[testing]'
mypy ./chessdotcom_export
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chessdotcom_export-0.1.1.tar.gz.
File metadata
- Download URL: chessdotcom_export-0.1.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9df8b9cb9dacdb5fbf944b6b2fb631f8b61ce844f7042919c5c591119974a6a
|
|
| MD5 |
f58e9393a0bc3d8336896803dfa74221
|
|
| BLAKE2b-256 |
e3a07f31ba14d1bf5d0b06e1fe37f461555f502bb9aef2f07d1e134d832084ec
|
File details
Details for the file chessdotcom_export-0.1.1-py3-none-any.whl.
File metadata
- Download URL: chessdotcom_export-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d234f2ca36cd6aa3fefaf2be095fdeae85da82135b13a4043da05687ae991b97
|
|
| MD5 |
2365ad6524b8ffe5d0a12e1d073cad2a
|
|
| BLAKE2b-256 |
2cba7acd323c5616a3e32b7563ba57624150862d4679b0f9707497415f87f2a4
|