Skip to main content

Python client for the lichess API

Project description

berserk

https://img.shields.io/pypi/v/berserk.svg https://img.shields.io/travis/rhgrant10/berserk.svg Documentation Status

Python client for the lichess API

Features

  • handles JSON and PGN formats at user’s discretion

  • token auth support provided

  • easy integration with OAuth2

Usage

You can use any requests.Session-like object as a session, including those from requests_oauth. A simple token session is included, as shown below:

import berserk

session = berserk.TokenSession(API_TOKEN)
client = berserk.Client(session=session)

Most if not all of the API is available:

client.account.get
client.account.get_email
client.account.get_preferences
client.account.get_kid_mode
client.account.set_kid_mode
client.account.upgrade_to_bot

client.users.get_puzzle_activity
client.users.get_realtime_statuses
client.users.get_all_top_10
client.users.get_leaderboard
client.users.get_public_data
client.users.get_activity_feed
client.users.get_by_id
client.users.get_live_streamers
client.users.get_users_followed
client.users.get_users_following
client.users.get_rating_history

client.teams.get_members
client.teams.join
client.teams.leave
client.teams.kick_member

client.games.export
client.games.export_by_player
client.games.export_multi
client.games.get_among_players
client.games.get_ongoing
client.games.get_tv_channels

client.challenges.create
client.challenges.accept
client.challenges.decline

client.bots.stream_incoming_events
client.bots.stream_game_state
client.bots.make_move
client.bots.post_message
client.bots.abort_game
client.bots.resign_game
client.bots.accept_challenge
client.bots.decline_challenge

client.tournaments.get
client.tournaments.create
client.tournaments.export_games
client.tournaments.stream_results
client.tournaments.stream_by_creator

client.broadcasts.create
client.broadcasts.get
client.broadcasts.update
client.broadcasts.push_pgn_update

client.simuls.get

client.studies.export_chapter
client.studies.export

Details for each function can be found in the full documentation.

Credits

Authors

Development Lead
Contributors

Miscellaneous

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.8.0 (2020-03-08)

  • Add new Board client: stream_incoming_events, stream_game_state, make_move, post_message, abort_game, and resign_game

0.7.0 (2020-01-26)

  • Add simuls

  • Add studies export and export chapter

  • Add tournament results, games export, and list by creator

  • Add user followers, users following, rating history, and puzzle activity

  • Add new Teams client: join, get members, kick member, and leave

  • Updated documentation, including new docs for some useful utils

  • Fixed bugs in Tournaments.export_games

  • Deprecated Users.get_by_team - use Teams.get_members instead

0.6.1 (2020-01-20)

  • Add py37 to the travis build

  • Update development status classifier to 4 - Beta

  • Fix py36 issue preventing successful build

  • Make updates to the Makefile

0.6.0 (2020-01-20)

  • Add logging to the berserk.session module

  • Fix exception message when no cause

  • Fix bug in Broadcasts.push_pgn_update

  • Update documentation and tweak the theme

0.5.0 (2020-01-20)

  • Add ResponseError for 4xx and 5xx responses with status code, reason, and cause

  • Add ApiError for all other request errors

  • Fix test case broken by 0.4.0 release

  • Put all utils code under test

0.4.0 (2020-01-19)

  • Add support for the broadcast endpoints

  • Add a utility for easily converting API objects into update params

  • Fix multiple bugs with the tournament create endpoint

  • Improve the reusability of some conversion utilities

  • Improve many docstrings in the client classes

0.3.2 (2020-01-04)

  • Fix bug where options not passed for challenge creation

  • Convert requirements from pinned to sematically compatible

  • Bump all developer dependencies

  • Use pytest instead of the older py.test

  • Use py37 in tox

0.3.1 (2018-12-23)

  • Convert datetime string in tournament creation response into datetime object

0.3.0 (2018-12-23)

  • Convert all timestamps to datetime in all responses

  • Provide support for challenging other players to a game

0.2.1 (2018-12-08)

  • Bump requests dependency to >=2.20.0 (CVE-2018-18074)

0.2.0 (2018-12-08)

  • Add position and start_date params to Tournament.create

  • Add Position enum

0.1.2 (2018-07-14)

  • Fix an asine bug in the docs

0.1.1 (2018-07-14)

  • Added tests for session and formats modules

  • Fixed mispelled PgnHandler class (!)

  • Fixed issue with trailing whitespace when splitting multiple PGN texts

  • Fixed the usage overview in the README

  • Fixed the versions for travis-ci

  • Made it easier to test the JsonHandler class

  • Salted the bumpversion config to taste

0.1.0 (2018-07-10)

  • First release on PyPI.

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

berserk-0.8.0.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

berserk-0.8.0-py2.py3-none-any.whl (19.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file berserk-0.8.0.tar.gz.

File metadata

  • Download URL: berserk-0.8.0.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4

File hashes

Hashes for berserk-0.8.0.tar.gz
Algorithm Hash digest
SHA256 7ed55f8e00b043ac7c5f96ef62231a3564e3c54efd2758fb1bbd541aa43fe625
MD5 d90492e7df28c5f71dbb1b334599c241
BLAKE2b-256 837dca6332b8aa17ff24603b5ac7c9f4432397e7bc81c59ae2097dfb33df5d03

See more details on using hashes here.

Provenance

File details

Details for the file berserk-0.8.0-py2.py3-none-any.whl.

File metadata

  • Download URL: berserk-0.8.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4

File hashes

Hashes for berserk-0.8.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b25986f46ae0dadbcabe9cf5e00c2c3d6c56d51516bfc8fb2d3567b517d1b2c2
MD5 80ef6f1709f57e9318aef721892566e9
BLAKE2b-256 dbbed27b949da9011597800ce78e4751dc752b502288d65f7461a110f71ffc97

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page