Releases: Jackenmen/rlapi
Releases · Jackenmen/rlapi
0.8.0b1
First beta release!
This release adds coverage for all of the API's endpoints along with a bunch of refactoring around the bulk endpoint.
Breaking changes:
- The old
Client.get_player()
method has been split:Client.get_player(player_id)
(i.e. with no platform) is now fulfilled byClient.find_player(player_id)
Client.get_player(player_id, platform)
(whereplatform is not None
) is now fulfilled by 2 new methods:Client.get_player_by_id(platform, user_id)
for lookups by ID (all platforms except for Nintendo Switch support this now)Client.get_player_by_name(platform, user_name)
for lookups by user name (all platforms support this, consult Platform Player IDs docs for limitations)
- Additionally, there's now a new method (
Client.get_players()
) for looking up multiple players at once
Player.player_id
has been removed- This field used to contain the unchanged input passed to
Client.get_player()
but this is not really part of the API model and cannot be filled when using the bulk endpoint
- This field used to contain the unchanged input passed to
Features:
- Added a few useful constants to the library:
RANKS
,DIVISIONS
,SEASON_REWARDS
,PLAYLISTS_WITH_SEASON_REWARDS
- Added
Client.get_player_by_id()
,Client.get_player_by_name()
, andClient.find_player()
to replace the removedClient.get_player()
- Added
Client.get_players()
that allows to query multiple player profiles on a single platform at once Player
now includes astats
attribute with player stats (assists, goals, MVPs, etc.)- Added
Client.get_population()
that allows to query population across different platforms and playlists - Added
Client.get_skill_leaderboard()
that allows to query skill leaderboard for the playlist on the given platform - Added
Client.get_stat_leaderboard()
that allows to query leaderboard for the specified stat on the given platform - Added
Client.get_player_titles()
andPlayer.titles()
that allow to query the API for the list of player's titles
Enhancements:
- Added new
lifetime_matches_played
andplacement_matches_played
attributes toPlaylist
instances - Added new
TIER_MAX
andDIVISION_MAX
class constants toPlaylist
- Added new
next_level
attribute toSeasonRewards
instances - Added new
MAX_LEVEL
class constant toSeasonRewards
- Epic players can now be looked up by their display name
- PlayStation and Xbox One players can now be looked up by IDs (provided that you can get it from somewhere)
Platform.ps4
's friendly name is now "PlayStation" rather than "PlayStation 4"
Fixes:
- Fixed collection of tier estimates for max tier in the
rlapi.ext.tier_breakdown.rlstatsnet
module - Fixed inaccurate regex for Nintendo Switch nicknames in
Client.find_player()
which determined whether the library tries to query the API for the given player ID on that platform
Docs:
- Added Platform Player IDs docs listing the identifiers that can be used to lookup a player on each platform, along with the limitations of those lookup methods
0.7.0a1
This release focuses on supporting new Python versions (lxml
bump) and replacing broken tier breakdown parsers with rlstats.net
-based one.
Breaking changes:
- Removed the
rltracker
andtrackernetwork
modules from therlapi.ext.tier_breakdown
package - Dropped support for Python 3.7
Features:
- Added the
rlstatsnet
module torlapi.ext.tier_breakdown
package
Enhancements:
- Library users can now install the
lxml
package in<4.4.2, 6.0)
version range- This should allow installation on Python 3.13
0.6.0a1
This release focuses on migration to the new Rocket League API.
Breaking changes:
- Removed
rlapi.utils
module - Removed
Playlist.tier_max
instance attribute- use
Playlist.TIER_MAX
class attribute instead
- use
platform.value
is now no longer the same asstr(platform)
- The library is now using the new Rocket League API which requires a client ID and secret from Epic Games Developer Portal, instead of the old token.
As a result, following breaking changes have been made:Client
now has 2 required keyword argumentsclient_id
andclient_secret
instead oftoken
.Client.change_token()
has been removed in favor ofClient.update_client_credentials()
Client.get_player()
for Epic Games platform now requires Epic Account ID, instead of Epic Display Name.- This is a limitation of the new API.
Player.user_name
is now only present for PlayStation 4, Xbox One, and Nintendo Switch players.
This change corresponds to the platforms for which the player lookup requires the player's user name.- This is a limitation of the new API.
Player.user_id
is now present for Steam and Epic Games players.
This change corresponds to the platforms for which the player lookup requires the player's user ID.- This is a limitation of the new API.
Features:
- Added
Client.close()
method
Enhancements:
- Library users can now install
aiohttp
in <3.5.4, 4.0) version range - Library users can now install
lxml
in <4.4.2, 5.0) version range
Fixes:
- Fixed casing of the friendly name of the PlayStation 4 platform
0.5.0a1
Features:
- added Epic Games and Nintendo Switch platform
- added Tournaments playlist
- added new ranks
Enhancements:
- lib users can now install
aiohttp
3.7.x andlxml
4.6.x
Fixes:
Player.highest_tier
now only includes the playlists that count towards season rewards- this also fixes the value of
SeasonRewards.can_advance
in relevant cases
- this also fixes the value of
- due to API providing outdated value, a temporary fix for
Playlist.tier_max
has been included in this release - fixed Tracker Network provider module
Docs:
- fixed the issue causing the license headers from rlapi's code to show in the documentation
0.4.1a1
0.4.0a1
This release takes an effort towards making the attribute names more consistent with the Rocket League API.
Breaking changes:
user_id
from the payload is now inPlayer.user_id
and the attribute can beNone
if the payload doesn't contain
user_id
(as is the case for non-Steam players).Player.player_id
now instead contains theplayer_id
as passed toClient.get_player()
.
Enhancements:
- Allow lib users to install
aiohttp
3.6.x andlxml
4.5.x. - Change
typing_extensions
req to only specify minimum version.
0.3.0a1
0.2.2a1
0.2.1a1
0.2.0a1
Breaking changes:
reward_ready
attribute ofrlapi.SeasonRewards
is now calledcan_advance
Enhancements:
- Python 3.8 support
Dependency changes:
- removed
defusedxml
- minimum version of
lxml
is now4.4.2
- added
typing_extensions==3.7.4
(Python 3.7 only)
Misc:
- docs improvements
- we're using black code style now
rlapi
is now typed