Python wrapper for Chess.com API which provides public data from the chess.com website. All endpoints provided by Chess.com's API are available in the respectively named methods.
The package requires Python 3.7 or higher.
Install latest version from PyPI: pip install chess.com
- Documentation: readthedocs.org
- Published-Data API: chess.com
All the functions return a ChessDotComResponse
object. The data can be accessed in dictionary format or via attributes.
All functions can be made asynchronous. The package uses aiohttp to send requests to the API.
from chessdotcom import get_player_profile
response = get_player_profile("fabianocaruana")
player_name = response.json['player']['name']
#or
player_name = response.player.name
from asyncio import gather
from chessdotcom.aio import get_player_profile, Client
#or
from chessdotcom import get_player_profile, Client
Client.aio = True
usernames = ["fabianocaruana", "GMHikaruOnTwitch", "MagnusCarlsen", "GarryKasparov"]
cors = [get_player_profile(name) for name in usernames]
responses = Client.loop.run_until_complete(gather(*cors))
important: The API will begin to rate limit the client if too many requests are made at once.
Headers and and other request parameters can be set through the Client
object. Official Chess.com documentation recommends adding a User-Agent
header.
#optional
from chessdotcom import Client
Client.config["headers"]["User-Agent"] = (
"My Python Application. "
"Contact me at email@example.com"
)
All the methods from the module will now include the header when making a request to the API.
- Email me at sarartur.ruk@gmail.com or open a new Issue on Github.