Python Wrapper for Chess.com API
Python wrapper for Chess.com Public API
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
All the functions return a
ChessDotComResponse object. The data can be accessed in dictionary format or via attributes.
from chessdotcom import get_player_profile, Client Client.request_config["headers"]["User-Agent"] = ( "My Python Application. " "Contact me at firstname.lastname@example.org" ) response = get_player_profile("fabianocaruana") player_name = response.json['player']['name'] #or player_name = response.player.name
import asyncio from chessdotcom.aio import get_player_profile usernames = ["fabianocaruana", "GMHikaruOnTwitch", "MagnusCarlsen", "GarryKasparov"] cors = [get_player_profile(name) for name in usernames] async def gather_cors(cors): return await asyncio.gather(*cors) responses = asyncio.run(gather_cors(cors))
Managing Rate Limit
The package offers several ways to deal with the rate limit. Every function accepts a
tts parameter which controls the number of seconds the
Client will wait before making the request. This is useful if running a lot of coroutines at once.
cors = [get_player_profile(name, tts = i / 10) for i, name in enumerate(usernames)]
The second method is to adjust the
rate_limit_handler attribute of the
Client.rate_limit_handler.tries = 2 Client.rate_limit_handler.tts = 4
If the initial request gets rate limited the client will automatically retry the request 2 more times with an interval of 4 seconds.
Headers and and other request parameters can be set through the
Client object. Official Chess.com documentation requires adding a
from chessdotcom import Client Client.request_config["headers"]["User-Agent"] = ( "My Python Application. " "Contact me at email@example.com" )
All the methods from the package will now include the header when making a request to the API.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for chess.com-2.1.0-py3-none-any.whl