Asynchronous Python API client for accessing the lichess.org API.


Keywords
api-client, chess, lichess, lichess-api, lichess-python-sdk, python, python-sdk
License
Apache-2.0
Install
pip install async-lichess-sdk==1.1.0.7

Documentation

Lichess Python SDK

This package is meant to be an unofficial Python API Client for lichess.org.
For information about the API please refer to https://lichess.org/api
Every API endpoint uses async Python methods (asyncio).

Installation

Pypi: pip install async-lichess-sdk

Test Pypi: pip install -i https://test.pypi.org/simple/ async-lichess-sdk

Documentation

Auto generated documentation

Sample Notebook

Notebook with all methods

Dependencies

To use this package you need to install all of the dependencies located under requirements.txt.

pip install requirements.txt

Supported python versions: python >= 3.6

How to build

Building script is located under build.sh.
Steps:

sh build.sh
pip install -U .

Implemented Lichess Endpoints

  • account
  • boards
  • bots
  • broadcast
  • challenges
  • games
  • messages
  • relations
  • simulations
  • studies
  • teams
  • tournaments
  • users

Sample usage

Client initialization and usage

import asyncio
from lichess_client import APIClient


async def main():
    client = APIClient(token="your_lichess_account_token")
    response = await client.account.get_my_profile()
    print(response)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

.....

{'metadata': 
    {'method': <RequestMethods.GET: 'GET'>, 
     'url': 'https://lichess.org/api/account/kid', 
     'content_type': 'application/json', 
     'timestamp': b'Fri, 13 Mar 2020 19:05:27 GMT'}, 
 'entity': 
    {'code': 200, 
     'reason': 'OK', 
     'status': <StatusTypes.SUCCESS: 'success'>, 
     'content': {'kid': False}
     }
}

Access to the response properties

print(response.metadata.timestamp)
b'Fri, 13 Mar 2020 19:11:32 GMT'

print(response.entity.content)
{'kid': False}