Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Version 1.4.3 (2024-02-21)#
Changed#
Every
datetime.datetime
is now timezone aware, using the CodinGame timezone (UTC).ClashOfCode.creation_time
can beNone
because of an API change by CodinGame.
Fixed#
KeyError
was raised when usingClient.get_clash_of_code()
because of an API change by CodinGame.
Removed#
Removed support for python 3.7 as it has reached its end of life. For more information, see PEP 537.
Version 1.4.2 (2023-04-14)#
Fixed#
KeyError
was raised when usingClient.get_challenge_leaderboard()
instead ofNotFound
because of an API change by CodinGame.
Version 1.4.1 (2023-02-11)#
Fixed#
ValueError
when usingClient.get_pending_clash_of_code()
because of a change in datetime format by CodinGame.
Version 1.4.0 (2022-08-19)#
Added#
Removed#
Removed support for python 3.6 as it has reached its end of life. For more information, see PEP 494.
Version 1.3.0 (2022-06-21)#
Added#
Notification.seen
,Notification.seen_date
,Notification.read
andNotification.read_date
.NotificationType
andNotificationTypeGroup
enums forNotification.type
andNotification.type_group
.NotificationData
and subclasses.
Changed#
Deprecated
Notification.creation_time
in favor ofNotification.date
Removed#
Removed
Notification._raw
.
Version 1.2.4 (2022-06-17)#
Fixed#
CodinGamer.get_followers()
andCodinGamer.get_followed()
now work while being logged in as any user, not just as the user you want to get the followers of.
Version 1.2.3 (2021-11-07)#
Fixed#
ImportError
ofcodingame.types
submodule when importingcodingame
, the1.2.1
and1.2.2
fixes don’t work.
Version 1.2.2 (2021-11-06)#
Fixed#
ImportError
ofcodingame.types
submodule when importingcodingame
.
Version 1.2.1 (2021-11-06)#
Fixed#
ModuleNotFoundError
ofcodingame.types
submodule when importingcodingame
.
Version 1.2.0 (2021-11-04)#
Added#
Client.request()
to make requests to CodinGame API services that aren’t implemented yet in the library.
Removed#
codingame.endpoints
submodule.
Version 1.1.0 (2021-11-01)#
Changed#
Update
Client.login()
to bypass captcha on login endpoint with cookie based authentication, see Login.
Version 1.0.1 (2021-07-12)#
Added#
Version 1.0.0 (2021-07-12)#
Added#
Asynchronous client with
Client(is_async=True)
, see About the asynchronous client.Context managers:
# synchronous with Client() as client: client.get_global_leaderboard() #asynchronous async with Client(is_async=True) as client: await client.get_global_leaderboard()
More exceptions:
LoginError
regroups all the exceptions related to login:LoginRequired
,EmailRequired
,MalformedEmail
,PasswordRequired
,EmailNotLinked
andIncorrectPassword
. AndNotFound
regroupsCodinGamerNotFound
,ClashOfCodeNotFound
,ChallengeNotFound
andPuzzleNotFound
ChallengeLeaderboard.has_leagues
andPuzzleLeaderboard.has_leagues
.Notification._raw
.
Changed#
Remove properties like
CodinGamer.followers
in favor of methods likeCodinGamer.get_followers()
to better differentiate API calls and to make it compatible with async API calls. Here’s a list of all of the changed ones:Client.language_ids
->Client.get_language_ids()
Client.notifications
->Client.get_unseen_notifications()
CodinGamer.followers
->CodinGamer.get_followers()
CodinGamer.followers_ids
->CodinGamer.get_followers_ids()
CodinGamer.following
->CodinGamer.get_followed()
CodinGamer.following_ids
->CodinGamer.get_followed_ids()
CodinGamer.clash_of_code_rank
->CodinGamer.get_clash_of_code_rank()
Make all attributes of CodinGame models read-only.
Change type of
ClashOfCode.time_before_start
andClashOfCode.time_before_end
fromfloat
todatetime.timedelta
.Rewrite the way the client works to implement a class to manage the connection state and separate the
Client
that the user uses from the HTTP client that interacts with the API.
Removed#
Remove argument type validation, not my fault if you can’t read the docs.
Version 0.4.0 (2021-06-19)#
Added#
Changed#
Update docs style, code style and tests.
Version 0.3.5 (2020-12-10)#
Added#
Get a user with their user ID in
Client.get_codingamer()
.CodinGamer.followers_ids
andCodinGamer.following_ids
properties to get information about followed users and followers without logging in.CodinGamer.clash_of_code_rank
.
Version 0.3.4 (2020-12-01)#
Added#
Support for python 3.9.
Version 0.3.3 (2020-11-06)#
Added#
Searching for a CodinGamer with their pseudo in
Client.get_codingamer()
.CodinGamer.xp
, thanks @LiJu09 (#3).
Version 0.3.2 (2020-09-23)#
Added#
Changed#
Renamed
Notification.date
toNotification.creation_time
.
Version 0.3.1 (2020-09-20)#
Added#
Client.notifications
property.Notification
class.LoginRequired
exception.
Version 0.3.0 (2020-09-20)#
Added#
Client.language_ids
property.CodinGamer.followers
andCodinGamer.following
properties.
Version 0.2.1 (2020-09-16)#
Added#
Argument type validation.
Version 0.2.0 (2020-09-13)#
Added#
ClashOfCode
andPlayer
classes.ClashOfCodeNotFound
exception.
Changed#
Renamed
Client.codingamer()
toClient.get_codingamer()
.
Version 0.1.0 (2020-09-12)#
Added#
Client
class.Client.codingamer()
method to get a codingamer.CodinGamer
class.CodinGamerNotFound
exception.